Errors
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);