EntryPoint

World Chain Browse chains

0x0000000071727de22e5e9d8baf0edac6f37da032

Solidity v0.8.23+commit.f704f362

🤖
Query this contract from your AI
Reference: 0x0000000071727de22e5e9d8baf0edac6f37da032
Sample prompt: "Tell me the current state of world/0x0000000071727de22e5e9d8baf0edac6f37da032"
No AI wired up yet? → mcp.smarts.md · Browse chains
World Chain is a docs-only chain on Smarts: source code and ABI are indexed, but live on-chain data (state, recent events, admin profile) is not currently available. AI agents can still query get_contract_info and get_contract_source via MCP.

Overview

Read Functions
7
Write Functions
11
Events
12

Read Functions

balanceOf(account: address) view

Return the balance associated with the given account in this contract.✨ AI

Parameters

Name Type Description
account address - The account to query.

Returns

Name Type Description
uint256 - The deposit (for gas payment) of the account.
deposits(address) view

Returns deposit and staking information for the given account.✨ AI

Parameters

Name Type Description
address

Returns

Name Type Description
deposit uint256 deposit: Total deposit balance for the account (wei).✨ AI
staked bool staked: True if the account has an active stake.✨ AI
stake uint112 stake: Amount currently staked by the account (wei).✨ AI
unstakeDelaySec uint32 unstakeDelaySec: Delay in seconds required before staked funds can be withdrawn.✨ AI
withdrawTime uint48 withdrawTime: Unix timestamp when withdrawal becomes allowed; 0 if not scheduled.✨ AI
getDepositInfo(account: address) view

Get deposit and stake details for the specified account.✨ AI

Parameters

Name Type Description
account address - The account to query.

Returns

Name Type Description
info tuple info - Full deposit information of given account.
getNonce(sender: address, key: uint192) view

Return the current nonce associated with a sender and a key.✨ AI

Parameters

Name Type Description
sender address the account address
key uint192 the high 192 bit of the nonce

Returns

Name Type Description
nonce uint256 nonce a full nonce to pass for next UserOp with this sender.
getUserOpHash(userOp: tuple) view

Computes the keccak256 hash of a UserOperation to uniquely identify that operation.✨ AI

Parameters

Name Type Description
userOp tuple - The user operation to generate the request ID for.

Returns

Name Type Description
bytes32 hash the hash of this UserOperation
nonceSequenceNumber(address, uint192) view

Computes the sequence-based nonce for the given account and sequence value.✨ AI

Parameters

Name Type Description
address
uint192

Returns

Name Type Description
uint256 The resulting nonce as a uint256 derived from the account and sequence.✨ AI
supportsInterface(interfaceId: bytes4) view

Checks whether the contract implements the specified interface ID.✨ AI

dev: See {IERC165-supportsInterface}.

Parameters

Name Type Description
interfaceId bytes4 Interface identifier (bytes4) to check support for.✨ AI

Returns

Name Type Description
bool True if the contract implements the interface identified by interfaceId; otherwise false.✨ AI

Write Functions

addStake(unstakeDelaySec: uint32) payable

Adds or increases the contract's stake and sets the minimum unstake delay.✨ AI

Parameters

Name Type Description
unstakeDelaySec uint32 The new lock duration before the deposit can be withdrawn.
delegateAndRevert(target: address, data: bytes) nonpayable

Delegate the provided call to a target contract and then revert using the callee's returned data.✨ AI

dev: calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.

Parameters

Name Type Description
target address a target contract to make a delegatecall from entrypoint
data bytes data to pass to target in a delegatecall
depositTo(account: address) payable

Deposit ETH to the EntryPoint contract and credit the specified account.✨ AI

Parameters

Name Type Description
account address - The account to add to.
getSenderAddress(initCode: bytes) nonpayable

Compute the sender address that would be deployed by the provided initCode without modifying contract state.✨ AI

Parameters

Name Type Description
initCode bytes - The constructor code to be passed into the UserOperation.
handleAggregatedOps(opsPerAggregator: tuple[], beneficiary: address) nonpayable

Processes batches of user operations grouped per aggregator and executes them while crediting the beneficiary.✨ AI

Parameters

Name Type Description
opsPerAggregator tuple[] - The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts).
beneficiary address - The address to receive the fees.
handleOps(ops: tuple[], beneficiary: address) nonpayable

