Open booleanfunction opened 2 hours ago
PS - This is of course only relevant if we track things like st.evm.context.sender
on the stack.
I have also used this type of assert when tracking additional parameters such as say src
and dst
in the WETH transferFrom function. Even if it isn't possible to automate the tracking on these types of parameters (though I do have some ideas!) a placeholder assert would still be convenient; maybe // assert st.Peek(0) ==
(or assert st.Peek(0) ==
to force the user to either delete or complete the assert).
When an address (i.e. that is already
u160
) is masked to ensure it isu160
it is useful to assert that theAndU160
doesn't change the value.This isn't necessary in every case but has helped when specific reference to that address is required in the preconditions of the following block.
For example: