From e151f2316be6dc4961e2679eb0456b4f36c9f2e8 Mon Sep 17 00:00:00 2001 From: nfel Date: Sat, 31 May 2025 16:31:44 +0330 Subject: [PATCH] v2: refactor errors Signed-off-by: nfel --- errors/v1/msg.proto | 185 ++++++++++++++++++++++++-------------------- 1 file changed, 102 insertions(+), 83 deletions(-) diff --git a/errors/v1/msg.proto b/errors/v1/msg.proto index 9b2df3c..ea279f4 100644 --- a/errors/v1/msg.proto +++ b/errors/v1/msg.proto @@ -3,91 +3,110 @@ syntax = "proto3"; package errors.v1; enum ErrCode { + // General errors OK = 0; FAILED = 1; - INVALID_ARGUMENT = 2; - UNAUTHENTICATED = 3; - PERMISSION_DENIED = 4; - NOT_FOUND = 5; - ALREADY_EXISTS = 6; - UNIMPLEMENTED = 7; - INTERNAL = 8; - UNAVAILABLE = 9; - DATA_LOSS = 10; - INVALID_ARGUMENT_EMPTY_VALUE = 11; - INVALID_ARGUMENT_INVALID_VALUE = 12; - INVALID_ARGUMENT_INVALID_FORMAT = 13; - ACCESS_DENIED = 14; - PENDING_OTP_ALREADY_EXISTS = 15; - INVALID_OTP = 16; - SESSION_EXPIRED = 17; - BAD_AUTH = 18; - FORBIDDEN = 19; - SHAHKAR_FAILED = 20; - SHAHKAR_SYSTEM_ERROR = 21; - IBAN_MISS_MATCH = 22; - GET_PERSON_FAILED = 23; - INVALID_IBAN_NUMBER = 24; - INVALID_ARGUMENT_MISSING_RECIPIENT = 25; - INVALID_MOBILE_NUMBER = 26; - INVALID_STATUS = 27; - INVALID_ARGUMENT_EMPTY_ID = 28; - INVALID_ARGUMENT_COMPANY_REQUIRED = 29; - CAN_NOT_BUY = 30; - ASSET_IS_DEACTIVE = 31; - WHITELIST_ALREADY_USED = 32; - NATIONAL_ID_IS_EMPTY = 33; - NOT_ENOUGH_BALANCE = 34; - WALLET_IS_NOT_ACTIVE = 35; - MAX_ASSET_BALANCE_REACHED = 36; - WALLET_IS_NOT_IN_WHITE_LIST = 37; - ASSET_NOT_FOUND = 38; - INVALID_RRN = 39; - INVALID_CODE = 40; - BANK_INFO_NOT_FOUND = 41; - BAD_BANK_INFO = 42; - NOT_ACCEPT_LEGAL = 43; - NEED_TRUST_LINE = 44; - SERVER_ERROR = 45; - EXPIRED = 46; - INVALID_DISCOUNT_CODE = 47; - INVALID_ASSET = 48; - LOW_REQUEST_AMOUNT = 49; - AGREEMENT_ALREADY_ACCEPTED = 50; - CONTRACT_ALREADY_GENERATED = 51; - NIL_AUTH = 52; - CAN_NOT_BUY_AND_DEPOSIT = 53; - BUY_PRICE_IS_ZERO = 54; - AGREEMENT_NOT_FOUND = 55; - DISCOUNT_NOT_FOUND = 56; - MARKET_ORDER_NOT_FOUND = 57; - WALLET_NOT_FOUND = 58; - MARKET_ORDER_ALREADY_CREATED = 59; - MARKET_ORDER_ALREADY_OPENED = 60; - MARKET_ORDER_COMPLETED = 61; - MARKET_ORDER_CANCELED = 62; - MARKET_ORDER_FAILED = 63; - MARKET_ORDER_UNKOWN = 64; - TRX_STATUS_UNKONW = 65; - TRX_STATUS_PENDING = 66; - TRX_STATUS_FAILED = 67; - TRX_STATUS_SUCCESS = 68; - TRX_STATUS_CANCELED = 69; - TRX_STATUS_EXPIRED = 70; - TRX_STATUS_CREATED = 71; - TRX_STATUS_SUSPENDED = 72; - INVALID_ARGUMENT_UNKOWN_TRX_TYPE = 73; - SERVER_ERROR_FREEZED_BALANCE_NEGETIVE = 74; - SERVER_ERROR_NIL_DB_TX = 75; - RECIPIENT_NOT_FOUND = 76; - RECIPIENT_NOT_ACTIVE = 77; - RECIPIENT_IS_NOT_IN_WHITE_LIST = 78; - STELLAR_ERR_ESTABLISH_TRUSTLINE = 79; - STELLAR_ERR_CREATE_ACCOUNT = 80; - STELLAR_ERR_TRANSFER = 81; - STELLAR_ERR_GET_ACCOUNT = 82; - WALLET_IS_DEACTIVE = 83; - DISCOUNT_IS_DEACTIVE = 84; + SERVER_ERROR = 2; + INTERNAL = 3; + UNAVAILABLE = 4; + + // Authentication and authorization errors + UNAUTHENTICATED = 1000; + PERMISSION_DENIED = 1001; + ACCESS_DENIED = 1002; + FORBIDDEN = 1003; + BAD_AUTH = 1004; + SESSION_EXPIRED = 1005; + + // Argument validation errors + INVALID_ARGUMENT = 2000; + INVALID_ARGUMENT_EMPTY_VALUE = 2001; + INVALID_ARGUMENT_INVALID_VALUE = 2002; + INVALID_ARGUMENT_INVALID_FORMAT = 2003; + INVALID_ARGUMENT_MISSING_RECIPIENT = 2004; + INVALID_ARGUMENT_EMPTY_ID = 2005; + INVALID_ARGUMENT_COMPANY_REQUIRED = 2006; + INVALID_ARGUMENT_UNKNOWN_TRX_TYPE = 2007; + INVALID_ARGUMENT_INVALID_CODE = 2008; + INVALID_ARGUMENT_RRN = 2009; + INVALID_ARGUMENT_MOBILE_NUMBER = 2010; + INVALID_ARGUMENT_IBAN_NUMBER = 2011; + + // Resource errors + NOT_FOUND = 3000; + ALREADY_EXISTS = 3001; + ASSET_NOT_FOUND = 3002; + WALLET_NOT_FOUND = 3003; + AGREEMENT_NOT_FOUND = 3004; + DISCOUNT_NOT_FOUND = 3005; + BANK_INFO_NOT_FOUND = 3007; + RECIPIENT_NOT_FOUND = 3008; + + // Resource state errors + ASSET_NOT_ACTIVE = 4000; + WALLET_NOT_ACTIVE = 4001; + DISCOUNT_NOT_ACTIVE = 4002; + RECIPIENT_NOT_ACTIVE = 4003; + + // Transaction errors + TRX_STATUS_UNKNOWN = 5000; + TRX_STATUS_PENDING = 5001; + TRX_STATUS_FAILED = 5002; + TRX_STATUS_SUCCESS = 5003; + TRX_STATUS_CANCELED = 5004; + TRX_STATUS_EXPIRED = 5005; + TRX_STATUS_CREATED = 5006; + TRX_STATUS_SUSPENDED = 5007; + + // Stellar errors + STELLAR_ERR_ESTABLISH_TRUST_LINE = 6000; + STELLAR_ERR_CREATE_ACCOUNT = 6001; + STELLAR_ERR_TRANSFER = 6002; + STELLAR_ERR_GET_ACCOUNT = 6003; + STELLAR_ERR_LOW_FEE = 6004; + STELLAR_ERR_LOW_RESERVE = 6005; + + // Market-related errors + MARKET_ORDER_NOT_FOUND = 3006; + MARKET_ORDER_ALREADY_CREATED = 7020; + MARKET_ORDER_ALREADY_OPENED = 7021; + MARKET_ORDER_COMPLETED = 7022; + MARKET_ORDER_CANCELED = 7023; + MARKET_ORDER_FAILED = 7024; + MARKET_ORDER_UNKNOWN = 7025; + ASSET_CAN_NOT_BUY = 7026; + ASSET_BUY_PRICE_IS_ZERO = 7019; + + // Specific errors + IBAN_MISS_MATCH = 7003; + SHAHKAR_FAILED = 7004; + SHAHKAR_SYSTEM_ERROR = 7005; + PENDING_OTP_ALREADY_EXISTS = 7006; + INVALID_OTP = 7007; + BAD_BANK_INFO = 7008; + NOT_ACCEPT_LEGAL = 7009; + NEED_TRUST_LINE = 7010; + EXPIRED = 7011; + INVALID_DISCOUNT_CODE = 7012; + ASSET_INVALID = 7013; + LOW_REQUEST_AMOUNT = 7014; + AGREEMENT_ALREADY_ACCEPTED = 7015; + CONTRACT_ALREADY_GENERATED = 7016; + NIL_AUTH = 7017; + CAN_NOT_BUY_AND_DEPOSIT = 7018; + WHITELIST_ALREADY_USED = 7027; + NATIONAL_ID_IS_EMPTY = 7028; + NOT_ENOUGH_BALANCE = 7029; + ASSET_MAX_BALANCE_REACHED = 7030; + WALLET_IS_NOT_IN_WHITE_LIST = 7031; + RECIPIENT_IS_NOT_IN_WHITE_LIST = 7032; + + // Server errors + SERVER_ERROR_FREEZED_BALANCE_NEGATIVE = 8000; // + SERVER_ERROR_NIL_DB_TX = 8001; + + // Person-related errors + GET_PERSON_FAILED = 9000; } message ErrorMsg {