Kinto EntryPoint

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

  1. setWalletFactory (Admin only)

Sets the wallet factory address.

function setWalletFactory(address _walletFactory) external;
  1. handleOps

Handles an array of user operations.

function handleOps(UserOperation[] calldata ops, address payable beneficiary) public nonReentrant;
  1. handleAggregatedOps

Handles aggregated operations from multiple aggregators.

function handleAggregatedOps(UserOpsPerAggregator[] calldata opsPerAggregator, address payable beneficiary) public nonReentrant;
  1. getSenderAddress

Gets the address of a sender based on the provided initialization code.

function getSenderAddress(bytes calldata initCode) public;
  1. delegateAndRevert

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)

  1. supportsInterface

Checks if the contract supports an interface.

function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool);
  1. getUserOpHash

Gets the hash of a user operation.

function getUserOpHash(UserOperation calldata userOp) public view returns (bytes32);

Events

  1. FailedOp Emitted when an operation fails.

    event FailedOp(uint256 opIndex, string reason);
  2. FailedOpWithRevert Emitted when an operation fails with a revert reason.

    event FailedOpWithRevert(uint256 opIndex, string reason, bytes returnData);
  3. PostOpRevertReason Emitted when a post-operation reverts.

    event PostOpRevertReason(bytes32 userOpHash, address sender, uint256 nonce, bytes revertReason);
  4. UserOperationRevertReason Emitted when a user operation reverts.

    event UserOperationRevertReason(bytes32 userOpHash, address sender, uint256 nonce, bytes revertReason);
  5. AccountDeployed Emitted when an account is deployed.

    event AccountDeployed(bytes32 userOpHash, address sender, address factory, address paymaster);
  6. BeforeExecution Emitted before execution of operations.

    event BeforeExecution();
  7. SignatureAggregatorChanged Emitted when the signature aggregator is changed.

    event SignatureAggregatorChanged(address aggregator);
  8. UserOperationEvent Emitted for each user operation event.

    event UserOperationEvent(bytes32 userOpHash, address sender, address paymaster, uint256 nonce, bool success, uint256 actualGasCost, uint256 actualGas);
  9. PostOpReverted Emitted when a post-operation is reverted.

    event PostOpReverted(bytes reason);
  10. SenderAddressResult Emitted for the result of getSenderAddress.

    event SenderAddressResult(address sender);
  11. DelegateAndRevert Emitted when delegateAndRevert is called.

    event DelegateAndRevert(bool success, bytes ret);

Last updated