Skip to main content

Errors

Git Source

Title: Errors

Library containing all custom errors emitted by the Sablier Bob protocol.

Errors

BobVaultShare_OnlySablierBob

Thrown when a function is called by an address other than SablierBob.

error BobVaultShare_OnlySablierBob(address caller, address expectedCaller);

BobVaultShare_VaultIdMismatch

Thrown when the provided vault ID does not match the share token's vault ID.

error BobVaultShare_VaultIdMismatch(uint256 providedVaultId, uint256 expectedVaultId);

SablierBob_CallerNotShareToken

Thrown when onShareTransfer is called by an address other than the share token.

error SablierBob_CallerNotShareToken(uint256 vaultId, address caller);

SablierBob_DepositAmountZero

Thrown when depositing zero amount in a vault.

error SablierBob_DepositAmountZero(uint256 vaultId, address user);

SablierBob_ExpiryNotInFuture

Thrown when trying to create a vault with an expiry timestamp not in the future.

error SablierBob_ExpiryNotInFuture(uint40 expiry, uint40 currentTime);

SablierBob_ForbidNativeToken

Thrown when trying to create a vault with the native token.

error SablierBob_ForbidNativeToken(address nativeToken);

SablierBob_InsufficientFeePayment

Thrown when trying to redeem with msg.value less than the minimum fee required.

error SablierBob_InsufficientFeePayment(uint256 feePaid, uint256 feeRequired);

SablierBob_MsgValueNotZero

Thrown when trying to pay a fee in the native token from a vault that uses the adapter.

error SablierBob_MsgValueNotZero(uint256 vaultId);

SablierBob_NativeFeeTransferFailed

Thrown when the native token fee transfer to the comptroller fails.

error SablierBob_NativeFeeTransferFailed();

SablierBob_NativeTokenAlreadySet

Thrown when trying to set the native token address when it is already set.

error SablierBob_NativeTokenAlreadySet(address nativeToken);

SablierBob_NativeTokenZeroAddress

Thrown when trying to set zero address as native token.

error SablierBob_NativeTokenZeroAddress();

SablierBob_NewAdapterMissesInterface

Thrown when the new adapter does not implement the required interface.

error SablierBob_NewAdapterMissesInterface(address adapter);

SablierBob_NoSharesToRedeem

Thrown when trying to exit or redeem with zero share balance.

error SablierBob_NoSharesToRedeem(uint256 vaultId, address user);

SablierBob_TargetPriceZero

Thrown when trying to create a vault with a zero target price.

error SablierBob_TargetPriceZero();

SablierBob_TargetPriceTooLow

Thrown when trying to create a vault with a target price that is not greater than the latest price returned by the oracle.

error SablierBob_TargetPriceTooLow(uint128 targetPrice, uint128 currentPrice);

SablierBob_TokenAddressZero

Thrown when trying to create a vault with a zero token address.

error SablierBob_TokenAddressZero();

SablierBob_UnstakeAmountZero

Thrown when trying to unstake vault tokens using the adapter but the amount staked is zero.

error SablierBob_UnstakeAmountZero(uint256 vaultId);

SablierBob_VaultAlreadyUnstaked

Thrown when trying to unstake vault tokens using the adapter but the vault has already been unstaked.

error SablierBob_VaultAlreadyUnstaked(uint256 vaultId);

SablierBob_VaultHasNoAdapter

Thrown when trying to unstake from a vault that has no adapter configured.

error SablierBob_VaultHasNoAdapter(uint256 vaultId);

SablierBob_VaultNotActive

Thrown when trying to perform an unauthorized action on a non-active vault.

error SablierBob_VaultNotActive(uint256 vaultId);

SablierBob_VaultStillActive

Thrown when trying to perform an unauthorized action on an active vault.

error SablierBob_VaultStillActive(uint256 vaultId);

SablierBobState_Null

Thrown when trying to interact with a non-existent vault.

error SablierBobState_Null(uint256 vaultId);

SablierLidoAdapter_LidoWithdrawalAlreadyRequested

Thrown when trying to request a Lido withdrawal for a vault that has already requested one.

error SablierLidoAdapter_LidoWithdrawalAlreadyRequested(uint256 vaultId);

SablierLidoAdapter_NoWstETHToWithdraw

Thrown when trying to request a Lido withdrawal for a vault with no wstETH.

error SablierLidoAdapter_NoWstETHToWithdraw(uint256 vaultId);

SablierLidoAdapter_OnlySablierBob

Thrown when a function is called by an address other than SablierBob.

error SablierLidoAdapter_OnlySablierBob(address caller, address expectedCaller);

SablierLidoAdapter_OraclePriceZero

Thrown when the stETH/ETH oracle returns a zero price.

error SablierLidoAdapter_OraclePriceZero();

SablierLidoAdapter_SlippageExceeded

Thrown when the Curve swap output is below the minimum acceptable amount.

error SablierLidoAdapter_SlippageExceeded(uint256 expected, uint256 actual);

SablierLidoAdapter_SlippageToleranceTooHigh

Thrown when trying to set a slippage that exceeds the maximum allowed.

error SablierLidoAdapter_SlippageToleranceTooHigh(UD60x18 tolerance, UD60x18 maxTolerance);

SablierLidoAdapter_UserBalanceZero

Thrown when trying to update staked token balance but the user's balance is zero.

error SablierLidoAdapter_UserBalanceZero(uint256 vaultId, address user);

SablierLidoAdapter_VaultActive

Thrown when trying to request a Lido withdrawal for a vault that is active.

error SablierLidoAdapter_VaultActive(uint256 vaultId);

SablierLidoAdapter_VaultAlreadyUnstaked

Thrown when trying to request a Lido withdrawal for a vault that has already been unstaked.

error SablierLidoAdapter_VaultAlreadyUnstaked(uint256 vaultId);

SablierLidoAdapter_WstETHTransferAmountZero

Thrown when the calculated wstETH transfer amount rounds down to zero due to floor division.

error SablierLidoAdapter_WstETHTransferAmountZero(uint256 vaultId, address from, address to);

SablierLidoAdapter_WithdrawalAmountBelowMinimum

Thrown when the total amount to withdraw is below the minimum amount per request.

error SablierLidoAdapter_WithdrawalAmountBelowMinimum(
uint256 vaultId,
uint256 totalAmount,
uint256 minimumAmountPerRequest
);

SablierLidoAdapter_YieldFeeTooHigh

Thrown when trying to set a yield fee that exceeds the maximum allowed.

error SablierLidoAdapter_YieldFeeTooHigh(UD60x18 fee, UD60x18 maxFee);