Closed ggballas closed 1 year ago
Yes exactly, we are not doing sym exec on function calls otherwise It will explode the complexity. I will also not give proper results since those function calls may be dependent on user inputs. The solution is actually to "simulate" the result of the function call by using the constraint.
we will make a detailed tutorial soon ;)
This function:
calls this function:
When asking thoth to give a possible solution for the function
assert_not_zero()
forv12
, it spits out1
(which makes sense, becausev12
can't be zero):but when attempting to achieve the same result by calling it on the function
change_signer()
forv592_callers_function_frame
, it gives0
as a possible solution:(the variable appears as
v592
in theassignations
output and not asv592_callers_function_frame
, which is why it was called that in the command).This leads me to conclude that the sym exec doesn't run inside function calls. Is this on purpose? Or is this a bug?