ethereum / hevm

symbolic EVM evaluator
https://hevm.dev
GNU Affero General Public License v3.0
238 stars 48 forks source link

Cancun upgrade #469

Open arcz opened 8 months ago

arcz commented 8 months ago

We need to implement Cancun fork: https://github.com/aalimsahin/execution-specs/blob/master/network-upgrades/mainnet-upgrades/dencun.md

msooseth commented 8 months ago

Hi,

Thanks for packing it all together and creating an issue! Maybe not too hard to implement :)

At the same time, hevm is still far from being even used in the symbolic execution sense :cry: There was a bug where the released binary didn't even work for most people for the past ~6 months, and nobody caught it. That's... bad. So I am a bit conflicted on what to spend time on. If a tree falls in a forest and no one is around to hear it, does it make a sound? I'm not so sure. I'd rather lots of people heard the tree falling, maybe they'd complain, or fix it, or something. So I wanna make this thing more approachable, more usable, easier to access.

What do you think?

no-fee-swap commented 8 months ago

Hi,

Thanks for packing it all together and creating an issue! Maybe not too hard to implement :)

At the same time, hevm is still far from being even used in the symbolic execution sense 😢 There was a bug where the released binary didn't even work for most people for the past ~6 months, and nobody caught it. That's... bad. So I am a bit conflicted on what to spend time on. If a tree falls in a forest and no one is around to hear it, does it make a sound? I'm not so sure. I'd rather lots of people heard the tree falling, maybe they'd complain, or fix it, or something. So I wanna make this thing more approachable, more usable, easier to access.

What do you think?

@msooseth Thanks for the effort. We are heavily relying on hevm. We have been waiting for this so that we can fuzz our smart contracts. Supporting Cancun (at least "tload", "tstore", and "mcopy") would be greatly appreciated. Anxiously waiting. Thank you.

0xalpharush commented 8 months ago

I believe these won't require changes since they pertain to the consensus layer: EIP-7044: Perpetually Valid Signed Voluntary Exits EIP-7045: Increase Max Attestation Inclusion Slot

simon-something commented 4 months ago

Hi, Thanks for packing it all together and creating an issue! Maybe not too hard to implement :) At the same time, hevm is still far from being even used in the symbolic execution sense 😢 There was a bug where the released binary didn't even work for most people for the past ~6 months, and nobody caught it. That's... bad. So I am a bit conflicted on what to spend time on. If a tree falls in a forest and no one is around to hear it, does it make a sound? I'm not so sure. I'd rather lots of people heard the tree falling, maybe they'd complain, or fix it, or something. So I wanna make this thing more approachable, more usable, easier to access. What do you think?

@msooseth Thanks for the effort. We are heavily relying on hevm. We have been waiting for this so that we can fuzz our smart contracts. Supporting Cancun (at least "tload", "tstore", and "mcopy") would be greatly appreciated. Anxiously waiting. Thank you.

First and foremost, thank you for hevm effort @msooseth / EF FV team!

Seconding this answer (and being unfortunately Haskell agnostic, I can't really help beside by voicing my issue), I'm now blocked a bit downstream, when trying to implement echidna property tests for contracts we've wrote using tstore/tload.

msooseth commented 4 months ago

Right, I'll pick some things up here and elsewhere in the issues. I am finally back from my research break so I hopefully can start things moving :)

ethever commented 3 months ago

Hi, any progress about this issue?

msooseth commented 2 months ago

@ethever do you wanna try out the newest main? I think it should work for most cases now.

eilgug commented 1 month ago

@msooseth so is the newest main supporting the MCOPY function now? Is it also supporting new cheat codes by any chance? (for example vm.label(address, name))

arcz commented 1 month ago

@eilgug yes, both things are now implemented in main

msooseth commented 1 month ago

Yes, mostly thanks to @arcz :heart_eyes: