Errors
Custom errors, by contract, with the condition that raises each.
PloutoRegistry
| Error | Condition |
|---|
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
| Error | Condition |
|---|
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
| Error | Condition |
|---|
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
| Error | Condition |
|---|
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
| Error | Condition |
|---|
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).