Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

IEntryPointStake

Handle stake management for entities (i.e. accounts, paymasters, factories). The EntryPoint must implement the following API to let entities like paymasters have a stake, and thus have more flexibility in their storage access (see https://eips.ethereum.org/EIPS/eip-4337#reputation-scoring-and-throttlingbanning-for-global-entities[reputation, throttling and banning.])

Functions

balanceOf

Returns the balance of the account.

function balanceOf(address account) external view returns (uint256);

depositTo

Deposits msg.value to the account.

function depositTo(address account) external payable;

withdrawTo

Withdraws withdrawAmount from the account to withdrawAddress.

function withdrawTo(address payable withdrawAddress, uint256 withdrawAmount) external;

addStake

Adds stake to the account with an unstake delay of unstakeDelaySec.

function addStake(uint32 unstakeDelaySec) external payable;

unlockStake

Unlocks the stake of the account.

function unlockStake() external;

withdrawStake

Withdraws the stake of the account to withdrawAddress.

function withdrawStake(address payable withdrawAddress) external;