@relai-fi/x402 0.5.36 → 0.5.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +52 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +52 -2
- package/dist/index.js.map +1 -1
- package/dist/plugins.cjs +67 -0
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.d.cts +1 -1
- package/dist/plugins.d.ts +1 -1
- package/dist/plugins.js +66 -0
- package/dist/plugins.js.map +1 -1
- package/dist/{server-BRSLRU_Y.d.ts → server-DJGM7dFH.d.ts} +54 -1
- package/dist/{server-BAPqyEka.d.cts → server-DPYBh7fy.d.cts} +54 -1
- package/dist/server.cjs +52 -2
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +52 -2
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -661,7 +661,7 @@ var Relai = class {
|
|
|
661
661
|
resolvedPayTo = options.payTo;
|
|
662
662
|
}
|
|
663
663
|
const feePayer = options.feePayer || await self.getFeePayer(caip2);
|
|
664
|
-
|
|
664
|
+
let paymentRequiredResponse = {
|
|
665
665
|
x402Version: 2,
|
|
666
666
|
error: "Payment required",
|
|
667
667
|
resource: {
|
|
@@ -699,7 +699,24 @@ var Relai = class {
|
|
|
699
699
|
}
|
|
700
700
|
}
|
|
701
701
|
} : {}
|
|
702
|
-
}
|
|
702
|
+
};
|
|
703
|
+
if (self.plugins.length > 0) {
|
|
704
|
+
const enrichCtx = {
|
|
705
|
+
network,
|
|
706
|
+
price: resolvedPrice,
|
|
707
|
+
path: req.path || req.originalUrl || "/",
|
|
708
|
+
method: (req.method || "GET").toUpperCase()
|
|
709
|
+
};
|
|
710
|
+
for (const plugin of self.plugins) {
|
|
711
|
+
if (!plugin.enrich402Response) continue;
|
|
712
|
+
try {
|
|
713
|
+
paymentRequiredResponse = plugin.enrich402Response(paymentRequiredResponse, enrichCtx) || paymentRequiredResponse;
|
|
714
|
+
} catch (pluginErr) {
|
|
715
|
+
console.warn(`[Relai] Plugin '${plugin.name}' enrich402Response error (non-blocking):`, pluginErr);
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
return res.status(402).json(paymentRequiredResponse);
|
|
703
720
|
}
|
|
704
721
|
let paymentProof;
|
|
705
722
|
try {
|
|
@@ -715,6 +732,39 @@ var Relai = class {
|
|
|
715
732
|
});
|
|
716
733
|
}
|
|
717
734
|
}
|
|
735
|
+
if (paymentProof.bridged === true && paymentProof.targetTxId) {
|
|
736
|
+
console.log(`[Relai] Bridged payment accepted: source=${paymentProof.sourceTxId}, target=${paymentProof.targetTxId}`);
|
|
737
|
+
const paymentInfo2 = {
|
|
738
|
+
verified: true,
|
|
739
|
+
transactionId: paymentProof.targetTxId,
|
|
740
|
+
payer: paymentProof.sourceTxId || "bridge",
|
|
741
|
+
network,
|
|
742
|
+
amount: resolvedPrice
|
|
743
|
+
};
|
|
744
|
+
req.payment = paymentInfo2;
|
|
745
|
+
req.x402Payer = paymentProof.sourceTxId || "bridge";
|
|
746
|
+
req.x402Paid = true;
|
|
747
|
+
req.x402Transaction = paymentProof.targetTxId;
|
|
748
|
+
req.x402Network = network;
|
|
749
|
+
req.x402Bridged = true;
|
|
750
|
+
req.x402SourceChain = paymentProof.sourceChain;
|
|
751
|
+
const paymentResponse2 = {
|
|
752
|
+
x402Version: 2,
|
|
753
|
+
scheme: "exact",
|
|
754
|
+
network: caip2,
|
|
755
|
+
transaction: paymentProof.targetTxId,
|
|
756
|
+
payer: paymentProof.sourceTxId,
|
|
757
|
+
amount,
|
|
758
|
+
asset,
|
|
759
|
+
bridged: true
|
|
760
|
+
};
|
|
761
|
+
res.setHeader(
|
|
762
|
+
"PAYMENT-RESPONSE",
|
|
763
|
+
Buffer.from(JSON.stringify(paymentResponse2)).toString("base64")
|
|
764
|
+
);
|
|
765
|
+
options.onPaymentSettled?.(req, { success: true, transaction: paymentProof.targetTxId, payer: paymentProof.sourceTxId });
|
|
766
|
+
return next();
|
|
767
|
+
}
|
|
718
768
|
let settlePayTo;
|
|
719
769
|
if (stripeConfig) {
|
|
720
770
|
settlePayTo = paymentProof.payload?.authorization?.to || paymentProof.accepted?.payTo || "";
|