@thorium-dev-group/x402-mcp-extension
Version:
X402-MCP Protocol Extension
50 lines • 2.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MockFacilitatorService = void 0;
exports.createMockFacilitator = createMockFacilitator;
const base_facilitator_1 = require("./base-facilitator");
class MockFacilitatorService extends base_facilitator_1.BaseFacilitatorService {
shouldValidate;
shouldExecute;
mockTxHash;
constructor(shouldValidate = true, shouldExecute = true, mockTxHash = 'mock-tx-hash') {
super();
this.shouldValidate = shouldValidate;
this.shouldExecute = shouldExecute;
this.mockTxHash = mockTxHash;
}
async performValidation(payload, paymentRequirements) {
console.log('MockFacilitator: validatePayment called with:', { payload, paymentRequirements });
if (this.shouldValidate) {
return this.createValidResult('0x1234567890123456789012345678901234567890');
}
else {
return this.createInvalidResult('Mock validation failed');
}
}
async performExecution(payload, paymentRequirements) {
console.log('MockFacilitator: executePayment called with:', { payload, paymentRequirements });
if (this.shouldExecute) {
return {
success: true,
transaction: this.mockTxHash,
payer: '0x1234567890123456789012345678901234567890',
network: paymentRequirements.network,
asset: paymentRequirements.asset,
outputSchema: paymentRequirements.outputSchema,
};
}
else {
return {
success: false,
transaction: '0x',
errorReason: 'unexpected_settle_error',
};
}
}
}
exports.MockFacilitatorService = MockFacilitatorService;
function createMockFacilitator(shouldValidate = true, shouldExecute = true, mockTxHash = 'mock-tx-hash') {
return new MockFacilitatorService(shouldValidate, shouldExecute, mockTxHash);
}
//# sourceMappingURL=mockFacilitator.js.map