IAccount
Base interface for an ERC-4337 account.
Functions
validateUserOp
*Validates a user operation. MUST validate the caller is a trusted EntryPoint MUST validate that the signature is a valid signature of the userOpHash, and SHOULD return SIG_VALIDATION_FAILED (and not revert) on signature mismatch. Any other error MUST revert. MUST pay the entryPoint (caller) at least the “missingAccountFunds” (which might be zero, in case the current account’s deposit is high enough) Returns an encoded packed validation data that is composed of the following elements:
authorizer(address): 0 for success, 1 for failure, otherwise the address of an authorizer contractvalidUntil(uint48): The UserOp is valid only up to this time. Zero for “infinite”.validAfter(uint48): The UserOp is valid only after this time.*
function validateUserOp(PackedUserOperation calldata userOp, bytes32 userOpHash, uint256 missingAccountFunds)
external
returns (uint256 validationData);