@anuragchvn-blip/mandatekit
Version:
Production-ready Web3 autopay SDK for crypto-based recurring payments using EIP-712 mandates
102 lines • 3.39 kB
TypeScript
/**
* 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