Open bmarwritescode opened 4 years ago
This is expected as seen from the error message. I will add it as an enhancement instead of a bug, as VeriSol has tried to consciously stay away from low-level calls. We supported call("") as it is a common method for sending ether with adjustable gas budget.
Summary
When trying to use the
call
function with any non-empty arguments (i.e. anything not""
), Verisol throws an error.Minimal Example
I run this example with the following command:
dotnet Binaries/VeriSol.dll ./CallError.sol CallError /omitAxioms /omitSourceLineInfo /omitUnsignedSemantics /omitDataValuesInTrace
And get the following error:
VeriSol translation error: File , Line -1, Contract CallError, Function errorTest:: low-level call statements with non-empty signature not implemented......
If you replace
address(nameReg).call(data)
withaddress(nameReg).call("");
, Verisol does not throw any error.