Skip to content
Protocol contracts not yet configured for this build
Enter app

Contract reference

Errors

Custom errors, by contract, with the condition that raises each.

PloutoRegistry

ErrorCondition
ZeroAddress()A required address argument was zero.
AlreadyInitialized()setPloutoTokenOnce called after a successful initialization.
AlreadyWired()wireProtocol called a second time.
NotWired()Initialization attempted before wiring.
NoCode(address)An address that must be a contract has no bytecode.
LaunchNotFound(address)The Pons factory has no record for the token.
TokenMismatch(address,address)Factory or curve disagrees about the token.
CurveMismatch(address,address)The supplied curve is not the one in the record.
UnexpectedLauncher(address,address)The launch deployer is not expectedLauncher.
FeeRecipientMismatch(address,address)The creator-fee recipient is not the Revenue Router.
NotNativeQuote(address)The launch is not quoted in native ETH.
ZeroSupply()totalSupply() returned zero.

PloutoRevenueRouter

ErrorCondition
ZeroAddress()A constructor argument was zero.
NotInitialized()Routing attempted before the registry has a token.
NothingClaimed()The measured claim delta was zero.
NothingToRoute()unallocatedRevenue is zero.
NoDonations()Donation sweep with nothing to sweep.
EthTransferFailed(address,uint256)A downstream ETH transfer failed.
SplitMismatch(uint256,uint256)Defensive check; the three parts did not sum to the amount.

GravityStaking

ErrorCondition
NotInitialized()Staking before PLOUTO is registered.
NotRouter()notifyRewardETH called by anyone but the router.
RouterAlreadySet()Second call to setRevenueRouter.
InvalidLock(uint64)Duration is not exactly 7, 30 or 90 days.
AmountTooSmall(uint256)Below MIN_STAKE (1e18).
FeeOnTransferToken(uint256,uint256)The measured deposit did not equal the requested amount.
NotPositionOwner(uint256)Caller does not own the position.
PositionClosed(uint256)The position is already closed.
NotMatured(uint256,uint64)Withdrawal before unlockAt.
NotEmergency()emergencyWithdraw outside a declared emergency.
NothingToClaim()No rewards pending.
EthTransferFailed(address,uint256)The reward transfer failed.
NoRewardValue()notifyRewardETH called with zero value.

BuybackExecutor

ErrorCondition
NotRouter()fundBuyback called by anyone but the router.
RouterAlreadySet()Second call to setRevenueRouter.
NotInitialized()Execution before PLOUTO is registered.
WrongChain(uint256,uint256)block.chainid does not match expectedChainId.
NoBudget()Budget is zero, or funding with zero value.
AmountTooSmall(uint256,uint256)Below minEthPerExecution.
ExceedsPerExecutionCap(uint256,uint256)Above maxEthPerExecution.
ExceedsBudgetShare(uint256,uint256)Above the share cap, and not draining the whole budget.
ExceedsBudget(uint256,uint256)More than the available budget.
ZeroMinTokensOut()An unprotected buy was attempted.
DeadlinePassed(uint256)Submitted after the deadline.
RouteMismatch()Factory record, registry or curve disagree.
UnexpectedPhase(uint8)Phase 1 or 3 — no tradeable route.
InsufficientOutput(uint256,uint256)Received less than minTokensOut.
PriceImpactTooHigh(uint256,uint256)Below the on-chain spot-derived floor.
NotPoolManager()unlockCallback called by anyone else.
PoolNotInitialized()The v4 pool has no price.
InvalidParams()Nonsensical safety parameters.

PloutoReserve

ErrorCondition
ZeroAddress() / ZeroAmount()Invalid proposal arguments.
NotRouter()depositRevenue called by anyone but the router.
RouterAlreadySet()Second call to setRevenueRouter.
UnknownProposal(uint256)No such proposal id.
NotPending(uint256)Already executed or cancelled.
TimelockNotElapsed(uint256,uint64)Executed before readyAt.
ProposalExpired(uint256)Executed after the window closed.
InsufficientBalance(uint256,uint256)Not enough held to satisfy the proposal.
EmptyPurpose()A proposal without a stated purpose.
EthTransferFailed(address,uint256)The recipient rejected the transfer.

Inherited

AccessControlUnauthorizedAccount(address,bytes32), EnforcedPause(), ExpectedPause(), ReentrancyGuardReentrantCall(), OwnableUnauthorizedAccount(address), SafeERC20FailedOperation(address).