thirdweb 5.112.3 → 5.113.0

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.
Files changed (98) hide show
  1. package/dist/cjs/exports/react.js +4 -1
  2. package/dist/cjs/exports/react.js.map +1 -1
  3. package/dist/cjs/exports/react.native.js +4 -1
  4. package/dist/cjs/exports/react.native.js.map +1 -1
  5. package/dist/cjs/react/core/hooks/x402/useFetchWithPaymentCore.js +110 -0
  6. package/dist/cjs/react/core/hooks/x402/useFetchWithPaymentCore.js.map +1 -0
  7. package/dist/cjs/react/native/hooks/x402/useFetchWithPayment.js +89 -0
  8. package/dist/cjs/react/native/hooks/x402/useFetchWithPayment.js.map +1 -0
  9. package/dist/cjs/react/web/hooks/x402/useFetchWithPayment.js +168 -0
  10. package/dist/cjs/react/web/hooks/x402/useFetchWithPayment.js.map +1 -0
  11. package/dist/cjs/react/web/ui/components/basic.js +1 -1
  12. package/dist/cjs/react/web/ui/x402/PaymentErrorModal.js +107 -0
  13. package/dist/cjs/react/web/ui/x402/PaymentErrorModal.js.map +1 -0
  14. package/dist/cjs/react/web/ui/x402/SignInRequiredModal.js +28 -0
  15. package/dist/cjs/react/web/ui/x402/SignInRequiredModal.js.map +1 -0
  16. package/dist/cjs/version.js +1 -1
  17. package/dist/cjs/wallets/coinbase/coinbase-web.js +9 -0
  18. package/dist/cjs/wallets/coinbase/coinbase-web.js.map +1 -1
  19. package/dist/cjs/x402/facilitator.js +1 -1
  20. package/dist/cjs/x402/fetchWithPayment.js +9 -7
  21. package/dist/cjs/x402/fetchWithPayment.js.map +1 -1
  22. package/dist/cjs/x402/schemas.js +2 -0
  23. package/dist/cjs/x402/schemas.js.map +1 -1
  24. package/dist/cjs/x402/settle-payment.js +2 -1
  25. package/dist/cjs/x402/settle-payment.js.map +1 -1
  26. package/dist/cjs/x402/verify-payment.js +2 -1
  27. package/dist/cjs/x402/verify-payment.js.map +1 -1
  28. package/dist/esm/exports/react.js +2 -0
  29. package/dist/esm/exports/react.js.map +1 -1
  30. package/dist/esm/exports/react.native.js +2 -0
  31. package/dist/esm/exports/react.native.js.map +1 -1
  32. package/dist/esm/react/core/hooks/x402/useFetchWithPaymentCore.js +107 -0
  33. package/dist/esm/react/core/hooks/x402/useFetchWithPaymentCore.js.map +1 -0
  34. package/dist/esm/react/native/hooks/x402/useFetchWithPayment.js +86 -0
  35. package/dist/esm/react/native/hooks/x402/useFetchWithPayment.js.map +1 -0
  36. package/dist/esm/react/web/hooks/x402/useFetchWithPayment.js +165 -0
  37. package/dist/esm/react/web/hooks/x402/useFetchWithPayment.js.map +1 -0
  38. package/dist/esm/react/web/ui/components/basic.js +1 -1
  39. package/dist/esm/react/web/ui/x402/PaymentErrorModal.js +104 -0
  40. package/dist/esm/react/web/ui/x402/PaymentErrorModal.js.map +1 -0
  41. package/dist/esm/react/web/ui/x402/SignInRequiredModal.js +25 -0
  42. package/dist/esm/react/web/ui/x402/SignInRequiredModal.js.map +1 -0
  43. package/dist/esm/version.js +1 -1
  44. package/dist/esm/wallets/coinbase/coinbase-web.js +9 -0
  45. package/dist/esm/wallets/coinbase/coinbase-web.js.map +1 -1
  46. package/dist/esm/x402/facilitator.js +1 -1
  47. package/dist/esm/x402/fetchWithPayment.js +9 -7
  48. package/dist/esm/x402/fetchWithPayment.js.map +1 -1
  49. package/dist/esm/x402/schemas.js +2 -0
  50. package/dist/esm/x402/schemas.js.map +1 -1
  51. package/dist/esm/x402/settle-payment.js +2 -1
  52. package/dist/esm/x402/settle-payment.js.map +1 -1
  53. package/dist/esm/x402/verify-payment.js +2 -1
  54. package/dist/esm/x402/verify-payment.js.map +1 -1
  55. package/dist/scripts/bridge-widget.js +50 -50
  56. package/dist/types/exports/react.d.ts +1 -0
  57. package/dist/types/exports/react.d.ts.map +1 -1
  58. package/dist/types/exports/react.native.d.ts +1 -0
  59. package/dist/types/exports/react.native.d.ts.map +1 -1
  60. package/dist/types/react/core/hooks/x402/useFetchWithPaymentCore.d.ts +131 -0
  61. package/dist/types/react/core/hooks/x402/useFetchWithPaymentCore.d.ts.map +1 -0
  62. package/dist/types/react/native/hooks/x402/useFetchWithPayment.d.ts +189 -0
  63. package/dist/types/react/native/hooks/x402/useFetchWithPayment.d.ts.map +1 -0
  64. package/dist/types/react/web/hooks/x402/useFetchWithPayment.d.ts +248 -0
  65. package/dist/types/react/web/hooks/x402/useFetchWithPayment.d.ts.map +1 -0
  66. package/dist/types/react/web/ui/x402/PaymentErrorModal.d.ts +20 -0
  67. package/dist/types/react/web/ui/x402/PaymentErrorModal.d.ts.map +1 -0
  68. package/dist/types/react/web/ui/x402/SignInRequiredModal.d.ts +12 -0
  69. package/dist/types/react/web/ui/x402/SignInRequiredModal.d.ts.map +1 -0
  70. package/dist/types/version.d.ts +1 -1
  71. package/dist/types/x402/facilitator.d.ts +1 -1
  72. package/dist/types/x402/fetchWithPayment.d.ts +7 -3
  73. package/dist/types/x402/fetchWithPayment.d.ts.map +1 -1
  74. package/dist/types/x402/schemas.d.ts +8 -2
  75. package/dist/types/x402/schemas.d.ts.map +1 -1
  76. package/dist/types/x402/settle-payment.d.ts +1 -1
  77. package/dist/types/x402/settle-payment.d.ts.map +1 -1
  78. package/dist/types/x402/types.d.ts +2 -0
  79. package/dist/types/x402/types.d.ts.map +1 -1
  80. package/dist/types/x402/verify-payment.d.ts +1 -1
  81. package/dist/types/x402/verify-payment.d.ts.map +1 -1
  82. package/package.json +3 -3
  83. package/src/exports/react.native.ts +5 -0
  84. package/src/exports/react.ts +5 -0
  85. package/src/react/core/hooks/x402/useFetchWithPaymentCore.ts +160 -0
  86. package/src/react/native/hooks/x402/useFetchWithPayment.ts +96 -0
  87. package/src/react/web/hooks/x402/useFetchWithPayment.tsx +238 -0
  88. package/src/react/web/ui/components/basic.tsx +1 -1
  89. package/src/react/web/ui/x402/PaymentErrorModal.tsx +261 -0
  90. package/src/react/web/ui/x402/SignInRequiredModal.tsx +75 -0
  91. package/src/version.ts +1 -1
  92. package/src/wallets/coinbase/coinbase-web.ts +10 -0
  93. package/src/x402/facilitator.ts +1 -1
  94. package/src/x402/fetchWithPayment.ts +19 -12
  95. package/src/x402/schemas.ts +2 -0
  96. package/src/x402/settle-payment.ts +2 -1
  97. package/src/x402/types.ts +2 -0
  98. package/src/x402/verify-payment.ts +2 -1
