Skip to main content

EthBlocklistErc20Vault

Git Source ↗

Inherits: Initializable ↗, EthErc20Vault →, VaultBlocklist →, IEthBlocklistErc20Vault

Defines the Ethereum staking Vault with blocking and ERC20 ↗ functionality.

Functions

deposit

Deposit ETH to the Vault

function deposit(address receiver, address referrer)
public
payable
virtual
override(IVaultEthStaking, VaultEthStaking)
returns (uint256 shares);

Parameters

NameTypeDescription
receiveraddressThe address that will receive Vault's shares
referreraddressThe address of the referrer. Set to zero address if not used.

Returns

NameTypeDescription
sharesuint256The number of shares minted

receive

Function for depositing using fallback function

receive() external payable virtual override;

mintOsToken

Mints OsToken shares

function mintOsToken(address receiver, uint256 osTokenShares, address referrer)
public
virtual
override(IVaultOsToken, VaultOsToken)
returns (uint256 assets);

Parameters

NameTypeDescription
receiveraddressThe address that will receive the minted OsToken shares
osTokenSharesuint256The number of OsToken shares to mint to the receiver. To mint the maximum amount of shares, use 2^256 - 1.
referreraddressThe address of the referrer

Returns

NameTypeDescription
assetsuint256The number of assets minted to the receiver

transfer

Moves amount tokens from the caller's account to to.

function transfer(address to, uint256 amount) public virtual override(IERC20, ERC20Upgradeable) returns (bool);

transferFrom

Moves amount tokens from from to to using the allowance mechanism. amount is then deducted from the caller's allowance.

function transferFrom(address from, address to, uint256 amount)
public
virtual
override(IERC20, ERC20Upgradeable)
returns (bool);

vaultId

Vault Unique Identifier

function vaultId() public pure virtual override(IVaultVersion, EthErc20Vault) returns (bytes32);

Returns

NameTypeDescription
<none>bytes32The unique identifier of the Vault

version

Version

function version() public pure virtual override(IVaultVersion, EthErc20Vault) returns (uint8);

Returns

NameTypeDescription
<none>uint8The version of the Vault implementation contract