Skip to main content

ICommonErrors

Asset Tokenization Studio Team

Common Errors

Defines shared custom errors reused by unrelated contract domains.

Acts as the single source of truth for cross-domain errors with identical names and signatures. Domain-specific errors should remain in their own type interfaces to avoid coupling unrelated modules.

Errors​

AccountIsBlocked​

error AccountIsBlocked(address account)

Reverts when an operation targets or is requested by a blocked account.

The blocking policy is enforced by the domain that performs the check.

Parameters​

NameTypeDescription
accountaddressAccount rejected by the blocking validation.

AlreadyInitialized​

error AlreadyInitialized()

Reverts when an initialisation routine is invoked more than once.

Used by contracts or facets that must be initialised exactly once.

ContradictoryValuesInArray​

error ContradictoryValuesInArray(uint256 lowerIndex, uint256 upperIndex)

Reverts when ordered array values contradict expected ordering.

Indicates that two indexed values cannot both satisfy the required monotonic or range invariant.

Parameters​

NameTypeDescription
lowerIndexuint256Lower array index involved in the contradiction.
upperIndexuint256Upper array index involved in the contradiction.

DecimalsTooLarge​

error DecimalsTooLarge(uint8 currentDecimals, uint8 newDecimals)

Reverts when the difference between current decimals and new decimals exceeds the maximum value.

Protects decimals amount difference between current and new not te be greater than maximum.

Parameters​

NameTypeDescription
currentDecimalsuint8the current decimals amount.
newDecimalsuint8the new decimals amount.

DifferentLengths​

error DifferentLengths(uint256 length1, uint256 length2)

Emitted when two arrays or collections expected to have matching lengths differ.

Reverts operations that require one-to-one correspondence between input parameters.

Parameters​

NameTypeDescription
length1uint256Length of the first array or collection.
length2uint256Length of the second array or collection.

ExpiredDeadline​

error ExpiredDeadline(uint256 deadline)

Reverts when a signed payload is submitted after its deadline.

The caller must provide and validate deadlines before accepting the signed operation.

Parameters​

NameTypeDescription
deadlineuint256Expired deadline carried by the signed payload.

ExponentOverflow​

error ExponentOverflow(uint256 exponent)

Reverts when an exponent would cause 10 ** exponent to overflow uint256.

Thrown by DecimalsLib.checkExponentOverflow when exponent >= 78.

Parameters​

NameTypeDescription
exponentuint256The exponent that would produce an overflow.

GreaterThanMaxUint256​

error GreaterThanMaxUint256(uint256 amount, uint8 decimals)

Reverts when multiplying amount by 10 ** decimals would exceed uint256 max.

Thrown by DecimalsLib.calculateDecimalsAdjustment when amount > MAX_UINT256 / 10 ** decimals.

Parameters​

NameTypeDescription
amountuint256The token amount that cannot be scaled up.
decimalsuint8The exponent that causes the overflow.

InvalidDates​

error InvalidDates()

Reverts when a date set is invalid.

Used when the failing date constraint does not require exposing values.

InvalidTimestamp​

error InvalidTimestamp()

Reverts when a timestamp value is invalid.

Used for shared timestamp validation that is not tied to expiration.

MaxExternalListSizeReached​

error MaxExternalListSizeReached(uint256 max)

Reverts when adding an entry would grow an external list beyond its maximum size.

Enforced by ExternalListManagementStorageWrapper.addExternalList for the external pause, control and KYC lists. The bound exists because each list is iterated in full on the hot path of token operations, so an unbounded list could exceed the gas limit and brick the token.

Parameters​

NameTypeDescription
maxuint256Maximum number of entries permitted in the external list.

UnexpectedError​

error UnexpectedError(bytes4 _errorId)

Reverts when an unreachable validation state is detected.

Replaces assertions for defensive handling of logically impossible states.

Parameters​

NameTypeDescription
_errorIdbytes4Identifier of the unexpected validation condition.

WrongDates​

error WrongDates(uint256 firstDate, uint256 secondDate)

Reverts when two date values fail their required ordering constraint.

The expected relationship between both dates is defined by the caller's validation context.

Parameters​

NameTypeDescription
firstDateuint256First date participating in the failed comparison.
secondDateuint256Second date participating in the failed comparison.

WrongExpirationTimestamp​

error WrongExpirationTimestamp()

Reverts when an expiration timestamp is invalid.

Used for expired, past, or otherwise unacceptable expiration values.

WrongNonce​

error WrongNonce(uint256 nonce, address account)

Reverts when a nonce does not match the expected value for an account.

Protects signed operations against replay and out-of-order execution.

Parameters​

NameTypeDescription
nonceuint256Nonce supplied by the caller or signed payload.
accountaddressAccount for which the nonce validation failed.

WrongSignature​

error WrongSignature()

Reverts when a signature fails verification.

Applies to shared signature validation flows, including EIP-712 payloads and partition-based signatures.

WrongSignatureLength​

error WrongSignatureLength()

Reverts when a signature payload has an invalid byte length.

Used before signature recovery or verification to reject malformed input.

WrongTimestamp​

error WrongTimestamp(uint256 timeStamp)

Reverts when a scheduled timestamp is not strictly in the future.

Used for shared scheduling validation where the current block time is read through TimeTravelStorageWrapper.

Parameters​

NameTypeDescription
timeStampuint256Timestamp rejected for scheduling.

ZeroAddressNotAllowed​

error ZeroAddressNotAllowed()

Reverts when the zero address is supplied where it is not permitted.

Prevents invalid account, contract, or recipient references.

ZeroValueNotAllowed​

error ZeroValueNotAllowed()

Reverts when zero is supplied where a positive value is required.

Used for shared validation of amounts, limits, factors, or identifiers.