UNPKG

@thorium-dev-group/x402-mcp-extension

Version:
41 lines 1.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CoinbaseFacilitatorService = void 0; exports.createCoinbaseFacilitator = createCoinbaseFacilitator; const verify_1 = require("x402/verify"); const base_facilitator_1 = require("./base-facilitator"); const { createFacilitatorConfig } = require('@coinbase/x402'); class CoinbaseFacilitatorService extends base_facilitator_1.BaseFacilitatorService { verify; settle; constructor(apiKeyId, apiKeySecret) { super(); const facilitatorConfig = createFacilitatorConfig(apiKeyId, apiKeySecret); const { verify, settle } = (0, verify_1.useFacilitator)(facilitatorConfig); this.verify = verify; this.settle = settle; } async performValidation(payload, paymentRequirements) { const result = await this.verify(payload, paymentRequirements); return { isValid: result.isValid, invalidReason: result.invalidReason, payer: result.payer, }; } async performExecution(payload, paymentRequirements) { return await this.settle(payload, paymentRequirements); } } exports.CoinbaseFacilitatorService = CoinbaseFacilitatorService; function createCoinbaseFacilitator(apiKeyId, apiKeySecret) { if (!apiKeyId || !apiKeySecret) { apiKeyId = process.env.CDP_API_KEY_ID; apiKeySecret = process.env.CDP_API_KEY_SECRET; if (!apiKeyId || !apiKeySecret) { throw new Error('CDP_API_KEY_ID and/or CDP_API_KEY_SECRET not found in environment variables. Some tests may be skipped.'); } } return new CoinbaseFacilitatorService(apiKeyId, apiKeySecret); } //# sourceMappingURL=coinbaseFacilitator.js.map