@@ -62,6 +62,7 @@ export { useAutoConnect } from "../react/web/hooks/wallets/useAutoConnect.js";
62
62
  export { useLinkProfile } from "../react/web/hooks/wallets/useLinkProfile.js";
63
63
  export { useProfiles } from "../react/web/hooks/wallets/useProfiles.js";
64
64
  export { useUnlinkProfile } from "../react/web/hooks/wallets/useUnlinkProfile.js";
65
+ export { type UseFetchWithPaymentOptions, useFetchWithPayment, } from "../react/web/hooks/x402/useFetchWithPayment.js";
65
66
  export { ThirdwebProvider } from "../react/web/providers/thirdweb-provider.js";
66
67
  export { AutoConnect } from "../react/web/ui/AutoConnect/AutoConnect.js";
67
68
  export type { BuyOrOnrampPrepareResult } from "../react/web/ui/Bridge/BuyWidget.js";
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/exports/react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/exports/react.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,7 @@ export { useAutoConnect } from "../react/native/hooks/wallets/useAutoConnect.js"
59
59
  export { useLinkProfile } from "../react/native/hooks/wallets/useLinkProfile.js";
60
60
  export { useProfiles } from "../react/native/hooks/wallets/useProfiles.js";
61
61
  export { useUnlinkProfile } from "../react/native/hooks/wallets/useUnlinkProfile.js";
