Deployment Address
**Mainnet: ** 0x2843C269D2a64eCfA63548E8B3Fc0FD23B7F70cb
Code: EntryPoint.sol
Basics
Serves as a single EntryPoint implementation for Account Abstraction (EIP-4337).
Manages user operations, including validation, execution, and compensation for operations.
Supports aggregated operations from multiple aggregators.
Implements functionalities related to stake management and nonce management.
Provides interface support checks and utilities for handling delegate calls and reverts
State Functions
setWalletFactory(address _walletFactory) external
handleOps(UserOperation[] calldata ops, address payable beneficiary) public nonReentrant
handleAggregatedOps(UserOpsPerAggregator[] calldata opsPerAggregator, address payable beneficiary) public nonReentrant
getSenderAddress(bytes calldata initCode) public
delegateAndRevert(address target, bytes calldata data) external
setWalletFactory (Admin only)
Sets the wallet factory address.
function setWalletFactory(address _walletFactory) external;
Handles an array of user operations.
function handleOps(UserOperation[] calldata ops, address payable beneficiary) public nonReentrant;
Handles aggregated operations from multiple aggregators.
function handleAggregatedOps(UserOpsPerAggregator[] calldata opsPerAggregator, address payable beneficiary) public nonReentrant;
Gets the address of a sender based on the provided initialization code.
function getSenderAddress(bytes calldata initCode) public;
Delegates a call to another contract and reverts.
function delegateAndRevert(address target, bytes calldata data) external;
View Function
supportsInterface(bytes4 interfaceId) public view virtual override returns (bool)
getUserOpHash(UserOperation calldata userOp) public view returns (bytes32)
Checks if the contract supports an interface.
function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool);
Gets the hash of a user operation.
function getUserOpHash(UserOperation calldata userOp) public view returns (bytes32);
Events
FailedOp Emitted when an operation fails.
event FailedOp(uint256 opIndex, string reason);
FailedOpWithRevert Emitted when an operation fails with a revert reason.
event FailedOpWithRevert(uint256 opIndex, string reason, bytes returnData);
PostOpRevertReason Emitted when a post-operation reverts.
event PostOpRevertReason(bytes32 userOpHash, address sender, uint256 nonce, bytes revertReason);
UserOperationRevertReason Emitted when a user operation reverts.
event UserOperationRevertReason(bytes32 userOpHash, address sender, uint256 nonce, bytes revertReason);
AccountDeployed Emitted when an account is deployed.
event AccountDeployed(bytes32 userOpHash, address sender, address factory, address paymaster);
BeforeExecution Emitted before execution of operations.
event BeforeExecution();
SignatureAggregatorChanged Emitted when the signature aggregator is changed.
event SignatureAggregatorChanged(address aggregator);
UserOperationEvent Emitted for each user operation event.
event UserOperationEvent(bytes32 userOpHash, address sender, address paymaster, uint256 nonce, bool success, uint256 actualGasCost, uint256 actualGas);
PostOpReverted Emitted when a post-operation is reverted.
event PostOpReverted(bytes reason);
SenderAddressResult Emitted for the result of getSenderAddress
.
event SenderAddressResult(address sender);
DelegateAndRevert Emitted when delegateAndRevert
is called.
event DelegateAndRevert(bool success, bytes ret);
Last updated