@gorbchain-xyz/chaindecode
Version:
GorbchainSDK V1.3+ - Complete Solana development toolkit with advanced cryptography, messaging, and collaboration features. Build secure applications with blockchain, DeFi, and end-to-end encryption.
98 lines (97 loc) • 2.56 kB
TypeScript
/**
* Error severity levels for the SDK
*/
export declare enum ErrorSeverity {
LOW = "low",
MEDIUM = "medium",
HIGH = "high",
CRITICAL = "critical"
}
/**
* Error categories for classification
*/
export declare enum ErrorCategory {
NETWORK = "network",
RPC = "rpc",
DECODER = "decoder",
TRANSACTION = "transaction",
VALIDATION = "validation",
CONFIGURATION = "configuration",
AUTHENTICATION = "authentication",
RATE_LIMIT = "rate_limit",
TIMEOUT = "timeout",
UNKNOWN = "unknown"
}
/**
* Error context information
*/
export interface ErrorContext {
/** Transaction signature if applicable */
transactionSignature?: string;
/** Program ID if applicable */
programId?: string;
/** Account address if applicable */
account?: string;
/** RPC endpoint if applicable */
rpcEndpoint?: string;
/** Additional metadata */
metadata?: Record<string, unknown>;
/** Timestamp when error occurred */
timestamp?: Date;
/** SDK version */
sdkVersion?: string;
/** Network being used */
network?: string;
}
/**
* Base SDK error class with enhanced error information
*/
export declare abstract class SDKError extends Error {
readonly code: string;
readonly severity: ErrorSeverity;
readonly category: ErrorCategory;
readonly context: ErrorContext;
readonly retryable: boolean;
readonly solution?: string;
readonly cause?: Error;
constructor(message: string, code: string, severity: ErrorSeverity, category: ErrorCategory, context?: ErrorContext, options?: {
retryable?: boolean;
solution?: string;
cause?: Error;
});
/**
* Convert error to JSON for logging/reporting
*/
toJSON(): Record<string, unknown>;
/**
* Get detailed error message with context
*/
getDetailedMessage(): string;
/**
* Check if error is retryable
*/
isRetryable(): boolean;
/**
* Check if error is critical
*/
isCritical(): boolean;
}
/**
* Generic SDK error for unknown/unclassified errors
*/
export declare class GorbchainSDKError extends SDKError {
constructor(message: string, context?: ErrorContext, options?: {
retryable?: boolean;
solution?: string;
cause?: Error;
});
}
/**
* Configuration error for invalid SDK setup
*/
export declare class ConfigurationError extends SDKError {
constructor(message: string, context?: ErrorContext, options?: {
solution?: string;
cause?: Error;
});
}