Espresso Vault

EspressoVault manages deposits of ESP into an Espresso validator delegation contract.

View Functions

token

Returns the address of the staking token (ESP).

function token() public view returns (address)

Return Values

Name
Type
Description

token

address

ESP token address

vaultController

Returns the address of the strategy that controls this vault.

function vaultController() public view returns (address)

Return Values

Name
Type
Description

vaultController

address

Vault controller address

espressoStaking

Returns the address of the Espresso delegation contract.

Return Values

Name
Type
Description

espressoStaking

address

Espresso delegation contract address

espressoRewards

Returns the address of the Espresso rewards contract.

Return Values

Name
Type
Description

espressoRewards

address

Espresso rewards contract address

validator

Returns the address of the validator that this vault delegates to.

Return Values

Name
Type
Description

validator

address

Validator address

getTotalDeposits

Returns the total balance of this contract (principal, rewards, queued withdrawals, and tokens held).

Return Values

Name
Type
Description

totalDeposits

uint256

Total balance

getPrincipalDeposits

Returns the principal balance of this contract in the validator pool.

Return Values

Name
Type
Description

principalDeposits

uint256

Principal balance

getRewards

Returns the claimable rewards balance of this contract in the validator pool.

Return Values

Name
Type
Description

rewards

uint256

Claimable rewards

getQueuedWithdrawals

Returns the amount of queued withdrawals for this contract in the validator pool.

Return Values

Name
Type
Description

queuedWithdrawals

uint256

Queued withdrawals

isWithdrawable

Returns whether deposits can be withdrawn from the validator pool.

Return Values

Name
Type
Description

withdrawable

bool

true if withdrawable, false otherwise

isUnbonding

Returns whether this vault is currently unbonding.

Return Values

Name
Type
Description

unbonding

bool

true if unbonding, false otherwise

isActive

Returns whether the validator this vault delegates to is active.

Return Values

Name
Type
Description

active

bool

true if active, false otherwise

exitIsWithdrawable

Returns whether deposits can be withdrawn from the pool for an inactive validator.

Return Values

Name
Type
Description

withdrawable

bool

true if withdrawable, false otherwise

Write Functions

deposit

Deposits tokens from the vault controller into the validator pool.

Parameters

Name
Type
Description

_amount

uint256

Amount to deposit

withdraw

Withdraws tokens from the validator pool and sends them to the vault controller.

Return Values

Name
Type
Description

amount

uint256

Amount withdrawn

unbond

Queues tokens for withdrawal in the validator pool.

Parameters

Name
Type
Description

_amount

uint256

Amount to unbond

restakeRewards

Restakes rewards in the validator pool.

Parameters

Name
Type
Description

_lifetimeRewards

uint256

Total lifetime rewards for vault

_authData

bytes

Authorization data for claiming

withdrawRewards

Claims rewards from the validator pool and transfers them to the vault controller.

Parameters

Name
Type
Description

_lifetimeRewards

uint256

Total lifetime rewards for vault

_authData

bytes

Authorization data for claiming

updateLifetimeRewards

Updates the lifetime rewards tracking for this vault. Used to sync lifetime rewards which is fetched off chain.

Parameters

Name
Type
Description

_lifetimeRewards

uint256

New lifetime rewards value

claimValidatorExit

Withdraws tokens from the validator pool when a validator has exited, and sends them to the vault controller.

Last updated