Skip to main content

Errors

Git Source

Library containing all custom errors the protocol may revert with.

Errors

BatchError

Thrown when an unexpected error occurs during a batch call.

error BatchError(bytes errorData);

CallerNotAdmin

Thrown when msg.sender is not the admin.

error CallerNotAdmin(address admin, address caller);

DelegateCall

Thrown when trying to delegate call to a function that disallows delegate calls.

error DelegateCall();

SablierBatchLockup_BatchSizeZero

error SablierBatchLockup_BatchSizeZero();

LockupNFTDescriptor_UnknownNFT

Thrown when trying to generate the token URI for an unknown ERC-721 NFT contract.

error LockupNFTDescriptor_UnknownNFT(IERC721Metadata nft, string symbol);

SablierHelpers_BrokerFeeTooHigh

Thrown when the broker fee exceeds the maximum allowed fee.

error SablierHelpers_BrokerFeeTooHigh(UD60x18 brokerFee, UD60x18 maxBrokerFee);

SablierHelpers_CliffTimeNotLessThanEndTime

Thrown when trying to create a linear stream with a cliff time not strictly less than the end time.

error SablierHelpers_CliffTimeNotLessThanEndTime(uint40 cliffTime, uint40 endTime);

SablierHelpers_CliffTimeZeroUnlockAmountNotZero

Thrown when trying to create a stream with a non zero cliff unlock amount when the cliff time is zero.

error SablierHelpers_CliffTimeZeroUnlockAmountNotZero(uint128 cliffUnlockAmount);

SablierHelpers_DepositAmountNotEqualToSegmentAmountsSum

Thrown when trying to create a dynamic stream with a deposit amount not equal to the sum of the segment amounts.

error SablierHelpers_DepositAmountNotEqualToSegmentAmountsSum(uint128 depositAmount, uint128 segmentAmountsSum);

SablierHelpers_DepositAmountNotEqualToTrancheAmountsSum

Thrown when trying to create a tranched stream with a deposit amount not equal to the sum of the tranche amounts.

error SablierHelpers_DepositAmountNotEqualToTrancheAmountsSum(uint128 depositAmount, uint128 trancheAmountsSum);

SablierHelpers_DepositAmountZero

Thrown when trying to create a stream with a zero deposit amount.

error SablierHelpers_DepositAmountZero();

SablierHelpers_EndTimeNotEqualToLastSegmentTimestamp

Thrown when trying to create a dynamic stream with end time not equal to the last segment's timestamp.

error SablierHelpers_EndTimeNotEqualToLastSegmentTimestamp(uint40 endTime, uint40 lastSegmentTimestamp);

SablierHelpers_EndTimeNotEqualToLastTrancheTimestamp

Thrown when trying to create a tranched stream with end time not equal to the last tranche's timestamp.

error SablierHelpers_EndTimeNotEqualToLastTrancheTimestamp(uint40 endTime, uint40 lastTrancheTimestamp);

SablierHelpers_SegmentCountTooHigh

Thrown when trying to create a dynamic stream with more segments than the maximum allowed.

error SablierHelpers_SegmentCountTooHigh(uint256 count);

SablierHelpers_SegmentCountZero

Thrown when trying to create a dynamic stream with no segments.

error SablierHelpers_SegmentCountZero();

SablierHelpers_SegmentTimestampsNotOrdered

Thrown when trying to create a dynamic stream with unordered segment timestamps.

error SablierHelpers_SegmentTimestampsNotOrdered(uint256 index, uint40 previousTimestamp, uint40 currentTimestamp);

SablierHelpers_SenderZeroAddress

Thrown when trying to create a stream with the sender as the zero address.

error SablierHelpers_SenderZeroAddress();

SablierHelpers_ShapeExceeds32Bytes

Thrown when trying to create a stream with a shape string exceeding 32 bytes.

error SablierHelpers_ShapeExceeds32Bytes(uint256 shapeLength);

SablierHelpers_StartTimeNotLessThanCliffTime

Thrown when trying to create a linear stream with a start time not strictly less than the cliff time, when the cliff time does not have a zero value.

error SablierHelpers_StartTimeNotLessThanCliffTime(uint40 startTime, uint40 cliffTime);

SablierHelpers_StartTimeNotLessThanEndTime

Thrown when trying to create a linear stream with a start time not strictly less than the end time.

error SablierHelpers_StartTimeNotLessThanEndTime(uint40 startTime, uint40 endTime);

SablierHelpers_StartTimeNotLessThanFirstSegmentTimestamp

Thrown when trying to create a dynamic stream with a start time not strictly less than the first segment timestamp.

error SablierHelpers_StartTimeNotLessThanFirstSegmentTimestamp(uint40 startTime, uint40 firstSegmentTimestamp);

