enum ErrorCode {
// Validation
INVALID_AMOUNT = 'INVALID_AMOUNT',
INVALID_ADDRESS = 'INVALID_ADDRESS',
INVALID_TOKEN = 'INVALID_TOKEN',
// Business logic
INSUFFICIENT_BALANCE = 'INSUFFICIENT_BALANCE',
STRATEGY_NOT_ACTIVE = 'STRATEGY_NOT_ACTIVE',
ALLOCATION_NOT_FOUND = 'ALLOCATION_NOT_FOUND',
OPERATION_EXPIRED = 'OPERATION_EXPIRED',
OPERATION_ALREADY_SUBMITTED = 'OPERATION_ALREADY_SUBMITTED',
TOKEN_MISMATCH = 'TOKEN_MISMATCH',
INVALID_OPERATION_STATUS = 'INVALID_OPERATION_STATUS',
OPERATION_IN_PROGRESS = 'OPERATION_IN_PROGRESS',
// Resources
VENUE_NOT_FOUND = 'VENUE_NOT_FOUND',
STRATEGY_NOT_FOUND = 'STRATEGY_NOT_FOUND',
OPERATION_NOT_FOUND = 'OPERATION_NOT_FOUND',
TRANSACTION_NOT_FOUND = 'TRANSACTION_NOT_FOUND',
WALLET_NOT_FOUND = 'WALLET_NOT_FOUND',
ORGANIZATION_NOT_FOUND = 'ORGANIZATION_NOT_FOUND',
TOKEN_NOT_FOUND = 'TOKEN_NOT_FOUND',
// Simulation
INSUFFICIENT_GAS = 'INSUFFICIENT_GAS',
SIMULATION_FAILED = 'SIMULATION_FAILED',
// Client
INVALID_API_KEY = 'INVALID_API_KEY',
API_KEY_DISABLED = 'API_KEY_DISABLED',
RATE_LIMIT_EXCEEDED = 'RATE_LIMIT_EXCEEDED',
TIMEOUT = 'TIMEOUT',
NETWORK_ERROR = 'NETWORK_ERROR',
UNKNOWN_ERROR = 'UNKNOWN_ERROR',
}