Assessment reports>Mantle>Threat Models>finalizeMantleWithdrawal

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.

Zellic © 2024Back to top ↑