thirdweb 5.107.1-nightly-51177fbe17153b711d80ec87b43aadc8ca12fb9e-20250922000346 → 5.108.0-nightly-a94f22928a662a5aff7a203fc2d383d9fa0907ec-20250923000340
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/cjs/exports/x402.js +6 -1
- package/dist/cjs/exports/x402.js.map +1 -1
- package/dist/cjs/gas/fee-data.js +1 -0
- package/dist/cjs/gas/fee-data.js.map +1 -1
- package/dist/cjs/react/core/utils/defaultTokens.js +2 -8
- package/dist/cjs/react/core/utils/defaultTokens.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/BridgeOrchestrator.js +18 -14
- package/dist/cjs/react/web/ui/Bridge/BridgeOrchestrator.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/BuyWidget.js +15 -6
- package/dist/cjs/react/web/ui/Bridge/BuyWidget.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/x402/encode.js +71 -0
- package/dist/cjs/x402/encode.js.map +1 -0
- package/dist/cjs/x402/facilitator.js +83 -2
- package/dist/cjs/x402/facilitator.js.map +1 -1
- package/dist/cjs/x402/fetchWithPayment.js +7 -15
- package/dist/cjs/x402/fetchWithPayment.js.map +1 -1
- package/dist/cjs/x402/schemas.js +50 -0
- package/dist/cjs/x402/schemas.js.map +1 -0
- package/dist/cjs/x402/sign.js +148 -0
- package/dist/cjs/x402/sign.js.map +1 -0
- package/dist/cjs/x402/verify-payment.js +341 -0
- package/dist/cjs/x402/verify-payment.js.map +1 -0
- package/dist/esm/exports/x402.js +2 -0
- package/dist/esm/exports/x402.js.map +1 -1
- package/dist/esm/gas/fee-data.js +1 -0
- package/dist/esm/gas/fee-data.js.map +1 -1
- package/dist/esm/react/core/utils/defaultTokens.js +2 -8
- package/dist/esm/react/core/utils/defaultTokens.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/BridgeOrchestrator.js +18 -14
- package/dist/esm/react/web/ui/Bridge/BridgeOrchestrator.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/BuyWidget.js +15 -6
- package/dist/esm/react/web/ui/Bridge/BuyWidget.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/x402/encode.js +66 -0
- package/dist/esm/x402/encode.js.map +1 -0
- package/dist/esm/x402/facilitator.js +83 -2
- package/dist/esm/x402/facilitator.js.map +1 -1
- package/dist/esm/x402/fetchWithPayment.js +8 -16
- package/dist/esm/x402/fetchWithPayment.js.map +1 -1
- package/dist/esm/x402/schemas.js +46 -0
- package/dist/esm/x402/schemas.js.map +1 -0
- package/dist/esm/x402/sign.js +145 -0
- package/dist/esm/x402/sign.js.map +1 -0
- package/dist/esm/x402/verify-payment.js +338 -0
- package/dist/esm/x402/verify-payment.js.map +1 -0
- package/dist/types/exports/x402.d.ts +2 -0
- package/dist/types/exports/x402.d.ts.map +1 -1
- package/dist/types/gas/fee-data.d.ts.map +1 -1
- package/dist/types/react/core/utils/defaultTokens.d.ts +2 -7
- package/dist/types/react/core/utils/defaultTokens.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/BridgeOrchestrator.d.ts +4 -3
- package/dist/types/react/web/ui/Bridge/BridgeOrchestrator.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/BuyWidget.d.ts +7 -3
- package/dist/types/react/web/ui/Bridge/BuyWidget.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/x402/encode.d.ts +23 -0
- package/dist/types/x402/encode.d.ts.map +1 -0
- package/dist/types/x402/facilitator.d.ts +44 -3
- package/dist/types/x402/facilitator.d.ts.map +1 -1
- package/dist/types/x402/fetchWithPayment.d.ts +1 -1
- package/dist/types/x402/fetchWithPayment.d.ts.map +1 -1
- package/dist/types/x402/schemas.d.ts +164 -0
- package/dist/types/x402/schemas.d.ts.map +1 -0
- package/dist/types/x402/sign.d.ts +12 -0
- package/dist/types/x402/sign.d.ts.map +1 -0
- package/dist/types/x402/verify-payment.d.ts +158 -0
- package/dist/types/x402/verify-payment.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/exports/x402.ts +6 -0
- package/src/gas/fee-data.ts +1 -0
- package/src/react/core/utils/defaultTokens.ts +2 -8
- package/src/react/web/ui/Bridge/BridgeOrchestrator.tsx +42 -31
- package/src/react/web/ui/Bridge/BuyWidget.tsx +24 -9
- package/src/version.ts +1 -1
- package/src/x402/encode.ts +81 -0
- package/src/x402/facilitator.ts +114 -6
- package/src/x402/fetchWithPayment.ts +13 -27
- package/src/x402/schemas.ts +76 -0
- package/src/x402/sign.ts +206 -0
- package/src/x402/verify-payment.ts +469 -0
|
@@ -46,16 +46,16 @@ export function BridgeOrchestrator({ client, uiOptions, receiverAddress, onCompl
|
|
|
46
46
|
}
|
|
47
47
|
}, [send, uiOptions.mode]);
|
|
48
48
|
// Handle post-buy transaction completion
|
|
49
|
-
const handlePostBuyTransactionComplete = useCallback(() => {
|
|
50
|
-
onComplete?.();
|
|
49
|
+
const handlePostBuyTransactionComplete = useCallback((quote) => {
|
|
50
|
+
onComplete?.(quote);
|
|
51
51
|
send({ type: "RESET" });
|
|
52
52
|
}, [onComplete, send]);
|
|
53
53
|
// Handle errors
|
|
54
54
|
const handleError = useCallback((error) => {
|
|
55
55
|
console.error(error);
|
|
56
|
-
onError?.(error);
|
|
56
|
+
onError?.(error, state.context.quote);
|
|
57
57
|
send({ error, type: "ERROR_OCCURRED" });
|
|
58
|
-
}, [onError, send]);
|
|
58
|
+
}, [onError, send, state.context.quote]);
|
|
59
59
|
// Handle payment method selection
|
|
60
60
|
const handlePaymentMethodSelected = useCallback((paymentMethod) => {
|
|
61
61
|
send({ paymentMethod, type: "PAYMENT_METHOD_SELECTED" });
|
|
@@ -69,16 +69,17 @@ export function BridgeOrchestrator({ client, uiOptions, receiverAddress, onCompl
|
|
|
69
69
|
send({ type: "ROUTE_CONFIRMED" });
|
|
70
70
|
}, [send]);
|
|
71
71
|
// Handle execution complete
|
|
72
|
-
const handleExecutionComplete = useCallback((completedStatuses) => {
|
|
72
|
+
const handleExecutionComplete = useCallback((completedStatuses, quote) => {
|
|
73
73
|
send({ completedStatuses, type: "EXECUTION_COMPLETE" });
|
|
74
74
|
if (uiOptions.mode !== "transaction") {
|
|
75
|
-
onComplete?.();
|
|
75
|
+
onComplete?.(quote);
|
|
76
76
|
}
|
|
77
77
|
}, [send, onComplete, uiOptions.mode]);
|
|
78
78
|
// Handle retry
|
|
79
79
|
const handleRetry = useCallback(() => {
|
|
80
80
|
send({ type: "RETRY" });
|
|
81
81
|
}, [send]);
|
|
82
|
+
const quote = state.context.quote;
|
|
82
83
|
// Handle requirements resolved from FundWallet and DirectPayment
|
|
83
84
|
const handleRequirementsResolved = useCallback((amount, token, receiverAddress) => {
|
|
84
85
|
send({
|
|
@@ -90,7 +91,7 @@ export function BridgeOrchestrator({ client, uiOptions, receiverAddress, onCompl
|
|
|
90
91
|
}, [send]);
|
|
91
92
|
return (_jsxs(Container, { flex: "column", fullHeight: true, children: [state.value === "error" && state.context.currentError && (_jsx(ErrorBanner, { client: client, error: state.context.currentError, onCancel: () => {
|
|
92
93
|
send({ type: "RESET" });
|
|
93
|
-
onCancel?.();
|
|
94
|
+
onCancel?.(quote);
|
|
94
95
|
}, onRetry: handleRetry })), state.value === "init" && uiOptions.mode === "fund_wallet" && (_jsx(FundWallet, { client: client, connectOptions: modifiedConnectOptions, onContinue: handleRequirementsResolved, presetOptions: presetOptions, receiverAddress: receiverAddress, showThirdwebBranding: showThirdwebBranding, uiOptions: uiOptions })), state.value === "init" && uiOptions.mode === "direct_payment" && (_jsx(DirectPayment, { client: client, onContinue: handleRequirementsResolved, showThirdwebBranding: showThirdwebBranding, uiOptions: uiOptions })), state.value === "init" && uiOptions.mode === "transaction" && (_jsx(TransactionPayment, { client: client, connectOptions: modifiedConnectOptions, onContinue: handleRequirementsResolved, onExecuteTransaction: () => send({ type: "CONTINUE_TO_TRANSACTION" }), showThirdwebBranding: showThirdwebBranding, uiOptions: uiOptions })), state.value === "methodSelection" &&
|
|
95
96
|
state.context.destinationToken &&
|
|
96
97
|
state.context.destinationAmount &&
|
|
@@ -108,15 +109,18 @@ export function BridgeOrchestrator({ client, uiOptions, receiverAddress, onCompl
|
|
|
108
109
|
state.context.selectedPaymentMethod &&
|
|
109
110
|
state.context.quote && (_jsx(PaymentDetails, { client: client, onBack: () => {
|
|
110
111
|
send({ type: "BACK" });
|
|
111
|
-
}, onConfirm: handleRouteConfirmed, onError: handleError, paymentMethod: state.context.selectedPaymentMethod, preparedQuote: state.context.quote, uiOptions: uiOptions })), state.value === "execute" &&
|
|
112
|
-
state.context.quote &&
|
|
113
|
-
state.context.request && (_jsx(StepRunner, { autoStart: true, client: client, onBack: () => {
|
|
112
|
+
}, onConfirm: handleRouteConfirmed, onError: handleError, paymentMethod: state.context.selectedPaymentMethod, preparedQuote: state.context.quote, uiOptions: uiOptions })), state.value === "execute" && quote && state.context.request && (_jsx(StepRunner, { autoStart: true, client: client, onBack: () => {
|
|
114
113
|
send({ type: "BACK" });
|
|
115
|
-
}, onCancel:
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
}, onCancel: () => {
|
|
115
|
+
onCancel(quote);
|
|
116
|
+
}, onComplete: (completedStatuses) => {
|
|
117
|
+
handleExecutionComplete(completedStatuses, quote);
|
|
118
|
+
}, request: state.context.request, wallet: state.context.selectedPaymentMethod?.payerWallet, windowAdapter: webWindowAdapter })), state.value === "success" &&
|
|
119
|
+
quote &&
|
|
120
|
+
state.context.completedStatuses && (_jsx(SuccessScreen, { client: client, completedStatuses: state.context.completedStatuses, onDone: handleDoneOrContinueClick, preparedQuote: quote, uiOptions: uiOptions, windowAdapter: webWindowAdapter, hasPaymentId: !!paymentLinkId })), state.value === "post-buy-transaction" &&
|
|
118
121
|
uiOptions.mode === "transaction" &&
|
|
119
|
-
|
|
122
|
+
quote &&
|
|
123
|
+
uiOptions.transaction && (_jsx(ExecutingTxScreen, { closeModal: () => handlePostBuyTransactionComplete(quote), onTxSent: () => {
|
|
120
124
|
// Do nothing
|
|
121
125
|
}, tx: uiOptions.transaction, windowAdapter: webWindowAdapter }))] }));
|
|
122
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BridgeOrchestrator.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/Bridge/BridgeOrchestrator.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAO7C,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAO1E,OAAO,EAEL,iBAAiB,GAClB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA0G7D,MAAM,UAAU,kBAAkB,CAAC,EACjC,MAAM,EACN,SAAS,EACT,eAAe,EACf,UAAU,EACV,OAAO,EACP,QAAQ,EACR,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,EACnC,oBAAoB,GAAG,IAAI,EAC3B,eAAe,EACf,OAAO,GAAG,IAAI,GACU;IACxB,sBAAsB;IACtB,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC;QACL,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,gBAAgB;KACzB,CAAC,EACF,EAAE,CACH,CAAC;IAEF,wDAAwD;IACxD,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,cAAc;YAAE,OAAO,SAAS,CAAC;QACtC,OAAO;YACL,GAAG,cAAc;YACjB,YAAY,EAAE;gBACZ,GAAG,cAAc,CAAC,YAAY;gBAC9B,oBAAoB;aACrB;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAE3C,+BAA+B;IAC/B,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAElE,wBAAwB;IACxB,MAAM,yBAAyB,GAAG,WAAW,CAAC,GAAG,EAAE;QACjD,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACrC,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3B,yCAAyC;IACzC,MAAM,gCAAgC,GAAG,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"BridgeOrchestrator.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/Bridge/BridgeOrchestrator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -215,12 +215,21 @@ export function BuyWidget(props) {
|
|
|
215
215
|
}
|
|
216
216
|
else if (bridgeDataQuery.data?.type === "success") {
|
|
217
217
|
// Show normal bridge orchestrator
|
|
218
|
-
content = (_jsx(BridgeOrchestrator, { country: props.country, supportedTokens: props.supportedTokens, client: props.client, connectLocale: localeQuery.data, connectOptions: props.connectOptions, onCancel: () => {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
218
|
+
content = (_jsx(BridgeOrchestrator, { country: props.country, supportedTokens: props.supportedTokens, client: props.client, connectLocale: localeQuery.data, connectOptions: props.connectOptions, onCancel: (quote) => {
|
|
219
|
+
// type guard
|
|
220
|
+
if (quote?.type === "buy" || quote?.type === "onramp") {
|
|
221
|
+
props.onCancel?.(quote);
|
|
222
|
+
}
|
|
223
|
+
}, onComplete: (quote) => {
|
|
224
|
+
// type guard
|
|
225
|
+
if (quote?.type === "buy" || quote?.type === "onramp") {
|
|
226
|
+
props.onSuccess?.(quote);
|
|
227
|
+
}
|
|
228
|
+
}, onError: (err, quote) => {
|
|
229
|
+
// type guard
|
|
230
|
+
if (quote?.type === "buy" || quote?.type === "onramp") {
|
|
231
|
+
props.onError?.(err, quote);
|
|
232
|
+
}
|
|
224
233
|
}, paymentLinkId: props.paymentLinkId, paymentMethods: props.paymentMethods, presetOptions: props.presetOptions, purchaseData: props.purchaseData, receiverAddress: props.receiverAddress, uiOptions: bridgeDataQuery.data.data, showThirdwebBranding: props.showThirdwebBranding }));
|
|
225
234
|
}
|
|
226
235
|
return (_jsx(CustomThemeProvider, { theme: theme, children: _jsx(EmbedContainer, { className: props.className, modalSize: "compact", style: props.style, children: _jsx(DynamicHeight, { children: content }) }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuyWidget.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/Bridge/BuyWidget.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAInE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAGhE,OAAO,EAEL,eAAe,EACf,SAAS,GACV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAKtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;
|
|
1
|
+
{"version":3,"file":"BuyWidget.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/Bridge/BuyWidget.tsx"],"names":[],"mappings":"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"}
|
package/dist/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = "5.
|
|
1
|
+
export const version = "5.108.0-nightly-a94f22928a662a5aff7a203fc2d383d9fa0907ec-20250923000340";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { RequestedPaymentPayloadSchema, } from "./schemas.js";
|
|
2
|
+
/**
|
|
3
|
+
* Encodes a payment payload into a base64 string, ensuring bigint values are properly stringified
|
|
4
|
+
*
|
|
5
|
+
* @param payment - The payment payload to encode
|
|
6
|
+
* @returns A base64 encoded string representation of the payment payload
|
|
7
|
+
*/
|
|
8
|
+
export function encodePayment(payment) {
|
|
9
|
+
let safe;
|
|
10
|
+
// evm
|
|
11
|
+
const evmPayload = payment.payload;
|
|
12
|
+
safe = {
|
|
13
|
+
...payment,
|
|
14
|
+
payload: {
|
|
15
|
+
...evmPayload,
|
|
16
|
+
authorization: Object.fromEntries(Object.entries(evmPayload.authorization).map(([key, value]) => [
|
|
17
|
+
key,
|
|
18
|
+
typeof value === "bigint" ? value.toString() : value,
|
|
19
|
+
])),
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
return safeBase64Encode(JSON.stringify(safe));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Decodes a base64 encoded payment string back into a PaymentPayload object
|
|
26
|
+
*
|
|
27
|
+
* @param payment - The base64 encoded payment string to decode
|
|
28
|
+
* @returns The decoded and validated PaymentPayload object
|
|
29
|
+
*/
|
|
30
|
+
export function decodePayment(payment) {
|
|
31
|
+
const decoded = safeBase64Decode(payment);
|
|
32
|
+
const parsed = JSON.parse(decoded);
|
|
33
|
+
const obj = {
|
|
34
|
+
...parsed,
|
|
35
|
+
payload: parsed.payload,
|
|
36
|
+
};
|
|
37
|
+
const validated = RequestedPaymentPayloadSchema.parse(obj);
|
|
38
|
+
return validated;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Encodes a string to base64 format
|
|
42
|
+
*
|
|
43
|
+
* @param data - The string to be encoded to base64
|
|
44
|
+
* @returns The base64 encoded string
|
|
45
|
+
*/
|
|
46
|
+
export function safeBase64Encode(data) {
|
|
47
|
+
if (typeof globalThis !== "undefined" &&
|
|
48
|
+
typeof globalThis.btoa === "function") {
|
|
49
|
+
return globalThis.btoa(data);
|
|
50
|
+
}
|
|
51
|
+
return Buffer.from(data).toString("base64");
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Decodes a base64 string back to its original format
|
|
55
|
+
*
|
|
56
|
+
* @param data - The base64 encoded string to be decoded
|
|
57
|
+
* @returns The decoded string in UTF-8 format
|
|
58
|
+
*/
|
|
59
|
+
function safeBase64Decode(data) {
|
|
60
|
+
if (typeof globalThis !== "undefined" &&
|
|
61
|
+
typeof globalThis.atob === "function") {
|
|
62
|
+
return globalThis.atob(data);
|
|
63
|
+
}
|
|
64
|
+
return Buffer.from(data, "base64").toString("utf-8");
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=encode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode.js","sourceRoot":"","sources":["../../../src/x402/encode.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,6BAA6B,GAC9B,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgC;IAC5D,IAAI,IAA6B,CAAC;IAElC,MAAM;IACN,MAAM,UAAU,GAAG,OAAO,CAAC,OAA0B,CAAC;IACtD,IAAI,GAAG;QACL,GAAG,OAAO;QACV,OAAO,EAAE;YACP,GAAG,UAAU;YACb,aAAa,EAAE,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;gBAC7D,GAAG;gBACH,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK;aACjE,CAAC,CACiC;SACtC;KACF,CAAC;IACF,OAAO,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnC,MAAM,GAAG,GAA4B;QACnC,GAAG,MAAM;QACT,OAAO,EAAE,MAAM,CAAC,OAA0B;KAC3C,CAAC;IACF,MAAM,SAAS,GAAG,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IACE,OAAO,UAAU,KAAK,WAAW;QACjC,OAAO,UAAU,CAAC,IAAI,KAAK,UAAU,EACrC,CAAC;QACD,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,IACE,OAAO,UAAU,KAAK,WAAW;QACjC,OAAO,UAAU,CAAC,IAAI,KAAK,UAAU,EACrC,CAAC;QACD,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { stringify } from "../utils/json.js";
|
|
2
|
+
import { withCache } from "../utils/promise/withCache.js";
|
|
1
3
|
const DEFAULT_BASE_URL = "https://api.thirdweb.com/v1/payments/x402";
|
|
2
4
|
/**
|
|
3
5
|
* Creates a facilitator for the x402 payment protocol.
|
|
4
|
-
*
|
|
6
|
+
* You can use this with `verifyPayment` or with any x402 middleware to enable settling transactions with your thirdweb server wallet.
|
|
5
7
|
*
|
|
6
8
|
* @param config - The configuration for the facilitator
|
|
7
9
|
* @returns a x402 compatible FacilitatorConfig
|
|
@@ -46,7 +48,7 @@ export function facilitator(config) {
|
|
|
46
48
|
if (!serverWalletAddress) {
|
|
47
49
|
throw new Error("Server wallet address is required for the x402 facilitator");
|
|
48
50
|
}
|
|
49
|
-
|
|
51
|
+
const facilitator = {
|
|
50
52
|
url: (config.baseUrl ?? DEFAULT_BASE_URL),
|
|
51
53
|
createAuthHeaders: async () => {
|
|
52
54
|
return {
|
|
@@ -68,6 +70,85 @@ export function facilitator(config) {
|
|
|
68
70
|
},
|
|
69
71
|
};
|
|
70
72
|
},
|
|
73
|
+
/**
|
|
74
|
+
* Verifies a payment payload with the facilitator service
|
|
75
|
+
*
|
|
76
|
+
* @param payload - The payment payload to verify
|
|
77
|
+
* @param paymentRequirements - The payment requirements to verify against
|
|
78
|
+
* @returns A promise that resolves to the verification response
|
|
79
|
+
*/
|
|
80
|
+
async verify(payload, paymentRequirements) {
|
|
81
|
+
const url = config.baseUrl ?? DEFAULT_BASE_URL;
|
|
82
|
+
let headers = { "Content-Type": "application/json" };
|
|
83
|
+
const authHeaders = await facilitator.createAuthHeaders();
|
|
84
|
+
headers = { ...headers, ...authHeaders.verify };
|
|
85
|
+
const res = await fetch(`${url}/verify`, {
|
|
86
|
+
method: "POST",
|
|
87
|
+
headers,
|
|
88
|
+
body: stringify({
|
|
89
|
+
x402Version: payload.x402Version,
|
|
90
|
+
paymentPayload: payload,
|
|
91
|
+
paymentRequirements: paymentRequirements,
|
|
92
|
+
}),
|
|
93
|
+
});
|
|
94
|
+
if (res.status !== 200) {
|
|
95
|
+
const text = `${res.statusText} ${await res.text()}`;
|
|
96
|
+
throw new Error(`Failed to verify payment: ${res.status} ${text}`);
|
|
97
|
+
}
|
|
98
|
+
const data = await res.json();
|
|
99
|
+
return data;
|
|
100
|
+
},
|
|
101
|
+
/**
|
|
102
|
+
* Settles a payment with the facilitator service
|
|
103
|
+
*
|
|
104
|
+
* @param payload - The payment payload to settle
|
|
105
|
+
* @param paymentRequirements - The payment requirements for the settlement
|
|
106
|
+
* @returns A promise that resolves to the settlement response
|
|
107
|
+
*/
|
|
108
|
+
async settle(payload, paymentRequirements) {
|
|
109
|
+
const url = config.baseUrl ?? DEFAULT_BASE_URL;
|
|
110
|
+
let headers = { "Content-Type": "application/json" };
|
|
111
|
+
const authHeaders = await facilitator.createAuthHeaders();
|
|
112
|
+
headers = { ...headers, ...authHeaders.settle };
|
|
113
|
+
const res = await fetch(`${url}/settle`, {
|
|
114
|
+
method: "POST",
|
|
115
|
+
headers,
|
|
116
|
+
body: JSON.stringify({
|
|
117
|
+
x402Version: payload.x402Version,
|
|
118
|
+
paymentPayload: payload,
|
|
119
|
+
paymentRequirements: paymentRequirements,
|
|
120
|
+
}),
|
|
121
|
+
});
|
|
122
|
+
if (res.status !== 200) {
|
|
123
|
+
const text = `${res.statusText} ${await res.text()}`;
|
|
124
|
+
throw new Error(`Failed to settle payment: ${res.status} ${text}`);
|
|
125
|
+
}
|
|
126
|
+
const data = await res.json();
|
|
127
|
+
return data;
|
|
128
|
+
},
|
|
129
|
+
/**
|
|
130
|
+
* Gets the supported payment kinds from the facilitator service.
|
|
131
|
+
*
|
|
132
|
+
* @returns A promise that resolves to the supported payment kinds
|
|
133
|
+
*/
|
|
134
|
+
async supported() {
|
|
135
|
+
const url = config.baseUrl ?? DEFAULT_BASE_URL;
|
|
136
|
+
return withCache(async () => {
|
|
137
|
+
let headers = { "Content-Type": "application/json" };
|
|
138
|
+
const authHeaders = await facilitator.createAuthHeaders();
|
|
139
|
+
headers = { ...headers, ...authHeaders.supported };
|
|
140
|
+
const res = await fetch(`${url}/supported`, { headers });
|
|
141
|
+
if (res.status !== 200) {
|
|
142
|
+
throw new Error(`Failed to get supported payment kinds: ${res.statusText}`);
|
|
143
|
+
}
|
|
144
|
+
const data = await res.json();
|
|
145
|
+
return data;
|
|
146
|
+
}, {
|
|
147
|
+
cacheKey: `supported-payment-kinds-${url}`,
|
|
148
|
+
cacheTime: 1000 * 60 * 60 * 24, // 24 hours
|
|
149
|
+
});
|
|
150
|
+
},
|
|
71
151
|
};
|
|
152
|
+
return facilitator;
|
|
72
153
|
}
|
|
73
154
|
//# sourceMappingURL=facilitator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facilitator.js","sourceRoot":"","sources":["../../../src/x402/facilitator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"facilitator.js","sourceRoot":"","sources":["../../../src/x402/facilitator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ChainIdToNetwork, EvmNetworkToChainId, PaymentRequirementsSchema, } from "x402/types";
|
|
3
|
-
import { viemAdapter } from "../adapters/viem.js";
|
|
1
|
+
import { ChainIdToNetwork } from "x402/types";
|
|
4
2
|
import { getCachedChain } from "../chains/utils.js";
|
|
3
|
+
import { networkToChainId, RequestedPaymentRequirementsSchema, } from "./schemas.js";
|
|
4
|
+
import { createPaymentHeader } from "./sign.js";
|
|
5
5
|
/**
|
|
6
6
|
* Enables the payment of APIs using the x402 payment protocol.
|
|
7
7
|
*
|
|
@@ -41,7 +41,7 @@ import { getCachedChain } from "../chains/utils.js";
|
|
|
41
41
|
*
|
|
42
42
|
* @bridge x402
|
|
43
43
|
*/
|
|
44
|
-
export function wrapFetchWithPayment(fetch,
|
|
44
|
+
export function wrapFetchWithPayment(fetch, _client, wallet, maxValue = BigInt(1 * 10 ** 6)) {
|
|
45
45
|
return async (input, init) => {
|
|
46
46
|
const response = await fetch(input, init);
|
|
47
47
|
if (response.status !== 402) {
|
|
@@ -49,7 +49,7 @@ export function wrapFetchWithPayment(fetch, client, wallet, maxValue = BigInt(1
|
|
|
49
49
|
}
|
|
50
50
|
const { x402Version, accepts } = (await response.json());
|
|
51
51
|
const parsedPaymentRequirements = accepts
|
|
52
|
-
.map((x) =>
|
|
52
|
+
.map((x) => RequestedPaymentRequirementsSchema.parse(x))
|
|
53
53
|
.filter((x) => x.scheme === "exact"); // TODO (402): accept other schemes
|
|
54
54
|
const account = wallet.getAccount();
|
|
55
55
|
let chain = wallet.getChain();
|
|
@@ -60,10 +60,7 @@ export function wrapFetchWithPayment(fetch, client, wallet, maxValue = BigInt(1
|
|
|
60
60
|
if (BigInt(selectedPaymentRequirements.maxAmountRequired) > maxValue) {
|
|
61
61
|
throw new Error("Payment amount exceeds maximum allowed");
|
|
62
62
|
}
|
|
63
|
-
const paymentChainId =
|
|
64
|
-
if (!paymentChainId) {
|
|
65
|
-
throw new Error(`No chain found for the selected payment requirement: ${selectedPaymentRequirements.network}`);
|
|
66
|
-
}
|
|
63
|
+
const paymentChainId = networkToChainId(selectedPaymentRequirements.network);
|
|
67
64
|
// switch to the payment chain if it's not the current chain
|
|
68
65
|
if (paymentChainId !== chain.id) {
|
|
69
66
|
await wallet.switchChain(getCachedChain(paymentChainId));
|
|
@@ -72,12 +69,7 @@ export function wrapFetchWithPayment(fetch, client, wallet, maxValue = BigInt(1
|
|
|
72
69
|
throw new Error(`Failed to switch chain (${paymentChainId})`);
|
|
73
70
|
}
|
|
74
71
|
}
|
|
75
|
-
const
|
|
76
|
-
wallet: wallet,
|
|
77
|
-
chain,
|
|
78
|
-
client,
|
|
79
|
-
});
|
|
80
|
-
const paymentHeader = await createPaymentHeader(walletClient, x402Version, selectedPaymentRequirements);
|
|
72
|
+
const paymentHeader = await createPaymentHeader(account, x402Version, selectedPaymentRequirements);
|
|
81
73
|
const initParams = init || {};
|
|
82
74
|
if (initParams.__is402Retry) {
|
|
83
75
|
throw new Error("Payment already attempted");
|
|
@@ -99,7 +91,7 @@ function defaultPaymentRequirementsSelector(paymentRequirements, chainId, scheme
|
|
|
99
91
|
if (!paymentRequirements.length) {
|
|
100
92
|
throw new Error("No valid payment requirements found in server 402 response");
|
|
101
93
|
}
|
|
102
|
-
const currentWalletNetwork = ChainIdToNetwork[chainId]
|
|
94
|
+
const currentWalletNetwork = ChainIdToNetwork[chainId] || `eip155:${chainId}`;
|
|
103
95
|
// find the payment requirements matching the connected wallet chain
|
|
104
96
|
const matchingPaymentRequirements = paymentRequirements.find((x) => x.network === currentWalletNetwork && x.scheme === scheme);
|
|
105
97
|
if (matchingPaymentRequirements) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchWithPayment.js","sourceRoot":"","sources":["../../../src/x402/fetchWithPayment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"fetchWithPayment.js","sourceRoot":"","sources":["../../../src/x402/fetchWithPayment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { EvmNetworkToChainId, PaymentPayloadSchema, PaymentRequirementsSchema, SettleResponseSchema, } from "x402/types";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const FacilitatorNetworkSchema = z.union([
|
|
4
|
+
z.literal("base-sepolia"),
|
|
5
|
+
z.literal("base"),
|
|
6
|
+
z.literal("avalanche-fuji"),
|
|
7
|
+
z.literal("avalanche"),
|
|
8
|
+
z.literal("iotex"),
|
|
9
|
+
z.literal("solana-devnet"),
|
|
10
|
+
z.literal("solana"),
|
|
11
|
+
z.literal("sei"),
|
|
12
|
+
z.literal("sei-testnet"),
|
|
13
|
+
z.string().refine((value) => value.startsWith("eip155:"), {
|
|
14
|
+
message: "Invalid network",
|
|
15
|
+
}),
|
|
16
|
+
]);
|
|
17
|
+
export const RequestedPaymentPayloadSchema = PaymentPayloadSchema.extend({
|
|
18
|
+
network: FacilitatorNetworkSchema,
|
|
19
|
+
});
|
|
20
|
+
export const RequestedPaymentRequirementsSchema = PaymentRequirementsSchema.extend({
|
|
21
|
+
network: FacilitatorNetworkSchema,
|
|
22
|
+
});
|
|
23
|
+
const FacilitatorSettleResponseSchema = SettleResponseSchema.extend({
|
|
24
|
+
network: FacilitatorNetworkSchema,
|
|
25
|
+
});
|
|
26
|
+
export function networkToChainId(network) {
|
|
27
|
+
if (network.startsWith("eip155:")) {
|
|
28
|
+
const chainId = parseInt(network.split(":")[1] ?? "0");
|
|
29
|
+
if (!Number.isNaN(chainId) && chainId > 0) {
|
|
30
|
+
return chainId;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
throw new Error(`Invalid network: ${network}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const mappedChainId = EvmNetworkToChainId.get(network);
|
|
37
|
+
if (!mappedChainId) {
|
|
38
|
+
throw new Error(`Invalid network: ${network}`);
|
|
39
|
+
}
|
|
40
|
+
// TODO (402): support solana networks
|
|
41
|
+
if (mappedChainId === 101 || mappedChainId === 103) {
|
|
42
|
+
throw new Error("Solana networks not supported yet.");
|
|
43
|
+
}
|
|
44
|
+
return mappedChainId;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/x402/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAGnB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC;IACvC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IACzB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACjB,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC3B,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACtB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAC1B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACxB,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QACxD,OAAO,EAAE,iBAAiB;KAC3B,CAAC;CACH,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,6BAA6B,GAAG,oBAAoB,CAAC,MAAM,CAAC;IACvE,OAAO,EAAE,wBAAwB;CAClC,CAAC,CAAC;AAYH,MAAM,CAAC,MAAM,kCAAkC,GAC7C,yBAAyB,CAAC,MAAM,CAAC;IAC/B,OAAO,EAAE,wBAAwB;CAClC,CAAC,CAAC;AAML,MAAM,+BAA+B,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAClE,OAAO,EAAE,wBAAwB;CAClC,CAAC,CAAC;AAKH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,OAAO,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAkB,CAAC,CAAC;IAClE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,sCAAsC;IACtC,IAAI,aAAa,KAAK,GAAG,IAAI,aAAa,KAAK,GAAG,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC"}
|