Assessment reports>Token Paymaster>Threat Models>_validatePaymasterUserOp

Function: _validatePaymasterUserOp(UserOperation calldata userOp, bytes32 userOpHash, uint256 requiredPreFund)

This function is used to verify that the UserOperation's Paymaster data were signed by the external signer.

Inputs

  • userOp

    • Control: Fully controlled by user.

    • Constraints: All fields are used in signature validation and thus must be valid.

    • Impact: This is the UserOperation being validated.

  • userOpHash

    • Control: Not controlled by user.

    • Constraints: N/A.

    • Impact: This is returned as part of the context structure.

  • requiredPreFund

    • Control: Not controlled by user.

    • Constraints: N/A.

    • Impact: This is the required amount of prefunding for the paymaster.

Branches and code coverage (including function calls)

Intended branches

  • Succeeds with valid gas limit, userOp, and requiredPrefund.

Negative behavior

  • Invalid signature causes error to be returned.

  • Insufficient requiredPrefund revert.

  • Parsing the Paymaster data causes revert.

Zellic © 2024Back to top ↑