UNPKG

@anuragchvn-blip/mandatekit

Version:

Production-ready Web3 autopay SDK for crypto-based recurring payments using EIP-712 mandates

102 lines 3.39 kB
/** * Custom error classes for MandateKit SDK * Provides descriptive, actionable error messages for common failure scenarios * @module errors */ /** * Base error class for all MandateKit errors */ export declare class MandateKitError extends Error { readonly code: string; readonly details?: unknown; constructor(message: string, code: string, details?: unknown); } /** * Thrown when a signature is invalid or cannot be verified */ export declare class InvalidSignatureError extends MandateKitError { constructor(message?: string, details?: unknown); } /** * Thrown when a mandate has expired based on validBefore timestamp */ export declare class ExpiredMandateError extends MandateKitError { constructor(validBefore: number, currentTime?: number, details?: unknown); } /** * Thrown when attempting to use a mandate before its validAfter timestamp */ export declare class MandateNotYetValidError extends MandateKitError { constructor(validAfter: number, currentTime?: number, details?: unknown); } /** * Thrown when cadence rules are violated (e.g., executing too frequently) */ export declare class CadenceViolationError extends MandateKitError { constructor(message: string, nextAllowedExecution?: number, details?: unknown); } /** * Thrown when a nonce has already been used (replay protection) */ export declare class NonceAlreadyUsedError extends MandateKitError { constructor(nonce: bigint | string, address: string, details?: unknown); } /** * Thrown when maximum payment count has been reached */ export declare class MaxPaymentsReachedError extends MandateKitError { constructor(maxPayments: number, currentCount: number, details?: unknown); } /** * Thrown when mandate validation fails */ export declare class ValidationError extends MandateKitError { constructor(message: string, field?: string, details?: unknown); } /** * Thrown when a contract interaction fails */ export declare class ContractError extends MandateKitError { constructor(message: string, contractAddress?: string, details?: unknown); } /** * Thrown when insufficient token balance or allowance */ export declare class InsufficientBalanceError extends MandateKitError { constructor(required: bigint, available: bigint, tokenAddress: string, details?: unknown); } /** * Thrown when there's an issue with the relayer */ export declare class RelayerError extends MandateKitError { constructor(message: string, details?: unknown); } /** * Thrown when network or RPC issues occur */ export declare class NetworkError extends MandateKitError { constructor(message: string, chainId?: number, details?: unknown); } /** * Thrown when trying to execute a payment too early */ export declare class ExecutionTooEarlyError extends MandateKitError { constructor(nextExecutionTime: number, currentTime?: number, details?: unknown); } /** * Helper function to check if an error is a MandateKit error */ export declare function isMandateKitError(error: unknown): error is MandateKitError; /** * Helper function to get error code from any error */ export declare function getErrorCode(error: unknown): string; /** * Helper function to format error for API responses */ export declare function formatErrorResponse(error: unknown): { code: string; message: string; details?: unknown; }; //# sourceMappingURL=index.d.ts.map