a16z / halmos

A symbolic testing tool for EVM smart contracts
GNU Affero General Public License v3.0
815 stars 68 forks source link

feat: add support for new symbolic-friendly vm cheatcodes #365

Open karmacoma-eth opened 1 month ago

karmacoma-eth commented 1 month ago

https://github.com/foundry-rs/foundry/pull/8807 https://github.com/foundry-rs/foundry/pull/8882

we may want to replace our custom svm.enableSymbolicStorage(address) with the equivalent (but foundy and kontrol-compatible) vm.setArbitraryStorage(address target)

pillip commented 3 weeks ago

@karmacoma-eth @daejunpark Can I take on this issue and work on it?

daejunpark commented 3 weeks ago

sure, that sounds great! thank you, @pillip!

for backward compatibility, i suggest introducing the new cheatcodes as aliases to the existing ones:

please note that copyStorage and mockFunction are not currently supported, so they are outside the scope of this.