Skip to content

Errors ​

All contracts use custom errors. These are the ones an integration is most likely to surface.

Factory ​

ErrorMeaning
NotAllowed()Public launching is closed and the wallet is not whitelisted.
ConfigDisabled() / UnknownConfig()The config id is disabled or does not exist.
TermsMismatch(bytes32 current, bytes32 expected)Launch terms changed since previewTerms was read. Re-read and retry.
IncorrectValue(uint256 sent, uint256 expected)msg.value must equal launchFee + devBuyQuote.
InvalidBps()Creator tax outside the allowed bounds.
InvalidParams()Name, symbol or metadata length, start time or exemption list out of range.
DevBuyTooLarge(uint256 tokensOut, uint256 limit)The first buy would exceed the supply cap.
NotReady() / WrongPhase()graduate called on a curve that is not sold out, or on a graduated token.
NotCreator() / NotPendingCreator() / NotAuthorized()Creator-control calls from the wrong wallet.
TakeoverNotReady(uint256) / TakeoverExpired(uint256)Takeover executed outside its window.

Curve ​

ErrorMeaning
Slippage(uint256 actual, uint256 limit)Output below the minimum (rate-based on buys).
TradingNotStarted(uint256 startsAt)Scheduled launch has not opened.
CurveSoldOut()No tokens left to buy; graduation is pending.
AwaitingGraduation(uint256 unwindAt)Sells are paused until graduation, or until unwindAt if it never completes.
CurveClosed()The launch graduated. Route to the pool.
NativeValueMismatch(uint256 sent, uint256 expected)msg.value must equal quoteIn.

Router ​

ErrorMeaning
Expired()deadline has passed.
UnknownLaunch()Not a Hanok token.
Slippage(uint256 actual, uint256 limit)Pool output below the minimum.

Hanok is unaudited testnet software. Tokens can lose all value.