# Errors

Every custom error across every contract. When a transaction reverts with a bare
selector, look it up here.

| Selector | Error | Declared by |
|---|---|---|
| `0xe6a0d45f` | `AlreadyGraduated()` | FociV2BondingCurve |
| `0x0dc149f0` | `AlreadyInitialized()` | FociV2BondingCurve, FociV2LaunchLocker |
| `0x7aabdfe3` | `AlreadyReferred()` | FociV2ReferralRegistry |
| `0x3a81d6fc` | `AlreadyRegistered()` | FociV2MemeHook |
| `0xa741a045` | `AlreadySet()` | FociV2LaunchFactory, FociV2MemeHook |
| `0x49e55bcb` | `CombinedFeeTooHigh()` | FociV2LaunchFactory |
| `0x85258712` | `CoreLpFeeMustBeZero()` | FociV2LaunchFactory |
| `0x4ca249dc` | `Create2EmptyBytecode()` | FociV2LaunchDeployer |
| `0x9ad465dc` | `CreatorTaxTooHigh()` | FociV2LaunchFactory |
| `0x4e222a24` | `CurveFeeTooHigh()` | FociV2LaunchFactory |
| `0x025ac17e` | `CurveGraduated()` | FociV2BondingCurve |
| `0x95e32dab` | `CurveNotQuotable()` | FociV2LaunchFactory |
| `0xfb8f41b2` | `ERC20InsufficientAllowance(address,uint256,uint256)` | FociV2LauncherToken |
| `0xe450d38c` | `ERC20InsufficientBalance(address,uint256,uint256)` | FociV2LauncherToken |
| `0xe602df05` | `ERC20InvalidApprover(address)` | FociV2LauncherToken |
| `0xec442f05` | `ERC20InvalidReceiver(address)` | FociV2LauncherToken |
| `0x96c6fd1e` | `ERC20InvalidSender(address)` | FociV2LauncherToken |
| `0x94280d62` | `ERC20InvalidSpender(address)` | FociV2LauncherToken |
| `0xb06ebf3d` | `FailedDeployment()` | FociV2LaunchDeployer |
| `0x4033e4e3` | `FeeTransferFailed()` | FociV2LaunchFactory, FociV2GraduationExecutor |
| `0xd43cabc3` | `GraduationExecutorNotSet()` | FociV2LaunchFactory |
| `0xbdcd75af` | `GraduationRescueTooEarly(uint256)` | FociV2LaunchFactory |
| `0x2c37d0eb` | `GraduationSeedNotViable()` | FociV2LaunchFactory |
| `0x6d3bcfe5` | `GraduationStillViable()` | FociV2LaunchFactory |
| `0x0a85dc29` | `HookNotImplemented()` | FociV2MemeHook |
| `0x197001d6` | `InexactQuoteTransfer(address,uint256,uint256)` | FociV2MemeHook |
| `0x495a9962` | `InexactTransfer(address,uint256,uint256)` | FociV2LaunchFactory |
| `0xcf479181` | `InsufficientBalance(uint256,uint256)` | FociV2FeeEscrow, FociV2LaunchDeployer |
| `0x098fb561` | `InsufficientInputAmount()` | FociV2BondingCurve |
| `0xbb55fd27` | `InsufficientLiquidity()` | FociV2BondingCurve |
| `0x42301c23` | `InsufficientOutputAmount()` | FociV2BondingCurve |
| `0x31cdb504` | `InternalSwapRequiresOperator()` | FociV2MemeHook |
| `0x800c7e91` | `InvalidBasisPoints()` | FociV2LaunchFactory |
| `0xc6cc5d7f` | `InvalidBps()` | FociV2MemeHook |
| `0x7a34030f` | `InvalidFeePolicy()` | FociV2BondingCurve |
| `0x2bb8bdd6` | `InvalidGraduationThreshold()` | FociV2LaunchFactory |
| `0x68b42c59` | `InvalidLaunchConfigId()` | FociV2LaunchFactory |
| `0xbc0ecfe3` | `InvalidLaunchEconomics()` | FociV2BondingCurve |
| `0x2b7ad4f8` | `InvalidPhantomQuote()` | FociV2LaunchFactory |
| `0xc256622b` | `InvalidPoolKey()` | FociV2MemeHook |
| `0x270815a0` | `InvalidTickSpacing()` | FociV2LaunchFactory |
| `0x374852ca` | `InvalidTokenParams()` | FociV2LaunchFactory |
| `0xa8b63076` | `LaunchConfigDisabled()` | FociV2LaunchFactory |
| `0x1de25df3` | `LaunchDependenciesNotWired()` | FociV2LaunchFactory |
| `0x57332dcf` | `LaunchDeployerNotSet()` | FociV2LaunchFactory |
| `0xecb27319` | `LaunchEconomicsMismatch(bytes32,bytes32)` | FociV2LaunchFactory |
| `0x52660db0` | `LaunchFeeTokenNotSet()` | FociV2LaunchFactory |
| `0x85b8e2f4` | `MetadataTooLong()` | FociV2LaunchDeployer |
| `0x3672d25f` | `MinimumOutputRequired()` | FociV2MemeHook |
| `0xeee66814` | `MintAmountOverflow()` | FociV2GraduationExecutor |
| `0xbc760cfe` | `NativeValueMismatch(uint256,uint256)` | FociV2BondingCurve, FociV2LaunchAndBuy |
| `0xc2caa2a6` | `NoBalance()` | FociV2FeeEscrow |
| `0xa3fef2f8` | `NoPendingChange()` | FociV2LaunchFactory |
| `0x502ba015` | `NotApprovedLauncher()` | FociV2LaunchAndBuy |
| `0xbe447ef2` | `NotAuthorizedBinder()` | FociV2ReferralRegistry |
| `0xb9f93944` | `NotCreatorFeeRecipient()` | FociV2LaunchFactory |
| `0x32cc7236` | `NotFactory()` | FociV2BondingCurve, FociV2MemeHook, FociV2LaunchLocker, FociV2LaunchDeployer, FociV2GraduationExecutor |
| `0x8d42130c` | `NotFeeSweepOperator()` | FociV2BondingCurve, FociV2MemeHook |
| `0xc2074c46` | `NothingToGraduate()` | FociV2LaunchFactory |
| `0x00f6b210` | `NothingToRescue()` | FociV2MemeHook |
| `0x87138d5c` | `NotInitialized()` | FociV2BondingCurve |
| `0xea9eaa96` | `NotLaunchForwarder()` | FociV2LaunchFactory |
| `0xae18210a` | `NotPoolManager()` | FociV2MemeHook |
| `0x20fdc658` | `NotPositionManager()` | FociV2LaunchLocker |
| `0xffa32558` | `NotReadyToGraduate()` | FociV2LaunchFactory, FociV2BondingCurve |
| `0x584a7938` | `NotWhitelisted()` | FociV2LaunchFactory |
| `0x1e4fbdf7` | `OwnableInvalidOwner(address)` | FociV2LaunchFactory, FociV2LaunchAndBuy, FociV2MemeHook, FociV2LaunchLocker |
| `0x118cdaa7` | `OwnableUnauthorizedAccount(address)` | FociV2LaunchFactory, FociV2LaunchAndBuy, FociV2MemeHook, FociV2LaunchLocker |
| `0x2fab92ca` | `OwnershipCannotBeRenounced()` | FociV2LaunchFactory, FociV2MemeHook, FociV2LaunchLocker |
| `0x4e3de34f` | `PairTokenDecimalsMismatch(uint8,uint8)` | FociV2LaunchFactory |
| `0xe43c14ca` | `PairTokenDecimalsUnavailable()` | FociV2LaunchFactory |
| `0x764c63c8` | `PairTokenEconomicsInvalid()` | FociV2LaunchFactory |
| `0x49285dfb` | `PairTokenNotApproved()` | FociV2LaunchFactory |
| `0x26fbfa60` | `PairTokenValidationFailed()` | FociV2LaunchFactory |
| `0xfe3099b6` | `PositionAlreadyLocked()` | FociV2LaunchLocker |
| `0x6b49c94a` | `PositionNotHeld()` | FociV2LaunchLocker |
| `0xb6ea0b01` | `ReciprocalReferral()` | FociV2ReferralRegistry |
| `0x3ee5aeb5` | `ReentrancyGuardReentrantCall()` | FociV2LaunchFactory, FociV2BondingCurve, FociV2LaunchAndBuy, FociV2MemeHook, FociV2FeeEscrow |
| `0xf0c49d44` | `RefundFailed()` | FociV2LaunchAndBuy |
| `0xa8ce4432` | `SafeCastOverflowedIntToUint(int256)` | FociV2MemeHook |
| `0x24775e06` | `SafeCastOverflowedUintToInt(uint256)` | FociV2MemeHook |
| `0x5274afe7` | `SafeERC20FailedOperation(address)` | FociV2LaunchFactory, FociV2BondingCurve, FociV2LaunchAndBuy, FociV2MemeHook, FociV2FeeEscrow, FociV2LaunchLocker, FociV2GraduationExecutor |
| `0x55e8f70e` | `SelfReferral()` | FociV2ReferralRegistry |
| `0x71c4efed` | `SlippageExceeded(uint256,uint256)` | FociV2BondingCurve, FociV2MemeHook, FociV2GraduationExecutor |
| `0x582157bb` | `SqrtPriceOutOfBounds()` | FociV2LaunchFactory |
| `0xacb9fa2b` | `SupplyTooHigh()` | FociV2LaunchFactory |
| `0xc0b4e373` | `SupplyTooLow()` | FociV2LaunchFactory |
| `0xb79d40e8` | `TimelockExpired(uint256)` | FociV2LaunchFactory |
| `0x810c4f2a` | `TimelockNotElapsed(uint256)` | FociV2LaunchFactory |
| `0xcbdb7b30` | `TokenNotFound()` | FociV2LaunchFactory |
| `0x90b8ec18` | `TransferFailed()` | FociV2BondingCurve, FociV2FeeEscrow |
| `0xe0aeda7d` | `UnexpectedNativeValue()` | FociV2BondingCurve |
| `0xf7139e33` | `UnknownPool()` | FociV2MemeHook |
| `0xdd737e7c` | `UnsupportedPrice()` | FociV2LaunchFactory |
| `0x9465dbd4` | `WrongGraduationPhase()` | FociV2LaunchFactory |
| `0xd92e233d` | `ZeroAddress()` | FociV2LaunchFactory, FociV2BondingCurve, FociV2LauncherToken, FociV2LaunchAndBuy, FociV2MemeHook, FociV2FeeEscrow, FociV2ReferralRegistry, FociV2LaunchLocker, FociV2LaunchDeployer, FociV2GraduationExecutor |
| `0x1f2a2005` | `ZeroAmount()` | FociV2LaunchFactory, FociV2BondingCurve, FociV2LaunchAndBuy |
