Function: execute(address dest, uint256 value, byte[] func)
Executes a transaction (called directly by entryPoint).
Inputs
destControl: Fully controlled by the user.
Constraints: N/A.
Impact: The address of the target contract to call.
valueControl: Fully controlled by the user.
Constraints: N/A.
Impact: The amount of Wei (ETH) to send along with the call.
funcControl: Fully controlled by the user.
Constraints: N/A.
Impact: The calldata to send to the target contract.
Branches and code coverage (including function calls)
Intended branches
Tests that the account can run
executecorrectly.
Negative behavior
Tests that the account reverts when running
executefrom a non-entryPoint.
Function call analysis
execute -> _call(address target, uint256 value, bytes memory data) -> target.call{value: value}(data)What is controllable?
target,value, anddata.If return value controllable, how is it used and how can it go wrong? N/A.
What happens if it reverts, reenters, or does other unusual control flow? If there is a reentry attempt, the function will revert because the
executemethod is called from a non-entryPoint.