Execute a batch of user operations and transfer collected fees to the beneficiary.✨ AI

Parameters

Name Type Description
ops tuple[] - The operations to execute.
beneficiary address - The address to receive the fees.
incrementNonce(key: uint192) nonpayable

Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to "initialize" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key.

Parameters

Name Type Description
key uint192
innerHandleOp(callData: bytes, opInfo: tuple, context: bytes) nonpayable

Processes a user operation with metadata and context, then returns the actual gas cost.✨ AI

Parameters

Name Type Description
callData bytes - The callData to execute.
opInfo tuple - The UserOpInfo struct.
context bytes - The context bytes.

Returns

Name Type Description
actualGasCost uint256 actualGasCost - the actual cost in eth this UserOperation paid for gas
unlockStake() nonpayable

Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay.

withdrawStake(withdrawAddress: address) nonpayable

Withdraws available stake to the specified withdraw address.✨ AI

Parameters

Name Type Description
withdrawAddress address - The address to send withdrawn value.
withdrawTo(withdrawAddress: address, withdrawAmount: uint256) nonpayable

Transfers up to withdrawAmount of the contract's Ether balance to withdrawAddress.✨ AI

Parameters

Name Type Description
withdrawAddress address - The address to send withdrawn value.
withdrawAmount uint256 - The amount to withdraw.

Events

AccountDeployed(userOpHash: bytes32, sender: address, factory: address, paymaster: address)
Name Type Indexed Description
userOpHash bytes32 - The userOp that deployed this account. UserOperationEvent will follow.
sender address - The account that is deployed
factory address - The factory used to deploy this account (in the initCode)
paymaster address - The paymaster used by this UserOp
BeforeExecution()

An event emitted by handleOps(), before starting the execution loop. Any event emitted before this event, is part of the validation.

Deposited(account: address, totalDeposit: uint256)
Name Type Indexed Description
account address
totalDeposit uint256
PostOpRevertReason(userOpHash: bytes32, sender: address, nonce: uint256, revertReason: bytes)
Name Type Indexed Description
userOpHash bytes32 - The request unique identifier.
sender address - The sender of this request.
nonce uint256 - The nonce used in the request.
revertReason bytes - The return bytes from the (reverted) call to "callData".
SignatureAggregatorChanged(aggregator: address)
Name Type Indexed Description
aggregator address - The aggregator used for the following UserOperationEvents.
StakeLocked(account: address, totalStaked: uint256, unstakeDelaySec: uint256)
Name Type Indexed Description
account address
totalStaked uint256
unstakeDelaySec uint256
StakeUnlocked(account: address, withdrawTime: uint256)
Name Type Indexed Description
account address
withdrawTime uint256
StakeWithdrawn(account: address, withdrawAddress: address, amount: uint256)
Name Type Indexed Description
account address
withdrawAddress address
amount uint256
UserOperationEvent(userOpHash: bytes32, sender: address, paymaster: address, nonce: uint256, success: bool, actualGasCost: uint256, actualGasUsed: uint256)
Name Type Indexed Description
userOpHash bytes32 - Unique identifier for the request (hash its entire content, except signature).
sender address - The account that generates this request.
paymaster address - If non-null, the paymaster that pays for this request.
nonce uint256 - The nonce value from the request.
success bool - True if the sender transaction succeeded, false if reverted.
actualGasCost uint256 - Actual amount paid (by account or paymaster) for this UserOperation.
actualGasUsed uint256 - Total gas used by this UserOperation (including preVerification, creation, validation and execution).
UserOperationPrefundTooLow(userOpHash: bytes32, sender: address, nonce: uint256)
Name Type Indexed Description
userOpHash bytes32 - The request unique identifier.
sender address - The sender of this request.
nonce uint256 - The nonce used in the request.
UserOperationRevertReason(userOpHash: bytes32, sender: address, nonce: uint256, revertReason: bytes)
Name Type Indexed Description
userOpHash bytes32 - The request unique identifier.
sender address - The sender of this request.
nonce uint256 - The nonce used in the request.
revertReason bytes - The return bytes from the (reverted) call to "callData".
Withdrawn(account: address, withdrawAddress: address, amount: uint256)
Name Type Indexed Description
account address
withdrawAddress address
amount uint256