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;