Contract errors
This section contains selected, most frequently occurring errors the protocol may revert with.
Router
swap: EXPIRED
Thrown when the current block's timestamp is greater than the provided _deadline
of a swap.
require(block.timestamp <= _deadline, "RC:_swapExactTokensForTokens:EXPIRED");
swap: BELOW_MINIMUM
Thrown when the minimum acceptable output amount _amountOutMin
of a swap is not met.
require(amountOut >= _amountOutMin, "RC:_swapExactTokensForTokens:BELOW_MINIMUM");
SwapPool
withdraw: MINIMUM_AMOUNT
Thrown when the withdraw amount _payoutAmount
is less than the accepted minimum amount _minimumAmount
.
require(payoutAmount_ >= _minimumAmount, "SP:withdraw:MINIMUM_AMOUNT");
backstopBurn: TIMELOCK
Thrown when the user _owner
attempts to execute a backstopBurn
in the same block as their last deposit, and the shares to burn exceed the balance held before that deposit.
if (block.number == lastDepositAt[_owner]) {
require(userBalance - lastDepositAmount[_owner] >= _sharesToBurn, "SP:backstopBurn:TIMELOCK");
}
backstopBurn: INSUFFICIENT_COVERAGE
Thrown when the coverage ratio of the swap pool is more or would still be greater than 100% for the amount of swap pool LP shares to be redeemed for backstop pool liquidity.
require(oldReserve <= oldTotalLiabilities - amount_, "SP:backstopBurn:INSUFFICIENT_COVERAGE");
backstopDrain: INSUFFICIENT_COVERAGE
Thrown when the coverage ratio of the swap pool is less or would become lower than 100% for the amount of backstop pool LP shares to be withdrawn for swap pool liquidity.
require(oldReserve >= oldTotalLiabilities + _amount, "SP:backstopDrain:INSUFFICIENT_COVERAGE");
swap: EXCEEDS_MAX_COVERAGE_RATIO
Thrown when the coverage ratio of the swap pool would exceed 200% after swap inequire(
require(
(oldReserve + effectiveAmount_) <= (maxCoverageRatioForSwapIn * oldTotalLiabilities) / 100,
"SP:quoteSwapInto:EXCEEDS_MAX_COVERAGE_RATIO"
);
BackstopPool
withdraw: MINIMUM_AMOUNT
Thrown when the withdraw amount _payoutAmount
is less than the accepted minimum amount _minimumAmount
.
require(payoutAmount_ >= _minimumAmount, "BC:finalizeWithdrawBackstopLiquidity:MINIMUM_AMOUNT");
redeemSwapPoolShares: MIN_AMOUNT
Thrown when the amount of the to be withdrawn backstop pool LP shares for swap pool liquidity is less the accepted minimum amount _minAmount
.
require(amountOut_ >= _minAmountOut, "BC:_redeemSwapPoolShares:MIN_AMOUNT");
Last updated