SablierHelpers_StartTimeNotLessThanFirstTrancheTimestamp

Thrown when trying to create a tranched stream with a start time not strictly less than the first tranche timestamp.

error SablierHelpers_StartTimeNotLessThanFirstTrancheTimestamp(uint40 startTime, uint40 firstTrancheTimestamp);

SablierHelpers_StartTimeZero

Thrown when trying to create a stream with a zero start time.

error SablierHelpers_StartTimeZero();

SablierHelpers_TrancheCountTooHigh

Thrown when trying to create a tranched stream with more tranches than the maximum allowed.

error SablierHelpers_TrancheCountTooHigh(uint256 count);

SablierHelpers_TrancheCountZero

Thrown when trying to create a tranched stream with no tranches.

error SablierHelpers_TrancheCountZero();

SablierHelpers_TrancheTimestampsNotOrdered

Thrown when trying to create a tranched stream with unordered tranche timestamps.

error SablierHelpers_TrancheTimestampsNotOrdered(uint256 index, uint40 previousTimestamp, uint40 currentTimestamp);

SablierHelpers_UnlockAmountsSumTooHigh

Thrown when trying to create a stream with the sum of the unlock amounts greater than the deposit amount.

error SablierHelpers_UnlockAmountsSumTooHigh(
uint128 depositAmount, uint128 startUnlockAmount, uint128 cliffUnlockAmount
);

SablierLockupBase_AllowToHookUnsupportedInterface

Thrown when trying to allow to hook a contract that doesn't implement the interface correctly.

error SablierLockupBase_AllowToHookUnsupportedInterface(address recipient);

SablierLockupBase_AllowToHookZeroCodeSize

Thrown when trying to allow to hook an address with no code.

error SablierLockupBase_AllowToHookZeroCodeSize(address recipient);

SablierLockupBase_FeeTransferFail

Thrown when the fee transfer fails.

error SablierLockupBase_FeeTransferFail(address admin, uint256 feeAmount);

SablierLockupBase_InvalidHookSelector

Thrown when the hook does not return the correct selector.

error SablierLockupBase_InvalidHookSelector(address recipient);

SablierLockupBase_NotTransferable

Thrown when trying to transfer Stream NFT when transferability is disabled.

error SablierLockupBase_NotTransferable(uint256 tokenId);

SablierLockupBase_Null

Thrown when the ID references a null stream.

error SablierLockupBase_Null(uint256 streamId);

SablierLockupBase_Overdraw

Thrown when trying to withdraw an amount greater than the withdrawable amount.

error SablierLockupBase_Overdraw(uint256 streamId, uint128 amount, uint128 withdrawableAmount);

SablierLockupBase_StreamCanceled

Thrown when trying to cancel or renounce a canceled stream.

error SablierLockupBase_StreamCanceled(uint256 streamId);

SablierLockupBase_StreamDepleted

Thrown when trying to cancel, renounce, or withdraw from a depleted stream.

error SablierLockupBase_StreamDepleted(uint256 streamId);

SablierLockupBase_StreamNotCancelable

Thrown when trying to cancel or renounce a stream that is not cancelable.

error SablierLockupBase_StreamNotCancelable(uint256 streamId);

SablierLockupBase_StreamNotDepleted

Thrown when trying to burn a stream that is not depleted.

error SablierLockupBase_StreamNotDepleted(uint256 streamId);

SablierLockupBase_StreamSettled

Thrown when trying to cancel or renounce a settled stream.

error SablierLockupBase_StreamSettled(uint256 streamId);

SablierLockupBase_Unauthorized

Thrown when msg.sender lacks authorization to perform an action.

error SablierLockupBase_Unauthorized(uint256 streamId, address caller);

SablierLockupBase_WithdrawalAddressNotRecipient

Thrown when trying to withdraw to an address other than the recipient's.

error SablierLockupBase_WithdrawalAddressNotRecipient(uint256 streamId, address caller, address to);

SablierLockupBase_WithdrawAmountZero

Thrown when trying to withdraw zero tokens from a stream.

error SablierLockupBase_WithdrawAmountZero(uint256 streamId);

SablierLockupBase_WithdrawArrayCountsNotEqual

Thrown when trying to withdraw from multiple streams and the number of stream IDs does not match the number of withdraw amounts.

error SablierLockupBase_WithdrawArrayCountsNotEqual(uint256 streamIdsCount, uint256 amountsCount);

SablierLockupBase_WithdrawToZeroAddress

Thrown when trying to withdraw to the zero address.

error SablierLockupBase_WithdrawToZeroAddress(uint256 streamId);

SablierLockup_NotExpectedModel

Thrown when a function is called on a stream that does not use the expected Lockup model.

error SablierLockup_NotExpectedModel(Lockup.Model actualLockupModel, Lockup.Model expectedLockupModel);