github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/ammswap/types/errors.go (about)

     1  package types
     2  
     3  import (
     4  	"fmt"
     5  
     6  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     7  	sdkerrors "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types/errors"
     8  )
     9  
    10  const (
    11  	DefaultCodespace = ModuleName
    12  
    13  	CodeNonExistSwapTokenPair                   uint32 = 65000
    14  	CodeNonExistPoolToken                       uint32 = 65001
    15  	CodeMintCoinsFailed                         uint32 = 65002
    16  	CodeSendCoinsFromAccountToModule            uint32 = 65003
    17  	CodeBaseAmountNameBiggerThanQuoteAmountName uint32 = 65004
    18  	CodeValidateSwapAmountName                  uint32 = 65005
    19  	CodeBaseNameEqualQuoteName                  uint32 = 65006
    20  	CodeValidateDenom                           uint32 = 65007
    21  	CodeNotAllowedOriginSymbol                  uint32 = 65008
    22  	CodeInsufficientPoolToken                   uint32 = 65009
    23  	CodeTokenNotExist                           uint32 = 65010
    24  	CodeInvalidCoins                            uint32 = 65011
    25  	CodeInvalidTokenPair                        uint32 = 65012
    26  	CodeAddressIsRequire                        uint32 = 65013
    27  	CodeIsZeroValue                             uint32 = 65014
    28  	CodeBlockTimeBigThanDeadline                uint32 = 65015
    29  	CodeLessThan                                uint32 = 65016
    30  	CodeMintPoolTokenFailed                     uint32 = 65017
    31  	CodeSendCoinsFromPoolToAccountFailed        uint32 = 65018
    32  	CodeBurnPoolTokenFailed                     uint32 = 65019
    33  	CodeSendCoinsToPoolFailed                   uint32 = 65020
    34  	CodeSwapUnknownMsgType                      uint32 = 65021
    35  	CodeSwapUnknownQueryTypes                   uint32 = 65022
    36  	CodeSellAmountOrBuyTokenIsEmpty             uint32 = 65023
    37  	CodeSellAmountEqualBuyToken                 uint32 = 65024
    38  	CodeQueryParamsAddressIsEmpty               uint32 = 65025
    39  	CodeQueryParamsQuoteTokenAmountIsEmpty      uint32 = 65026
    40  	CodeQueryParamsBaseTokenIsEmpty             uint32 = 65027
    41  	CodeMinLiquidityIsNegative                  uint32 = 65028
    42  	CodeMaxBaseAmountOrQuoteAmountIsNegative    uint32 = 65029
    43  	CodeMaxBaseAmount                           uint32 = 65030
    44  	CodeQuoteAmount                             uint32 = 65031
    45  	CodeMinBaseAmount                           uint32 = 65032
    46  	CodeMinQuoteAmount                          uint32 = 65033
    47  	CodeSoldTokenAmountIsNegative               uint32 = 65034
    48  	CodeToken0NameEqualToken1Name               uint32 = 65035
    49  	CodeSoldTokenAmount                         uint32 = 65036
    50  	CodeMinBoughtTokenAmount                    uint32 = 65037
    51  	CodeConvertSellTokenAmount                  uint32 = 65038
    52  	CodeConvertQuoteTokenAmount                 uint32 = 65039
    53  	CodeSendCoinsFailed                         uint32 = 65040
    54  	CodeMsgDeadlineLessThanBlockTime            uint32 = 65041
    55  	CodeBaseTokensAmountBiggerThanMax           uint32 = 65042
    56  	CodeIsSwapTokenPairExist                    uint32 = 65043
    57  	CodeIsPoolTokenPairExist                    uint32 = 65044
    58  	CodeInternalError                           uint32 = 65045
    59  )
    60  
    61  func ErrNonExistSwapTokenPair(tokenPairName string) sdk.EnvelopedErr {
    62  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeNonExistSwapTokenPair, fmt.Sprintf("swap token pair is not exist: %s", tokenPairName))}
    63  }
    64  
    65  func ErrNonExistPoolToken(token string) sdk.EnvelopedErr {
    66  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeNonExistPoolToken, fmt.Sprintf("pool token %s does not exist", token))}
    67  }
    68  
    69  func ErrCodeMinCoinsFailed(err error) sdk.EnvelopedErr {
    70  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeMintCoinsFailed, fmt.Sprintf("mint coins failed: %s", err))}
    71  }
    72  
    73  func ErrSendCoinsFromAccountToModule(err error) sdk.EnvelopedErr {
    74  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeSendCoinsFromAccountToModule, fmt.Sprintf("send coins from account to module failed: %s", err))}
    75  }
    76  
    77  func ErrBaseAmountNameBiggerThanQuoteAmountName() sdk.EnvelopedErr {
    78  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeBaseAmountNameBiggerThanQuoteAmountName, "the lexicographic order of BaseTokenName must be less than QuoteTokenName")}
    79  }
    80  
    81  func ErrValidateSwapAmountName() sdk.EnvelopedErr {
    82  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeValidateSwapAmountName, "validate swap amount name failed")}
    83  }
    84  
    85  func ErrBaseNameEqualQuoteName() sdk.EnvelopedErr {
    86  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeBaseNameEqualQuoteName, "base token name equal token name")}
    87  }
    88  
    89  func ErrValidateDenom(tokenName string) sdk.EnvelopedErr {
    90  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeValidateDenom, fmt.Sprintf("invalid token name: %s", tokenName))}
    91  }
    92  
    93  func ErrNotAllowedOriginSymbol() sdk.EnvelopedErr {
    94  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeNotAllowedOriginSymbol, fmt.Sprintf("liquidity-pool-token(with prefix %s is not allowed to be a base or quote token", PoolTokenPrefix))}
    95  }
    96  
    97  func ErrInsufficientPoolToken() sdk.EnvelopedErr {
    98  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeInsufficientPoolToken, "insufficient pool token")}
    99  }
   100  
   101  func ErrTokenNotExist() sdk.EnvelopedErr {
   102  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeTokenNotExist, "token does not exist")}
   103  }
   104  
   105  func ErrInvalidCoins() sdk.EnvelopedErr {
   106  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeInvalidCoins, "failed to create exchange with equal token name")}
   107  }
   108  
   109  func ErrInvalidTokenPair(swapTokenPair string) sdk.EnvelopedErr {
   110  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeInvalidTokenPair, fmt.Sprintf("invalid token pair %s", swapTokenPair))}
   111  }
   112  
   113  func ErrAddressIsRequire(msg string) sdk.EnvelopedErr {
   114  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeAddressIsRequire, fmt.Sprintf("%s address is require", msg))}
   115  }
   116  
   117  func ErrIsZeroValue(msg string) sdk.EnvelopedErr {
   118  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeIsZeroValue, fmt.Sprintf("%s is zero value", msg))}
   119  }
   120  
   121  func ErrBlockTimeBigThanDeadline() sdk.EnvelopedErr {
   122  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeBlockTimeBigThanDeadline, fmt.Sprintf("block time big than deadline"))}
   123  }
   124  
   125  func ErrLessThan(param1 string, param2 string) sdk.EnvelopedErr {
   126  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeLessThan, fmt.Sprintf("%s value less than %s value", param1, param2))}
   127  }
   128  
   129  func ErrMintPoolTokenFailed(err error) sdk.EnvelopedErr {
   130  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeMintPoolTokenFailed, fmt.Sprintf("mint pool token failed: %s", err))}
   131  }
   132  
   133  func ErrSendCoinsFromPoolToAccountFailed(msg string) sdk.EnvelopedErr {
   134  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeSendCoinsFromPoolToAccountFailed, fmt.Sprintf("send coins from pool to account failed: %s", msg))}
   135  }
   136  
   137  func ErrBurnPoolTokenFailed(err error) sdk.EnvelopedErr {
   138  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeBurnPoolTokenFailed, fmt.Sprintf("burn pool token failed: %s", err))}
   139  }
   140  
   141  func ErrSendCoinsToPoolFailed(msg string) sdk.EnvelopedErr {
   142  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeSendCoinsToPoolFailed, fmt.Sprintf("send coins to pool failed: %s", msg))}
   143  }
   144  
   145  func ErrSwapUnknownMsgType() sdk.EnvelopedErr {
   146  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeSwapUnknownMsgType, "swap unknown msg type")}
   147  }
   148  
   149  func ErrSwapUnknownQueryType() sdk.EnvelopedErr {
   150  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeSwapUnknownQueryTypes, "unknown swap query endpoint")}
   151  }
   152  
   153  func ErrSellAmountOrBuyTokenIsEmpty() sdk.EnvelopedErr {
   154  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeSellAmountOrBuyTokenIsEmpty, "sell token amount or buy token is empty")}
   155  }
   156  
   157  func ErrSellAmountEqualBuyToken() sdk.EnvelopedErr {
   158  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeSellAmountEqualBuyToken, "sell token name should not be equal to buy token name")}
   159  }
   160  
   161  func ErrQueryParamsAddressIsEmpty() sdk.EnvelopedErr {
   162  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeQueryParamsAddressIsEmpty, "query param address is empty")}
   163  }
   164  
   165  func ErrQueryParamsQuoteTokenAmountIsEmpty() sdk.EnvelopedErr {
   166  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeQueryParamsQuoteTokenAmountIsEmpty, "query param quote token amount is empty")}
   167  }
   168  
   169  func ErrQueryParamsBaseTokenIsEmpty() sdk.EnvelopedErr {
   170  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeQueryParamsBaseTokenIsEmpty, "query param base token is empty")}
   171  }
   172  
   173  func ErrMinLiquidityIsNegative() sdk.EnvelopedErr {
   174  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeMinLiquidityIsNegative, "min liquidity is negative")}
   175  }
   176  
   177  func ErrMaxBaseAmountOrQuoteAmountIsNegative() sdk.EnvelopedErr {
   178  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeMaxBaseAmountOrQuoteAmountIsNegative, "max base amount or quote amount is negative")}
   179  }
   180  
   181  func ErrMaxBaseAmount() sdk.EnvelopedErr {
   182  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeMaxBaseAmount, "max base amount is negative or not validate denom")}
   183  }
   184  
   185  func ErrQuoteAmount() sdk.EnvelopedErr {
   186  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeQuoteAmount, "quote amount is negative or not validate denom")}
   187  }
   188  
   189  func ErrMinBaseAmount() sdk.EnvelopedErr {
   190  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeMinBaseAmount, "min base amount is negative or not validate denom")}
   191  }
   192  
   193  func ErrMinQuoteAmount() sdk.EnvelopedErr {
   194  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeMinQuoteAmount, "min quote amount is negative or not validate denom")}
   195  }
   196  
   197  func ErrSoldTokenAmountIsNegative() sdk.EnvelopedErr {
   198  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeSoldTokenAmountIsNegative, "sold token amount is negative")}
   199  }
   200  
   201  func ErrToken0NameEqualToken1Name() sdk.EnvelopedErr {
   202  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeToken0NameEqualToken1Name, "token0 name is equal token1 name")}
   203  }
   204  
   205  func ErrSoldTokenAmount() sdk.EnvelopedErr {
   206  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeSoldTokenAmount, "sold token amount is negative or not validate denom")}
   207  }
   208  
   209  func ErrMinBoughtTokenAmount() sdk.EnvelopedErr {
   210  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeMinBoughtTokenAmount, "min bought token amount is negative or not validate denom")}
   211  }
   212  
   213  func ErrConvertSellTokenAmount(sellTokenAmount string, err error) sdk.EnvelopedErr {
   214  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeConvertSellTokenAmount, fmt.Sprintf("invalid params, parse sell_token_amount:%s error:%s",
   215  		sellTokenAmount, err))}
   216  }
   217  
   218  func ErrConvertQuoteTokenAmount(quoteTokenAmount string, err error) sdk.EnvelopedErr {
   219  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeConvertQuoteTokenAmount, fmt.Sprintf("invalid params, parse quote_token_amount:%s error:%s",
   220  		quoteTokenAmount, err))}
   221  }
   222  
   223  func ErrSendCoinsFailed(err error) sdk.EnvelopedErr {
   224  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeSendCoinsFailed, fmt.Sprintf("send coin failed: %s", err))}
   225  }
   226  
   227  func ErrMsgDeadlineLessThanBlockTime() sdk.EnvelopedErr {
   228  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeMsgDeadlineLessThanBlockTime, "input deadline less than block time")}
   229  }
   230  
   231  func ErrBaseTokensAmountBiggerThanMax() sdk.EnvelopedErr {
   232  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeBaseTokensAmountBiggerThanMax, "base token amount bigger than max base amount")}
   233  }
   234  
   235  func ErrSwapTokenPairExist() sdk.EnvelopedErr {
   236  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeIsSwapTokenPairExist, "the swap token pair already exists")}
   237  }
   238  
   239  func ErrPoolTokenPairExist() sdk.EnvelopedErr {
   240  	return sdk.EnvelopedErr{Err: sdkerrors.New(DefaultCodespace, CodeIsPoolTokenPairExist, "the pool token pair already exists")}
   241  }