@thorium-dev-group/x402-mcp-extension
Version:
X402-MCP Protocol Extension
42 lines (41 loc) • 1.5 kB
TypeScript
import { RequestId } from '@modelcontextprotocol/sdk/types.js';
import { IStorageInterface } from '../shared/interfaces';
export type RequestStatus = 'pending' | 'completed' | 'failed';
export type PaymentStatus = 'pending' | 'completed' | 'failed';
export interface PaymentAuditRecord {
requestId: string;
serverId: string;
method: string;
params?: any;
paymentAmount?: string;
paymentNetwork?: string;
paymentAsset?: string;
paymentPayTo?: string;
requestStatus: RequestStatus;
paymentStatus: PaymentStatus;
createdAt: Date;
requestCompletedAt?: Date;
paymentCompletedAt?: Date;
errorReason?: string;
transactionHash?: string;
payerAddress?: string;
}
export declare class PaymentAuditStorage {
private storage;
constructor(props: {
storage: IStorageInterface;
});
storePendingRequest(record: Omit<PaymentAuditRecord, 'requestStatus' | 'paymentStatus' | 'createdAt'>): Promise<void>;
getPendingRequest(requestId: RequestId): Promise<PaymentAuditRecord | null>;
markRequestCompleted(requestId: RequestId, completedAt?: Date): Promise<void>;
updatePaymentStatus(requestId: RequestId, status: PaymentStatus, details?: {
transactionHash?: string;
payerAddress?: string;
errorReason?: string;
completedAt?: Date;
}): Promise<void>;
removePendingRequest(requestId: RequestId): Promise<void>;
private buildPendingKey;
private read;
private write;
}