Kinto EntryPoint

Deployment Address

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. 1.
    setWalletFactory (Admin only)
Sets the wallet factory address.
function setWalletFactory(address _walletFactory) external;
Parameter
Type
Explanation
_walletFactory
address
The address of the wallet factory.
  1. 2.
    handleOps
Handles an array of user operations.
function handleOps(UserOperation[] calldata ops, address payable beneficiary) public nonReentrant;
Parameter
Type
Explanation
ops
UserOperation[] calldata
Array of user operations.
beneficiary
address payable
Address to receive the fees.
  1. 3.
    handleAggregatedOps
Handles aggregated operations from multiple aggregators.
function handleAggregatedOps(UserOpsPerAggregator[] calldata opsPerAggregator, address payable beneficiary) public nonReentrant;
Parameter
Type
Explanation
opsPerAggregator
UserOpsPerAggregator[] calldata
Array of operations per aggregator.
beneficiary
address payable
Address to receive the fees.
  1. 4.
    getSenderAddress
Gets the address of a sender based on the provided initialization code.
function getSenderAddress(bytes calldata initCode) public;
Parameter
Type
Explanation
initCode
bytes calldata
The initialization code.
  1. 5.
    delegateAndRevert
Delegates a call to another contract and reverts.
function delegateAndRevert(address target, bytes calldata data) external;
Parameter
Type
Explanation
target
address
The target address of the delegatecall.
data
bytes calldata
The data to be sent in the call.

View Function

supportsInterface(bytes4 interfaceId) public view virtual override returns (bool)
getUserOpHash(UserOperation calldata userOp) public view returns (bytes32)

  1. 1.
    supportsInterface
Checks if the contract supports an interface.
function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool);
Parameter
Type
Explanation
interfaceId
bytes4
The interface identifier.
  1. 2.
    getUserOpHash
Gets the hash of a user operation.
function getUserOpHash(UserOperation calldata userOp) public view returns (bytes32);
Parameter
Type
Explanation
userOp
UserOperation calldata
The user operation.

Events

  1. 1.
    FailedOp Emitted when an operation fails.
    event FailedOp(uint256 opIndex, string reason);
  2. 2.
    FailedOpWithRevert Emitted when an operation fails with a revert reason.
    event FailedOpWithRevert(uint256 opIndex, string reason, bytes returnData);
  3. 3.
    PostOpRevertReason Emitted when a post-operation reverts.
    event PostOpRevertReason(bytes32 userOpHash, address sender, uint256 nonce, bytes revertReason);
  4. 4.
    UserOperationRevertReason Emitted when a user operation reverts.
    event UserOperationRevertReason(bytes32 userOpHash, address sender, uint256 nonce, bytes revertReason);
  5. 5.
    AccountDeployed Emitted when an account is deployed.
    event AccountDeployed(bytes32 userOpHash, address sender, address factory, address paymaster);
  6. 6.
    BeforeExecution Emitted before execution of operations.
    event BeforeExecution();
  7. 7.
    SignatureAggregatorChanged Emitted when the signature aggregator is changed.
    event SignatureAggregatorChanged(address aggregator);
  8. 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. 9.
    PostOpReverted Emitted when a post-operation is reverted.
    event PostOpReverted(bytes reason);
  10. 10.
    SenderAddressResult Emitted for the result of getSenderAddress.
    event SenderAddressResult(address sender);
  11. 11.
    DelegateAndRevert Emitted when delegateAndRevert is called.
    event DelegateAndRevert(bool success, bytes ret);