Function: finalizeMantleWithdrawal(address _from, address _to, uint256 _amount, byte[] _data)
Finalizes withdrawal of Mantle tokens from L2 to L1.
Inputs
_from
Control: User.
Constraints: Discarded.
Impact: The address from which withdrawal is conducted.
_to
Control: User.
Constraints: Discarded.
Impact: The address to which withdrawal is conducted.
_amount
Control: User.
Constraints: Discarded.
Impact: The amount of tokens to be withdrawn.
_data
Control: User.
Constraints: Discarded.
Impact: Data associated with the transaction.
Branches and code coverage (including function calls)
Intended branches
Successfully finalizes withdrawal if all conditions are met.
Function call analysis
finalizeMantleWithdrawal -> finalizeERC20Withdrawal(l1MantleAddress, Lib_PredeployAddresses.BVM_MANTLE, _from, _to, _amount, _data)
What is controllable?
_from_
,_to
,_amount
, and_data
.If return value controllable, how is it used and how can it go wrong? Discarded.
What happens if it reverts, reenters, or does other unusual control flow? Discarded.