For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

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.

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.

swap: EXCEEDS_MAX_COVERAGE_RATIO

Thrown when the coverage ratio of the swap pool would exceed 200% after swap inequire(


BackstopPool

withdraw: MINIMUM_AMOUNT

Thrown when the withdraw amount _payoutAmount is less than the accepted minimum amount _minimumAmount.

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.

Last updated