62
+ export { type UseFetchWithPaymentOptions, useFetchWithPayment, } from "../react/native/hooks/x402/useFetchWithPayment.js";
62
63
  export { ThirdwebProvider } from "../react/native/providers/thirdweb-provider.js";
63
64
  export { AutoConnect } from "../react/native/ui/AutoConnect/AutoConnect.js";
64
65
  export { ConnectButton } from "../react/native/ui/connect/ConnectButton.js";
@@ -1 +1 @@
1
- {"version":3,"file":"react.native.d.ts","sourceRoot":"","sources":["../../../src/exports/react.native.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.native.d.ts","sourceRoot":"","sources":["../../../src/exports/react.native.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ import type { ThirdwebClient } from "../../../../client/client.js";
2
+ import type { Wallet } from "../../../../wallets/interfaces/wallet.js";
3
+ import type { RequestedPaymentRequirements } from "../../../../x402/schemas.js";
4
+ import type { PaymentRequiredResult } from "../../../../x402/types.js";
5
+ export type UseFetchWithPaymentOptions = {
6
+ maxValue?: bigint;
7
+ paymentRequirementsSelector?: (paymentRequirements: RequestedPaymentRequirements[]) => RequestedPaymentRequirements | undefined;
8
+ parseAs?: "json" | "text" | "raw";
9
+ };
10
+ type ShowErrorModalCallback = (data: {
11
+ errorData: PaymentRequiredResult["responseBody"];
12
+ onRetry: () => void;
13
+ onCancel: () => void;
14
+ }) => void;
15
+ type ShowConnectModalCallback = (data: {
16
+ onConnect: (wallet: Wallet) => void;
17
+ onCancel: () => void;
18
+ }) => void;
19
+ /**
20
+ * Core hook for fetch with payment functionality.
21
+ * This is the platform-agnostic implementation used by both web and native versions.
22
+ * @internal
23
+ */
24
+ export declare function useFetchWithPaymentCore(client: ThirdwebClient, options?: UseFetchWithPaymentOptions, showErrorModal?: ShowErrorModalCallback, showConnectModal?: ShowConnectModalCallback): {
25
+ data: undefined;
26
+ variables: undefined;
27
+ error: null;
28
+ isError: false;
29
+ isIdle: true;
30
+ isPending: false;
31
+ isSuccess: false;
32
+ status: "idle";
33
+ mutate: import("@tanstack/react-query").UseMutateFunction<unknown, Error, {
34
+ input: RequestInfo;
35
+ init?: RequestInit;
36
+ }, unknown>;
37
+ reset: () => void;
38
+ context: unknown;
39
+ failureCount: number;
40
+ failureReason: Error | null;
41
+ isPaused: boolean;
42
+ submittedAt: number;
43
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<unknown, Error, {
44
+ input: RequestInfo;
45
+ init?: RequestInit;
46
+ }, unknown>;
47
+ fetchWithPayment: (input: RequestInfo, init?: RequestInit) => Promise<unknown>;
48
+ } | {
49
+ data: undefined;
50
+ variables: {
51
+ input: RequestInfo;
52
+ init?: RequestInit;
53
+ };
54
+ error: null;
55
+ isError: false;
56
+ isIdle: false;
57
+ isPending: true;
58
+ isSuccess: false;
59
+ status: "pending";
60
+ mutate: import("@tanstack/react-query").UseMutateFunction<unknown, Error, {
61
+ input: RequestInfo;
62
+ init?: RequestInit;
63
+ }, unknown>;
64
+ reset: () => void;
65
+ context: unknown;
66
+ failureCount: number;
67
+ failureReason: Error | null;
68
+ isPaused: boolean;
69
+ submittedAt: number;
70
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<unknown, Error, {
71
+ input: RequestInfo;
72
+ init?: RequestInit;
73
+ }, unknown>;
74
+ fetchWithPayment: (input: RequestInfo, init?: RequestInit) => Promise<unknown>;
75
+ } | {
76
+ data: undefined;
77
+ error: Error;
78
+ variables: {
79
+ input: RequestInfo;
80
+ init?: RequestInit;
81
+ };
82
+ isError: true;
83
+ isIdle: false;
84
+ isPending: false;
85
+ isSuccess: false;
86
+ status: "error";
87
+ mutate: import("@tanstack/react-query").UseMutateFunction<unknown, Error, {
88
+ input: RequestInfo;
89
+ init?: RequestInit;
90
+ }, unknown>;
91
+ reset: () => void;
92
+ context: unknown;
93
+ failureCount: number;
94
+ failureReason: Error | null;
95
+ isPaused: boolean;
96
+ submittedAt: number;
97
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<unknown, Error, {
98
+ input: RequestInfo;
99
+ init?: RequestInit;
100
+ }, unknown>;
101
+ fetchWithPayment: (input: RequestInfo, init?: RequestInit) => Promise<unknown>;
102
+ } | {
103
+ data: unknown;
104
+ error: null;
105
+ variables: {
106
+ input: RequestInfo;
107
+ init?: RequestInit;
108
+ };
109
+ isError: false;
110
+ isIdle: false;
111
+ isPending: false;
112
+ isSuccess: true;
113
+ status: "success";
114
+ mutate: import("@tanstack/react-query").UseMutateFunction<unknown, Error, {
115
+ input: RequestInfo;
116
+ init?: RequestInit;
117
+ }, unknown>;
118
+ reset: () => void;
119
+ context: unknown;
120
+ failureCount: number;
121
+ failureReason: Error | null;
122
+ isPaused: boolean;
123
+ submittedAt: number;
124
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<unknown, Error, {
125
+ input: RequestInfo;
126
+ init?: RequestInit;
127
+ }, unknown>;
128
+ fetchWithPayment: (input: RequestInfo, init?: RequestInit) => Promise<unknown>;
129
+ };
130
+ export {};
131
+ //# sourceMappingURL=useFetchWithPaymentCore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFetchWithPaymentCore.d.ts","sourceRoot":"","sources":["../../../../../../src/react/core/hooks/x402/useFetchWithPaymentCore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAEvE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B,CAAC,EAAE,CAC5B,mBAAmB,EAAE,4BAA4B,EAAE,KAChD,4BAA4B,GAAG,SAAS,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;CACnC,CAAC;AAEF,KAAK,sBAAsB,GAAG,CAAC,IAAI,EAAE;IACnC,SAAS,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACjD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,KAAK,IAAI,CAAC;AAEX,KAAK,wBAAwB,GAAG,CAAC,IAAI,EAAE;IACrC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,KAAK,IAAI,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,0BAA0B,EACpC,cAAc,CAAC,EAAE,sBAAsB,EACvC,gBAAgB,CAAC,EAAE,wBAAwB;;;;;;;;;;eAShC,WAAW;eACX,WAAW;;;;;;;;;eADX,WAAW;eACX,WAAW;;8BA8FY,WAAW,SAAS,WAAW;;;;eA/FtD,WAAW;eACX,WAAW;;;;;;;;;eADX,WAAW;eACX,WAAW;;;;;;;;;eADX,WAAW;eACX,WAAW;;8BA8FY,WAAW,SAAS,WAAW;;;;;eA/FtD,WAAW;eACX,WAAW;;;;;;;;eADX,WAAW;eACX,WAAW;;;;;;;;;eADX,WAAW;eACX,WAAW;;8BA8FY,WAAW,SAAS,WAAW;;;;;eA/FtD,WAAW;eACX,WAAW;;;;;;;;eADX,WAAW;eACX,WAAW;;;;;;;;;eADX,WAAW;eACX,WAAW;;8BA8FY,WAAW,SAAS,WAAW;EAKlE"}
@@ -0,0 +1,189 @@
1
+ import type { ThirdwebClient } from "../../../../client/client.js";
2
+ import { type UseFetchWithPaymentOptions } from "../../../core/hooks/x402/useFetchWithPaymentCore.js";
3
+ export type { UseFetchWithPaymentOptions };
4
+ /**
5
+ * A React hook that wraps the native fetch API to automatically handle 402 Payment Required responses
6
+ * using the x402 payment protocol with the currently connected wallet.
7
+ *
8
+ * This hook enables you to make API calls that require payment without manually handling the payment flow.
9
+ * Responses are automatically parsed as JSON by default (can be customized with `parseAs` option).
10
+ *
11
+ * When a 402 response is received, it will automatically:
12
+ * 1. Parse the payment requirements
13
+ * 2. Verify the payment amount is within the allowed maximum
14
+ * 3. Create a payment header using the connected wallet
15
+ * 4. Retry the request with the payment header
16
+ *
17
+ * Note: This is the React Native version which does not include modal UI.
18
+ * Payment errors will be thrown and should be handled by your application.
19
+ *
20
+ * @param client - The thirdweb client used to access RPC infrastructure
21
+ * @param options - Optional configuration for payment handling
22
+ * @param options.maxValue - The maximum allowed payment amount in base units
23
+ * @param options.paymentRequirementsSelector - Custom function to select payment requirements from available options
24
+ * @param options.parseAs - How to parse the response: "json" (default), "text", or "raw"
25
+ * @returns An object containing:
26
+ * - `fetchWithPayment`: Function to make fetch requests with automatic payment handling (returns parsed data)
27
+ * - `isPending`: Boolean indicating if a request is in progress
28
+ * - `error`: Any error that occurred during the request
29
+ * - `data`: The parsed response data (JSON by default, or based on `parseAs` option)
30
+ * - Other mutation properties from React Query
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * import { useFetchWithPayment } from "thirdweb/react";
35
+ * import { createThirdwebClient } from "thirdweb";
36
+ *
37
+ * const client = createThirdwebClient({ clientId: "your-client-id" });
38
+ *
39
+ * function MyComponent() {
40
+ * const { fetchWithPayment, isPending, error } = useFetchWithPayment(client);
41
+ *
42
+ * const handleApiCall = async () => {
43
+ * try {
44
+ * // Response is automatically parsed as JSON
45
+ * const data = await fetchWithPayment('https://api.example.com/paid-endpoint');
46
+ * console.log(data);
47
+ * } catch (err) {
48
+ * // Handle payment errors manually in React Native
49
+ * console.error("Payment failed:", err);
50
+ * }
51
+ * };
52
+ *
53
+ * return (
54
+ * <button onClick={handleApiCall} disabled={isPending}>
55
+ * {isPending ? 'Loading...' : 'Make Paid API Call'}
56
+ * </button>
57
+ * );
58
+ * }
59
+ * ```
60
+ *
61
+ * ### Customize response parsing
62
+ * ```tsx
63
+ * const { fetchWithPayment } = useFetchWithPayment(client, {
64
+ * parseAs: "text", // Get response as text instead of JSON
65
+ * });
66
+ *
67
+ * const textData = await fetchWithPayment('https://api.example.com/endpoint');
68
+ * ```
69
+ *
70
+ * ### Customize payment options
71
+ * ```tsx
72
+ * const { fetchWithPayment } = useFetchWithPayment(client, {
73
+ * maxValue: 5000000n, // 5 USDC in base units
74
+ * paymentRequirementsSelector: (requirements) => {
75
+ * // Custom logic to select preferred payment method
76
+ * return requirements[0];
77
+ * }
78
+ * });
79
+ * ```
80
+ *
81
+ * @x402
82
+ */
83
+ export declare function useFetchWithPayment(client: ThirdwebClient, options?: UseFetchWithPaymentOptions): {
84
+ data: undefined;
85
+ variables: undefined;
86
+ error: null;
87
+ isError: false;
88
+ isIdle: true;
89
+ isPending: false;
90
+ isSuccess: false;
91
+ status: "idle";
92
+ mutate: import("@tanstack/react-query").UseMutateFunction<unknown, Error, {
93
+ input: RequestInfo;
94
+ init?: RequestInit;
95
+ }, unknown>;
96
+ reset: () => void;
97
+ context: unknown;
98
+ failureCount: number;
99
+ failureReason: Error | null;
100
+ isPaused: boolean;
101
+ submittedAt: number;
102
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<unknown, Error, {
103
+ input: RequestInfo;
104
+ init?: RequestInit;
105
+ }, unknown>;
106
+ fetchWithPayment: (input: RequestInfo, init?: RequestInit) => Promise<unknown>;
107
+ } | {
108
+ data: undefined;
109
+ variables: {
110
+ input: RequestInfo;
111
+ init?: RequestInit;
112
+ };
113
+ error: null;
114
+ isError: false;
115
+ isIdle: false;
116
+ isPending: true;
117
+ isSuccess: false;
118
+ status: "pending";
119
+ mutate: import("@tanstack/react-query").UseMutateFunction<unknown, Error, {
120
+ input: RequestInfo;
121
+ init?: RequestInit;
122
+ }, unknown>;
123
+ reset: () => void;
124
+ context: unknown;
125
+ failureCount: number;
126
+ failureReason: Error | null;
127
+ isPaused: boolean;
128
+ submittedAt: number;
129
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<unknown, Error, {
130
+ input: RequestInfo;
131
+ init?: RequestInit;
132
+ }, unknown>;
133
+ fetchWithPayment: (input: RequestInfo, init?: RequestInit) => Promise<unknown>;
134
+ } | {
135
+ data: undefined;
136
+ error: Error;
137
+ variables: {
138
+ input: RequestInfo;
139
+ init?: RequestInit;
140
+ };
141
+ isError: true;
142
+ isIdle: false;
143
+ isPending: false;
144
+ isSuccess: false;
145
+ status: "error";
146
+ mutate: import("@tanstack/react-query").UseMutateFunction<unknown, Error, {
147
+ input: RequestInfo;
148
+ init?: RequestInit;
149
+ }, unknown>;
150
+ reset: () => void;
151
+ context: unknown;
152
+ failureCount: number;
153
+ failureReason: Error | null;
154
+ isPaused: boolean;
155
+ submittedAt: number;
156
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<unknown, Error, {
157
+ input: RequestInfo;
158
+ init?: RequestInit;
159
+ }, unknown>;
160
+ fetchWithPayment: (input: RequestInfo, init?: RequestInit) => Promise<unknown>;
161
+ } | {
162
+ data: unknown;
163
+ error: null;
164
+ variables: {
165
+ input: RequestInfo;
166
+ init?: RequestInit;
167
+ };
168
+ isError: false;
169
+ isIdle: false;
170
+ isPending: false;
171
+ isSuccess: true;
172
+ status: "success";
173
+ mutate: import("@tanstack/react-query").UseMutateFunction<unknown, Error, {
174
+ input: RequestInfo;
175
+ init?: RequestInit;
176
+ }, unknown>;
177
+ reset: () => void;
178
+ context: unknown;
179
+ failureCount: number;
180
+ failureReason: Error | null;
181
+ isPaused: boolean;
182
+ submittedAt: number;
183
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<unknown, Error, {
184
+ input: RequestInfo;
185
+ init?: RequestInit;
186
+ }, unknown>;
187
+ fetchWithPayment: (input: RequestInfo, init?: RequestInit) => Promise<unknown>;
188
+ };
189
+ //# sourceMappingURL=useFetchWithPayment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFetchWithPayment.d.ts","sourceRoot":"","sources":["../../../../../../src/react/native/hooks/x402/useFetchWithPayment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,KAAK,0BAA0B,EAEhC,MAAM,qDAAqD,CAAC;AAE7D,YAAY,EAAE,0BAA0B,EAAE,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIrC"}
@@ -0,0 +1,248 @@
1
+ import type { ThirdwebClient } from "../../../../client/client.js";
2
+ import type { Theme } from "../../../core/design-system/index.js";
3
+ import { type UseFetchWithPaymentOptions } from "../../../core/hooks/x402/useFetchWithPaymentCore.js";
4
+ import type { BuyWidgetProps } from "../../ui/Bridge/BuyWidget.js";
5
+ import { type UseConnectModalOptions } from "../../ui/ConnectWallet/useConnectModal.js";
6
+ export type { UseFetchWithPaymentOptions };
7
+ type UseFetchWithPaymentConfig = UseFetchWithPaymentOptions & {
8
+ /**
9
+ * Whether to show the UI for connection, funding or payment retries.
10
+ * If false, no UI will be shown and errors will have to be handled manually.
11
+ * @default true
12
+ */
13
+ uiEnabled?: boolean;
14
+ /**
15
+ * Theme for the payment error modal
16
+ * @default "dark"
17
+ */
18
+ theme?: Theme | "light" | "dark";
19
+ /**
20
+ * Options to customize the BuyWidget that appears when the user needs to fund their wallet.
21
+ * These options will be merged with default values.
22
+ */
23
+ fundWalletOptions?: Partial<Omit<BuyWidgetProps, "client" | "chain" | "tokenAddress" | "onSuccess" | "onCancel" | "theme">>;
24
+ /**
25
+ * Options to customize the ConnectModal that appears when the user needs to sign in.
26
+ * These options will be merged with the client, theme, and chain from the hook.
27
+ */
28
+ connectOptions?: Omit<UseConnectModalOptions, "client" | "theme">;
29
+ };
30
+ /**
31
+ * A React hook that wraps the native fetch API to automatically handle 402 Payment Required responses
32
+ * using the x402 payment protocol with the currently connected wallet.
33
+ *
34
+ * This hook enables you to make API calls that require payment without manually handling the payment flow.
35
+ * Responses are automatically parsed as JSON by default (can be customized with `parseAs` option).
36
+ *
37
+ * When a 402 response is received, it will automatically:
38
+ * 1. Parse the payment requirements
39
+ * 2. Verify the payment amount is within the allowed maximum
40
+ * 3. Create a payment header using the connected wallet
41
+ * 4. Retry the request with the payment header
42
+ *
43
+ * If payment fails (e.g. insufficient funds), a modal will be shown to help the user resolve the issue.
44
+ * If no wallet is connected, a sign-in modal will be shown to connect a wallet.
45
+ *
46
+ * @param client - The thirdweb client used to access RPC infrastructure
47
+ * @param options - Optional configuration for payment handling
48
+ * @param options.maxValue - The maximum allowed payment amount in base units
49
+ * @param options.paymentRequirementsSelector - Custom function to select payment requirements from available options
50
+ * @param options.parseAs - How to parse the response: "json" (default), "text", or "raw"
51
+ * @param options.uiEnabled - Whether to show the UI for connection, funding or payment retries (defaults to true). Set to false to handle errors yourself
52
+ * @param options.theme - Theme for the payment error modal (defaults to "dark")
53
+ * @param options.fundWalletOptions - Customize the BuyWidget shown when user needs to fund their wallet
54
+ * @param options.connectOptions - Customize the ConnectModal shown when user needs to sign in
55
+ * @returns An object containing:
56
+ * - `fetchWithPayment`: Function to make fetch requests with automatic payment handling (returns parsed data)
57
+ * - `isPending`: Boolean indicating if a request is in progress
58
+ * - `error`: Any error that occurred during the request
59
+ * - `data`: The parsed response data (JSON by default, or based on `parseAs` option)
60
+ * - Other mutation properties from React Query
61
+ *
62
+ * @example
63
+ * ```tsx
64
+ * import { useFetchWithPayment } from "thirdweb/react";
65
+ * import { createThirdwebClient } from "thirdweb";
66
+ *
67
+ * const client = createThirdwebClient({ clientId: "your-client-id" });
68
+ *
69
+ * function MyComponent() {
70
+ * const { fetchWithPayment, isPending } = useFetchWithPayment(client);
71
+ *
72
+ * const handleApiCall = async () => {
73
+ * // Response is automatically parsed as JSON
74
+ * const data = await fetchWithPayment('https://api.example.com/paid-endpoint');
75
+ * console.log(data);
76
+ * };
77
+ *
78
+ * return (
79
+ * <button onClick={handleApiCall} disabled={isPending}>
80
+ * {isPending ? 'Loading...' : 'Make Paid API Call'}
81
+ * </button>
82
+ * );
83
+ * }
84
+ * ```
85
+ *
86
+ * ### Customize response parsing
87
+ * ```tsx
88
+ * const { fetchWithPayment } = useFetchWithPayment(client, {
89
+ * parseAs: "text", // Get response as text instead of JSON
90
+ * });
91
+ *
92
+ * const textData = await fetchWithPayment('https://api.example.com/endpoint');
93
+ * ```
94
+ *
95
+ * ### Customize payment options
96
+ * ```tsx
97
+ * const { fetchWithPayment } = useFetchWithPayment(client, {
98
+ * maxValue: 5000000n, // 5 USDC in base units
99
+ * theme: "light",
100
+ * paymentRequirementsSelector: (requirements) => {
101
+ * // Custom logic to select preferred payment method
102
+ * return requirements[0];
103
+ * }
104
+ * });
105
+ * ```
106
+ *
107
+ * ### Customize the fund wallet widget
108
+ * ```tsx
109
+ * const { fetchWithPayment } = useFetchWithPayment(client, {
110
+ * fundWalletOptions: {
111
+ * title: "Add Funds",
112
+ * description: "You need more tokens to complete this payment",
113
+ * buttonLabel: "Get Tokens",
114
+ * }
115
+ * });
116
+ * ```
117
+ *
118
+ * ### Customize the connect modal
119
+ * ```tsx
120
+ * const { fetchWithPayment } = useFetchWithPayment(client, {
121
+ * connectOptions: {
122
+ * wallets: [inAppWallet(), createWallet("io.metamask")],
123
+ * title: "Sign in to continue",
124
+ * }
125
+ * });
126
+ * ```
127
+ *
128
+ * ### Disable the UI and handle errors yourself
129
+ * ```tsx
130
+ * const { fetchWithPayment, error } = useFetchWithPayment(client, {
131
+ * uiEnabled: false,
132
+ * });
133
+ *
134
+ * // Handle the error manually
135
+ * if (error) {
136
+ * console.error("Payment failed:", error);
137
+ * }
138
+ * ```
139
+ *
140
+ * @x402
141
+ */
142
+ export declare function useFetchWithPayment(client: ThirdwebClient, options?: UseFetchWithPaymentConfig): {
143
+ data: undefined;
144
+ variables: undefined;
145
+ error: null;
146
+ isError: false;
147
+ isIdle: true;
148
+ isPending: false;
149
+ isSuccess: false;
150
+ status: "idle";
151
+ mutate: import("@tanstack/react-query").UseMutateFunction<unknown, Error, {
152
+ input: RequestInfo;
153
+ init?: RequestInit;
154
+ }, unknown>;
155
+ reset: () => void;
156
+ context: unknown;
157
+ failureCount: number;
158
+ failureReason: Error | null;
159
+ isPaused: boolean;
160
+ submittedAt: number;
161
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<unknown, Error, {
162
+ input: RequestInfo;
163
+ init?: RequestInit;
164
+ }, unknown>;
165
+ fetchWithPayment: (input: RequestInfo, init?: RequestInit) => Promise<unknown>;
166
+ } | {
167
+ data: undefined;
168
+ variables: {
169
+ input: RequestInfo;
170
+ init?: RequestInit;
171
+ };
172
+ error: null;
173
+ isError: false;
174
+ isIdle: false;
175
+ isPending: true;
176
+ isSuccess: false;
177
+ status: "pending";
178
+ mutate: import("@tanstack/react-query").UseMutateFunction<unknown, Error, {
179
+ input: RequestInfo;
180
+ init?: RequestInit;
181
+ }, unknown>;
182
+ reset: () => void;
183
+ context: unknown;
184
+ failureCount: number;
185
+ failureReason: Error | null;
186
+ isPaused: boolean;
187
+ submittedAt: number;
188
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<unknown, Error, {
189
+ input: RequestInfo;
190
+ init?: RequestInit;
191
+ }, unknown>;
192
+ fetchWithPayment: (input: RequestInfo, init?: RequestInit) => Promise<unknown>;
193
+ } | {
194
+ data: undefined;
195
+ error: Error;
196
+ variables: {
197
+ input: RequestInfo;
198
+ init?: RequestInit;
199
+ };
200
+ isError: true;
201
+ isIdle: false;
202
+ isPending: false;
203
+ isSuccess: false;
204
+ status: "error";
205
+ mutate: import("@tanstack/react-query").UseMutateFunction<unknown, Error, {
206
+ input: RequestInfo;
207
+ init?: RequestInit;
208
+ }, unknown>;
209
+ reset: () => void;
210
+ context: unknown;
211
+ failureCount: number;
212
+ failureReason: Error | null;
213
+ isPaused: boolean;
214
+ submittedAt: number;
215
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<unknown, Error, {
216
+ input: RequestInfo;
217
+ init?: RequestInit;
218
+ }, unknown>;
219
+ fetchWithPayment: (input: RequestInfo, init?: RequestInit) => Promise<unknown>;
220
+ } | {
221
+ data: unknown;
222
+ error: null;
223
+ variables: {
224
+ input: RequestInfo;
225
+ init?: RequestInit;
226
+ };
227
+ isError: false;
228
+ isIdle: false;
229
+ isPending: false;
230
+ isSuccess: true;
231
+ status: "success";
232
+ mutate: import("@tanstack/react-query").UseMutateFunction<unknown, Error, {
233
+ input: RequestInfo;
234
+ init?: RequestInit;
235
+ }, unknown>;
236
+ reset: () => void;
237
+ context: unknown;
238
+ failureCount: number;
239
+ failureReason: Error | null;
240
+ isPaused: boolean;
241
+ submittedAt: number;
242
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<unknown, Error, {
243
+ input: RequestInfo;
244
+ init?: RequestInit;
245
+ }, unknown>;
246
+ fetchWithPayment: (input: RequestInfo, init?: RequestInit) => Promise<unknown>;
247
+ };
248
+ //# sourceMappingURL=useFetchWithPayment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFetchWithPayment.d.ts","sourceRoot":"","sources":["../../../../../../src/react/web/hooks/x402/useFetchWithPayment.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EACL,KAAK,0BAA0B,EAEhC,MAAM,qDAAqD,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,2CAA2C,CAAC;AAInD,YAAY,EAAE,0BAA0B,EAAE,CAAC;AAE3C,KAAK,yBAAyB,GAAG,0BAA0B,GAAG;IAC5D;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;IACjC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CACzB,IAAI,CACF,cAAc,EACd,QAAQ,GAAG,OAAO,GAAG,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CACzE,CACF,CAAC;IACF;;;OAGG;IACH,cAAc,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC;CACnE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyEpC"}
@@ -0,0 +1,20 @@
1
+ import type { ThirdwebClient } from "../../../../client/client.js";
2
+ import { type RequestedPaymentRequirements } from "../../../../x402/schemas.js";
3
+ import type { PaymentRequiredResult } from "../../../../x402/types.js";
4
+ import type { Theme } from "../../../core/design-system/index.js";
5
+ import { type BuyWidgetProps } from "../Bridge/BuyWidget.js";
6
+ type PaymentErrorModalProps = {
7
+ client: ThirdwebClient;
8
+ errorData: PaymentRequiredResult["responseBody"];
9
+ onRetry: () => void;
10
+ onCancel: () => void;
11
+ theme: Theme | "light" | "dark";
12
+ fundWalletOptions?: Partial<Omit<BuyWidgetProps, "client" | "chain" | "tokenAddress" | "amount" | "onSuccess" | "onCancel" | "theme">>;
13
+ paymentRequirementsSelector?: (paymentRequirements: RequestedPaymentRequirements[]) => RequestedPaymentRequirements | undefined;
14
+ };
15
+ /**
16
+ * @internal
17
+ */
18
+ export declare function PaymentErrorModal(props: PaymentErrorModalProps): import("react/jsx-runtime").JSX.Element;
19
+ export {};
20
+ //# sourceMappingURL=PaymentErrorModal.d.ts.map