-
Notifications
You must be signed in to change notification settings - Fork 2
Closed
Description
We can have the leader and follower implementations be the same and that should pass for all tests. The code base is close to allowing this, some small things to iron out:
- The nonce is just set to 0 all the time. Either change to query the node or better track it and supply it directly. Adding a method
fetch_add_nonceto theNodeInteractiontrait which internally tracks it could be an option. However right now the node pool is a simple round-robbin without locking, so there's a chance the nonce is not in sequence. This could also be changed to ensure contiguous nonces. - Implement some very basic differential verification in the test driver (in simple terms, in
fn execute_inputassert that both diff structures received from thetrace_transactionare equal for every transaction and the receipts contain the same events and output). - Sometimes the Matter Labs test cases don't explicitly deploy the contract to be tested. In that case, try to deploy it with empty constructor calldata.
- If the calldata contain references to other contract addresses, they need to be looked up. This also means that deployed contracts (at least their addresses) must be inserted into the
Statedeployed_contractsmapping. - Some tests use callers for which we don't have a private key, need to think about what we can do here (obvious solution seems to just change those tests if they allow it).
- Certain tests require a specific version of the solc compiler. We need a way to detect the version that they require and provide them with that version.
- Certain tests make use of libraries and they require these libraries to be first deployed and then dynamically linked into the contract source code before the contracts are deployed. We need to handle linking.
- There might be problems and missing things I am not aware of which need fixing too.
Metadata
Metadata
Assignees
Labels
No labels