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 }