Skip to main content

ISablierBobState

Git Source

Title: ISablierBobState

Contract with state variables for the SablierBob contract, their respective getters and modifiers.

Functions

getAdapter

Returns the adapter configured for a specific vault.

Reverts if vaultId references a null vault.

function getAdapter(uint256 vaultId) external view returns (ISablierBobAdapter adapter);

getDefaultAdapterFor

Returns the default adapter for a given token.

Zero address means no adapter is set.

function getDefaultAdapterFor(IERC20 token) external view returns (ISablierBobAdapter adapter);

Parameters

NameTypeDescription
tokenIERC20The ERC-20 token to query the default adapter for.

Returns

NameTypeDescription
adapterISablierBobAdapterThe default adapter for the token.

getExpiry

Returns the timestamp when the vault expires.

Reverts if vaultId references a null vault.

function getExpiry(uint256 vaultId) external view returns (uint40 expiry);

getLastSyncedAt

Returns the timestamp when the oracle price was last synced for a vault.

Reverts if vaultId references a null vault.

function getLastSyncedAt(uint256 vaultId) external view returns (uint40 lastSyncedAt);

getLastSyncedPrice

Returns the oracle price stored for a vault.

Reverts if vaultId references a null vault.

function getLastSyncedPrice(uint256 vaultId) external view returns (uint128 lastSyncedPrice);

getOracle

Returns the oracle address set for a vault.

Reverts if vaultId references a null vault.

function getOracle(uint256 vaultId) external view returns (AggregatorV3Interface oracle);

getShareToken

Returns the address of the ERC-20 share token for a vault.

Reverts if vaultId references a null vault.

function getShareToken(uint256 vaultId) external view returns (IBobVaultShare shareToken);

getTargetPrice

Returns the target price at which the vault settles.

Reverts if vaultId references a null vault.

function getTargetPrice(uint256 vaultId) external view returns (uint128 targetPrice);

getUnderlyingToken

Returns the ERC-20 token accepted for deposits in a vault.

Reverts if vaultId references a null vault.

function getUnderlyingToken(uint256 vaultId) external view returns (IERC20 token);

isStakedInAdapter

Returns whether the vault tokens are staked in an adapter.

Reverts if vaultId references a null vault.

function isStakedInAdapter(uint256 vaultId) external view returns (bool stakedInAdapter);

nativeToken

Retrieves the address of the ERC-20 interface of the native token, if it exists.

The native tokens on some chains have a dual interface as ERC-20. For example, on Polygon the $POL token is the native token and has an ERC-20 version at 0x0000000000000000000000000000000000001010. This means that address(this).balance returns the same value as balanceOf(address(this)). To avoid any unintended behavior, these tokens cannot be used in Sablier. As an alternative, users can use the Wrapped version of the token, i.e. WMATIC, which is a standard ERC-20 token.

function nativeToken() external view returns (address);

nextVaultId

Counter for vault IDs, incremented every time a new vault is created.

function nextVaultId() external view returns (uint256);

statusOf

Returns the vault status.

Reverts if vaultId references a null vault.

function statusOf(uint256 vaultId) external view returns (Bob.Status status);