@thorium-dev-group/x402-mcp-extension
Version:
X402-MCP Protocol Extension
24 lines (23 loc) • 1.13 kB
TypeScript
import { PaymentResult } from '../../../shared/schemas';
import type { IFacilitatorService } from './IFacilitatorService';
import type { PaymentPayload, PaymentRequirements } from 'x402/types';
export interface ValidationResult {
isValid: boolean;
invalidReason?: string;
payer?: string;
}
export interface ExecutionResult {
success: boolean;
txHash?: string;
status: 'submitted' | 'confirmed' | 'failed';
error?: string;
errorReason?: string;
}
export declare abstract class BaseFacilitatorService implements IFacilitatorService {
protected abstract performValidation(payload: PaymentPayload, requirements: any): Promise<ValidationResult>;
protected abstract performExecution(payload: PaymentPayload, requirements: any): Promise<PaymentResult>;
validatePayment(payload: PaymentPayload, paymentRequirements: any): Promise<ValidationResult>;
executePayment(payload: PaymentPayload, paymentRequirements: PaymentRequirements): Promise<PaymentResult>;
protected createValidResult(payer?: string): ValidationResult;
protected createInvalidResult(reason: string): ValidationResult;
}