syntax = "proto3"; package errors.v1; enum ErrCode { // General errors OK = 0; FAILED = 1; 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; USER_KYC_LV1_NOT_FOUND = 1006; USER_KYC_LV2_NOT_FOUND = 1007; // 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; INVALID_ARGUMENT_UNKNOWN_TYPE = 2012; INVALID_ARGUMENT_BAD_STELLAR_ADDRESS = 2013; INVALID_ARGUMENT_ZERO_AMOUNT = 2014; INVALID_BUY_AMOUNT = 2015; INVALID_BUY_AMOUNT_MAX = 2016; INVALID_BUY_AMOUNT_MIN = 2017; INVALID_ARGUMENT_TFA_REQUIRED = 2018; // 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; USER_NOT_FOUND = 3009; MARKET_AGREEMENT_ALREADY_ACCEPTED = 3010; // 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; MARKET_ORDER_UNSUPPORTED_PARTICIPANT_TYPE = 7045; ASSET_CAN_NOT_BUY = 7026; ASSET_BUY_PRICE_IS_ZERO = 7019; MARKET_ORDER_MATCHING_ERR_REFUND = 7128; // 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; CONTRACT_NOT_FOUND = 7080; 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; MOBILE_NATIONAL_ID_MISS_MATCH = 7033; NOT_ENOUGH_LOCKED_BALANCE = 7034; NOT_ENOUGH_BALANCE_TO_LOCK = 7035; IPG_GEN_TOKEN_FAILED = 7036; // Server errors SERVER_ERROR_FREEZED_BALANCE_NEGATIVE = 8000; SERVER_ERROR_NIL_DB_TX = 8001; SERVER_ERROR_TFA_TEMPLATE_NOT_FOUND = 8002; // Person-related errors GET_PERSON_FAILED = 9000; USER_NOT_VERIFIED = 9001; USER_BANNED = 9002; USER_DELETED = 9003; USER_DISABLED = 9004; } message ErrorMsg { ErrCode code = 1; map details = 2; }