Closed grandizzy closed 1 week ago
@rakita @mattsse @DaniPopes could you please have a look at let me know if the right way to go, if so will follow up on working the random related failures. thank you!
This does not look like a good fit for Revm. Couldn't you add a logic in step_end that would override the sload value?
This does not look like a good fit for Revm. Couldn't you add a logic in step_end that would override the sload value?
yeah, can do that, just wanted to check if somehow needed here too. thank you, going to close this then.
(opening this draft PR to get initial thoughts and if OK to have this impl in revm, thank you!)
Motivation
Re symbolic testing (atm with Kontrol) in foundry https://github.com/foundry-rs/foundry/issues/4072#issuecomment-1456844543
There's a need for a new
freshStorage(address target)
cheatcode where storage of target contract should follow rules below:For example, for a contract like:
a test like the one bellow should result in PASS
Solution
symbolic
bool inAccount
struct, default falseAccount.mark_symbolic
fn to enable symbolic storageJournaledState.sload
generate random value if account newly created and symbolic