act hevm fails to prove Pass claim when Payable keyword is missing
koolexcrypto opened this issue · 3 comments
koolexcrypto commented
If you run
act hevm
with the following example:
https://github.com/d-xo/act-examples/blob/main/src/simple.sol
You get
Failed to prove set(Pass)
Is there a reason why would we need this in a simple set function?
d-xo commented
If you remove the payable
then you also need to update the spec to reflect this.
If you add a block like this:
iff
CALLVALUE == 0
to the spec after removing the payable from the solidity source, then I think act hevm should show them to be equivalent again.
koolexcrypto commented
@d-xo
Thank you! I wasn't aware of this. I assumed by default the value is zero. but it doesn't seem the case here .
I am gonna try this out and give an update here later
koolexcrypto commented
I confirm that after adding
iff
CALLVALUE == 0
It works!
Thank you again!