Skip to main content

Errors

Git Source

Library containing all custom errors the protocol may revert with.

Errors

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

SablierV2Base_NoProtocolRevenues

Thrown when trying to claim protocol revenues for an asset with no accrued revenues.

error SablierV2Base_NoProtocolRevenues(IERC20 asset);

SablierV2FlashLoan_AssetNotFlashLoanable

Thrown when trying to flash loan an unsupported asset.

error SablierV2FlashLoan_AssetNotFlashLoanable(IERC20 asset);

SablierV2FlashLoan_AmountTooHigh

Thrown when trying to flash loan an amount greater than or equal to 2^128.

error SablierV2FlashLoan_AmountTooHigh(uint256 amount);

SablierV2FlashLoan_CalculatedFeeTooHigh

Thrown when the calculated fee during a flash loan is greater than or equal to 2^128.

error SablierV2FlashLoan_CalculatedFeeTooHigh(uint256 amount);

SablierV2FlashLoan_FlashBorrowFail

Thrown when the callback to the flash borrower fails.

error SablierV2FlashLoan_FlashBorrowFail();

SablierV2Lockup_BrokerFeeTooHigh

Thrown when the broker fee exceeds the maximum allowed fee.

error SablierV2Lockup_BrokerFeeTooHigh(UD60x18 brokerFee, UD60x18 maxFee);

SablierV2Lockup_DepositAmountZero

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

error SablierV2Lockup_DepositAmountZero();

SablierV2Lockup_EndTimeNotInTheFuture

Thrown when trying to create a stream with an end time not in the future.

error SablierV2Lockup_EndTimeNotInTheFuture(uint40 currentTime, uint40 endTime);

SablierV2Lockup_InvalidSenderWithdrawal

Thrown when the stream's sender tries to withdraw to an address other than the recipient's.

error SablierV2Lockup_InvalidSenderWithdrawal(uint256 streamId, address sender, address to);

SablierV2Lockup_NotTransferable

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

error SablierV2Lockup_NotTransferable(uint256 tokenId);

SablierV2Lockup_Null

Thrown when the id references a null stream.

error SablierV2Lockup_Null(uint256 streamId);

SablierV2Lockup_Overdraw

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

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

SablierV2Lockup_ProtocolFeeTooHigh

Thrown when the protocol fee exceeds the maximum allowed fee.

error SablierV2Lockup_ProtocolFeeTooHigh(UD60x18 protocolFee, UD60x18 maxFee);

SablierV2Lockup_StreamCanceled

Thrown when trying to cancel or renounce a canceled stream.

error SablierV2Lockup_StreamCanceled(uint256 streamId);

SablierV2Lockup_StreamDepleted

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

error SablierV2Lockup_StreamDepleted(uint256 streamId);

SablierV2Lockup_StreamNotCancelable

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

error SablierV2Lockup_StreamNotCancelable(uint256 streamId);

SablierV2Lockup_StreamNotDepleted

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

error SablierV2Lockup_StreamNotDepleted(uint256 streamId);

SablierV2Lockup_StreamSettled

Thrown when trying to cancel or renounce a settled stream.

error SablierV2Lockup_StreamSettled(uint256 streamId);

SablierV2Lockup_Unauthorized

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

error SablierV2Lockup_Unauthorized(uint256 streamId, address caller);

SablierV2Lockup_WithdrawAmountZero

Thrown when trying to withdraw zero assets from a stream.

error SablierV2Lockup_WithdrawAmountZero(uint256 streamId);

SablierV2Lockup_WithdrawArrayCountsNotEqual

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

error SablierV2Lockup_WithdrawArrayCountsNotEqual(uint256 streamIdsCount, uint256 amountsCount);

SablierV2Lockup_WithdrawToZeroAddress

Thrown when trying to withdraw to the zero address.

error SablierV2Lockup_WithdrawToZeroAddress();

SablierV2LockupDynamic_DepositAmountNotEqualToSegmentAmountsSum

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

error SablierV2LockupDynamic_DepositAmountNotEqualToSegmentAmountsSum(uint128 depositAmount, uint128 segmentAmountsSum);

SablierV2LockupDynamic_SegmentCountTooHigh

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

error SablierV2LockupDynamic_SegmentCountTooHigh(uint256 count);

SablierV2LockupDynamic_SegmentCountZero

Thrown when trying to create a stream with no segments.

error SablierV2LockupDynamic_SegmentCountZero();

SablierV2LockupDynamic_SegmentMilestonesNotOrdered

Thrown when trying to create a stream with unordered segment milestones.

error SablierV2LockupDynamic_SegmentMilestonesNotOrdered(
uint256 index, uint40 previousMilestone, uint40 currentMilestone
);

SablierV2LockupDynamic_StartTimeNotLessThanFirstSegmentMilestone

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

error SablierV2LockupDynamic_StartTimeNotLessThanFirstSegmentMilestone(uint40 startTime, uint40 firstSegmentMilestone);

SablierV2LockupLinear_CliffTimeNotLessThanEndTime

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

error SablierV2LockupLinear_CliffTimeNotLessThanEndTime(uint40 cliffTime, uint40 endTime);

SablierV2LockupLinear_StartTimeGreaterThanCliffTime

Thrown when trying to create a stream with a start time greater than the cliff time.

error SablierV2LockupLinear_StartTimeGreaterThanCliffTime(uint40 startTime, uint40 cliffTime);

SablierV2NFTDescriptor_UnknownNFT

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

error SablierV2NFTDescriptor_UnknownNFT(IERC721Metadata nft, string symbol);