In some cases, the contract's execution might fail. The current chapter describes the list of possible in-contract failures.
It is prohibited to call the exchange until the previous operation is finished.
The code for the entrypoint doesn't exist in the bigmap. Should be unreachable.
The contract can't be called until the previous method execution isn't finished.
The method should be called by the exchange contract only.
The token doesn't implement the standard entrypoint.
The exchange contract doesn't have close entrypoint. Should be unreachable.
The exchange for the pair isn't launched.
Action can't be performed if there is no liquidity in the pool.
The amount of invested token A can't be zero.
The amount of invested token B can't be zero.
The exchange can't be launched if it already exists.
The exchange route isn't cohesive.
Invest of zero tokens on one of the sides is not allowed.
Not enough shares to burn.
One or all divested token amounts are zero.
The expected output is higher than the possible.
The tokens should be provided in ascending order.
The provided exchange route is empty.
The max amount of token A to deposit for the shares is insufficient.
The amount of token B to withdraw for the shares is too low.
The operation isn't outdated.
After divest, some reserves and total shares aren't all zero or aren't all non-zero values. Should be unreachable.
The amount of divested shares is higher than the total supply. Should be unreachable.