code.vegaprotocol.io/vega@v0.79.0/protos/vega/errors.go (about)

     1  package vega
     2  
     3  var (
     4  	ErrInvalidMarketID                             = OrderError_ORDER_ERROR_INVALID_MARKET_ID
     5  	ErrInvalidOrderID                              = OrderError_ORDER_ERROR_INVALID_ORDER_ID
     6  	ErrOrderOutOfSequence                          = OrderError_ORDER_ERROR_OUT_OF_SEQUENCE
     7  	ErrInvalidRemainingSize                        = OrderError_ORDER_ERROR_INVALID_REMAINING_SIZE
     8  	ErrOrderRemovalFailure                         = OrderError_ORDER_ERROR_REMOVAL_FAILURE
     9  	ErrInvalidExpirationDatetime                   = OrderError_ORDER_ERROR_INVALID_EXPIRATION_DATETIME
    10  	ErrEditNotAllowed                              = OrderError_ORDER_ERROR_EDIT_NOT_ALLOWED
    11  	ErrOrderAmendFailure                           = OrderError_ORDER_ERROR_AMEND_FAILURE
    12  	ErrOrderNotFound                               = OrderError_ORDER_ERROR_NOT_FOUND
    13  	ErrInvalidPartyID                              = OrderError_ORDER_ERROR_INVALID_PARTY_ID
    14  	ErrInvalidSize                                 = OrderError_ORDER_ERROR_INVALID_SIZE
    15  	ErrInvalidPersistence                          = OrderError_ORDER_ERROR_INVALID_PERSISTENCE
    16  	ErrInvalidType                                 = OrderError_ORDER_ERROR_INVALID_TYPE
    17  	ErrInvalidTimeInForce                          = OrderError_ORDER_ERROR_INVALID_TIME_IN_FORCE
    18  	ErrPeggedOrderMustBeLimitOrder                 = OrderError_ORDER_ERROR_MUST_BE_LIMIT_ORDER
    19  	ErrPeggedOrderMustBeGTTOrGTC                   = OrderError_ORDER_ERROR_MUST_BE_GTT_OR_GTC
    20  	ErrPeggedOrderWithoutReferencePrice            = OrderError_ORDER_ERROR_WITHOUT_REFERENCE_PRICE
    21  	ErrPeggedOrderBuyCannotReferenceBestAskPrice   = OrderError_ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE
    22  	ErrPeggedOrderOffsetMustBeGreaterOrEqualToZero = OrderError_ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO
    23  	ErrPeggedOrderSellCannotReferenceBestBidPrice  = OrderError_ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE
    24  	ErrPeggedOrderOffsetMustBeGreaterThanZero      = OrderError_ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO
    25  	ErrNonPersistentOrderOutOfBounds               = OrderError_ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS
    26  )
    27  
    28  func IsOrderError(err error) (OrderError, bool) {
    29  	oerr, ok := err.(OrderError)
    30  	return oerr, ok
    31  }
    32  
    33  func (err OrderError) Error() string {
    34  	switch err {
    35  	case OrderError_ORDER_ERROR_UNSPECIFIED:
    36  		return "none"
    37  	case OrderError_ORDER_ERROR_INVALID_MARKET_ID:
    38  		return "OrderError: Invalid Market ID"
    39  	case OrderError_ORDER_ERROR_INVALID_ORDER_ID:
    40  		return "OrderError: Invalid Order ID"
    41  	case OrderError_ORDER_ERROR_OUT_OF_SEQUENCE:
    42  		return "OrderError: Order Out Of Sequence"
    43  	case OrderError_ORDER_ERROR_INVALID_REMAINING_SIZE:
    44  		return "OrderError: Invalid Remaining Size"
    45  	case OrderError_ORDER_ERROR_TIME_FAILURE:
    46  		return "OrderError: Vega Time failure"
    47  	case OrderError_ORDER_ERROR_REMOVAL_FAILURE:
    48  		return "OrderError: Order Removal Failure"
    49  	case OrderError_ORDER_ERROR_INVALID_EXPIRATION_DATETIME:
    50  		return "OrderError: Invalid Expiration Datetime"
    51  	case OrderError_ORDER_ERROR_INVALID_ORDER_REFERENCE:
    52  		return "OrderError: Invalid Order Reference"
    53  	case OrderError_ORDER_ERROR_EDIT_NOT_ALLOWED:
    54  		return "OrderError: Edit Not Allowed"
    55  	case OrderError_ORDER_ERROR_AMEND_FAILURE:
    56  		return "OrderError: Order Amend Failure"
    57  	case OrderError_ORDER_ERROR_NOT_FOUND:
    58  		return "OrderError: Order Not Found"
    59  	case OrderError_ORDER_ERROR_INVALID_PARTY_ID:
    60  		return "OrderError: Invalid Party ID"
    61  	case OrderError_ORDER_ERROR_MARKET_CLOSED:
    62  		return "OrderError: Market Closed"
    63  	case OrderError_ORDER_ERROR_MARGIN_CHECK_FAILED:
    64  		return "OrderError: Margin Check Failed"
    65  	case OrderError_ORDER_ERROR_MISSING_GENERAL_ACCOUNT:
    66  		return "OrderError: Missing General Account"
    67  	case OrderError_ORDER_ERROR_INTERNAL_ERROR:
    68  		return "OrderError: Internal Error"
    69  	case OrderError_ORDER_ERROR_INVALID_SIZE:
    70  		return "OrderError: Invalid Size"
    71  	case OrderError_ORDER_ERROR_INVALID_PERSISTENCE:
    72  		return "OrderError: Invalid Persistence"
    73  	case OrderError_ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES:
    74  		return "OrderError: Insufficient funds to pay fees"
    75  	case OrderError_ORDER_ERROR_SELF_TRADING:
    76  		return "OrderError: Self trading"
    77  	case OrderError_ORDER_ERROR_INVALID_TYPE:
    78  		return "OrderError: Invalid Type"
    79  	case OrderError_ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT:
    80  		return "OrderError: Cannot amend order to GTT without an expiryAt field"
    81  	case OrderError_ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT:
    82  		return "OrderError: ExpiryAt field must not be before CreatedAt"
    83  	case OrderError_ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT:
    84  		return "OrderError: Cannot set ExpiryAt and GTC"
    85  	case OrderError_ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC:
    86  		return "OrderError: Cannot amend TIF to FOK or IOC"
    87  	case OrderError_ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN:
    88  		return "OrderError: Cannot amend TIF to GFA or GFN"
    89  	case OrderError_ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN:
    90  		return "OrderError: Cannot amend TIF from GFA or GFN"
    91  	case OrderError_ORDER_ERROR_INCORRECT_MARKET_TYPE:
    92  		return "OrderError: Invalid Market Type"
    93  	case OrderError_ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION:
    94  		return "OrderError: GFN Order Received During An Auction"
    95  	case OrderError_ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING:
    96  		return "OrderError: GFA Order Received During Continuous Trading"
    97  	case OrderError_ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION:
    98  		return "OrderError: IOC orders are not allowed during auction"
    99  	case OrderError_ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION:
   100  		return "OrderError: FOK orders are not allowed during auction"
   101  	case OrderError_ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE:
   102  		return "OrderError: insufficient asset balance to submit order"
   103  	case OrderError_ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER:
   104  		return "OrderError: cannot amend pegged details on a non pegged order"
   105  	case OrderError_ORDER_ERROR_INVALID_TIME_IN_FORCE:
   106  		return "OrderError: invalid time in force"
   107  	case OrderError_ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE:
   108  		return "OrderError: buy cannot reference best ask price"
   109  	case OrderError_ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO:
   110  		return "OrderError: offset must be >= 0"
   111  	case OrderError_ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE:
   112  		return "OrderError: sell cannot reference best bid price"
   113  	case OrderError_ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO:
   114  		return "OrderError: offset must be greater than zero"
   115  	case OrderError_ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS:
   116  		return "OrderError: non-persistent order trades out of price bounds"
   117  	case OrderError_ORDER_ERROR_TOO_MANY_PEGGED_ORDERS:
   118  		return "OrderError: too many pegged orders"
   119  	case OrderError_ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE:
   120  		return "OrderError: post only order would trade"
   121  	case OrderError_ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE_POSITION:
   122  		return "OrderError: reduce only order would not reduce position"
   123  	case OrderError_ORDER_ERROR_ISOLATED_MARGIN_CHECK_FAILED:
   124  		return "OrderError: isolated margin check failed"
   125  	case OrderError_ORDER_ERROR_PEGGED_ORDERS_NOT_ALLOWED_IN_ISOLATED_MARGIN_MODE:
   126  		return "OrderError: pegged orders not allowed in isolated margin mode"
   127  	case OrderError_ORDER_ERROR_PRICE_NOT_IN_TICK_SIZE:
   128  		return "OrderError: price not in tick size"
   129  	case OrderError_ORDER_ERROR_PRICE_MUST_BE_LESS_THAN_OR_EQUAL_TO_MAX_PRICE:
   130  		return "OrderError: price exceeds max price"
   131  	case OrderError_ORDER_ERROR_SELL_ORDER_NOT_ALLOWED:
   132  		return "OrderError: sell order not allowed"
   133  	default:
   134  		return "invalid OrderError"
   135  	}
   136  }