thirdweb 5.115.4 → 5.116.1

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 (83) hide show
  1. package/dist/cjs/exports/react.js.map +1 -1
  2. package/dist/cjs/react/core/hooks/x402/useFetchWithPaymentCore.js +5 -1
  3. package/dist/cjs/react/core/hooks/x402/useFetchWithPaymentCore.js.map +1 -1
  4. package/dist/cjs/react/native/hooks/x402/useFetchWithPayment.js +6 -1
  5. package/dist/cjs/react/native/hooks/x402/useFetchWithPayment.js.map +1 -1
  6. package/dist/cjs/react/web/hooks/x402/useFetchWithPayment.js +7 -1
  7. package/dist/cjs/react/web/hooks/x402/useFetchWithPayment.js.map +1 -1
  8. package/dist/cjs/react/web/ui/Bridge/bridge-widget/bridge-widget.js +0 -6
  9. package/dist/cjs/react/web/ui/Bridge/bridge-widget/bridge-widget.js.map +1 -1
  10. package/dist/cjs/version.js +1 -1
  11. package/dist/cjs/x402/facilitator.js +1 -0
  12. package/dist/cjs/x402/facilitator.js.map +1 -1
  13. package/dist/cjs/x402/fetchWithPayment.js +13 -1
  14. package/dist/cjs/x402/fetchWithPayment.js.map +1 -1
  15. package/dist/cjs/x402/permitSignatureStorage.js +70 -0
  16. package/dist/cjs/x402/permitSignatureStorage.js.map +1 -0
  17. package/dist/cjs/x402/schemas.js +4 -0
  18. package/dist/cjs/x402/schemas.js.map +1 -1
  19. package/dist/cjs/x402/sign.js +51 -4
  20. package/dist/cjs/x402/sign.js.map +1 -1
  21. package/dist/cjs/x402/types.js.map +1 -1
  22. package/dist/cjs/x402/verify-payment.js +3 -0
  23. package/dist/cjs/x402/verify-payment.js.map +1 -1
  24. package/dist/esm/exports/react.js.map +1 -1
  25. package/dist/esm/react/core/hooks/x402/useFetchWithPaymentCore.js +5 -1
  26. package/dist/esm/react/core/hooks/x402/useFetchWithPaymentCore.js.map +1 -1
  27. package/dist/esm/react/native/hooks/x402/useFetchWithPayment.js +6 -1
  28. package/dist/esm/react/native/hooks/x402/useFetchWithPayment.js.map +1 -1
  29. package/dist/esm/react/web/hooks/x402/useFetchWithPayment.js +8 -2
  30. package/dist/esm/react/web/hooks/x402/useFetchWithPayment.js.map +1 -1
  31. package/dist/esm/react/web/ui/Bridge/bridge-widget/bridge-widget.js +0 -6
  32. package/dist/esm/react/web/ui/Bridge/bridge-widget/bridge-widget.js.map +1 -1
  33. package/dist/esm/version.js +1 -1
  34. package/dist/esm/x402/facilitator.js +1 -0
  35. package/dist/esm/x402/facilitator.js.map +1 -1
  36. package/dist/esm/x402/fetchWithPayment.js +13 -1
  37. package/dist/esm/x402/fetchWithPayment.js.map +1 -1
  38. package/dist/esm/x402/permitSignatureStorage.js +65 -0
  39. package/dist/esm/x402/permitSignatureStorage.js.map +1 -0
  40. package/dist/esm/x402/schemas.js +4 -0
  41. package/dist/esm/x402/schemas.js.map +1 -1
  42. package/dist/esm/x402/sign.js +51 -4
  43. package/dist/esm/x402/sign.js.map +1 -1
  44. package/dist/esm/x402/types.js.map +1 -1
  45. package/dist/esm/x402/verify-payment.js +3 -0
  46. package/dist/esm/x402/verify-payment.js.map +1 -1
  47. package/dist/scripts/bridge-widget.js +2 -2
  48. package/dist/types/exports/react.d.ts +1 -0
  49. package/dist/types/exports/react.d.ts.map +1 -1
  50. package/dist/types/react/core/hooks/x402/useFetchWithPaymentCore.d.ts +6 -0
  51. package/dist/types/react/core/hooks/x402/useFetchWithPaymentCore.d.ts.map +1 -1
  52. package/dist/types/react/native/hooks/x402/useFetchWithPayment.d.ts +1 -0
  53. package/dist/types/react/native/hooks/x402/useFetchWithPayment.d.ts.map +1 -1
  54. package/dist/types/react/web/hooks/x402/useFetchWithPayment.d.ts.map +1 -1
  55. package/dist/types/react/web/ui/Bridge/bridge-widget/bridge-widget.d.ts +0 -6
  56. package/dist/types/react/web/ui/Bridge/bridge-widget/bridge-widget.d.ts.map +1 -1
  57. package/dist/types/version.d.ts +1 -1
  58. package/dist/types/x402/facilitator.d.ts.map +1 -1
  59. package/dist/types/x402/fetchWithPayment.d.ts +6 -0
  60. package/dist/types/x402/fetchWithPayment.d.ts.map +1 -1
  61. package/dist/types/x402/permitSignatureStorage.d.ts +43 -0
  62. package/dist/types/x402/permitSignatureStorage.d.ts.map +1 -0
  63. package/dist/types/x402/schemas.d.ts +12 -0
  64. package/dist/types/x402/schemas.d.ts.map +1 -1
  65. package/dist/types/x402/sign.d.ts +3 -1
  66. package/dist/types/x402/sign.d.ts.map +1 -1
  67. package/dist/types/x402/types.d.ts +8 -0
  68. package/dist/types/x402/types.d.ts.map +1 -1
  69. package/dist/types/x402/verify-payment.d.ts.map +1 -1
  70. package/package.json +1 -1
  71. package/src/exports/react.ts +1 -0
  72. package/src/react/core/hooks/x402/useFetchWithPaymentCore.ts +11 -1
  73. package/src/react/native/hooks/x402/useFetchWithPayment.ts +6 -1
  74. package/src/react/web/hooks/x402/useFetchWithPayment.tsx +12 -2
  75. package/src/react/web/ui/Bridge/bridge-widget/bridge-widget.tsx +0 -6
  76. package/src/version.ts +1 -1
  77. package/src/x402/facilitator.ts +1 -0
  78. package/src/x402/fetchWithPayment.ts +21 -0
  79. package/src/x402/permitSignatureStorage.ts +99 -0
  80. package/src/x402/schemas.ts +4 -0
  81. package/src/x402/sign.ts +76 -1
  82. package/src/x402/types.ts +8 -0
  83. package/src/x402/verify-payment.ts +3 -0
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ import { nativeLocalStorage } from "../../../../utils/storage/nativeStorage.js";
2
3
  import { useFetchWithPaymentCore, } from "../../../core/hooks/x402/useFetchWithPaymentCore.js";
3
4
  /**
4
5
  * A React hook that wraps the native fetch API to automatically handle 402 Payment Required responses
@@ -21,6 +22,7 @@ import { useFetchWithPaymentCore, } from "../../../core/hooks/x402/useFetchWithP
21
22
  * @param options.maxValue - The maximum allowed payment amount in base units
22
23
  * @param options.paymentRequirementsSelector - Custom function to select payment requirements from available options
23
24
  * @param options.parseAs - How to parse the response: "json" (default), "text", or "raw"
25
+ * @param options.storage - Storage for caching permit signatures (for "upto" scheme). Provide your own AsyncStorage implementation for React Native.
24
26
  * @returns An object containing:
25
27
  * - `fetchWithPayment`: Function to make fetch requests with automatic payment handling (returns parsed data)
26
28
  * - `isPending`: Boolean indicating if a request is in progress
@@ -81,6 +83,9 @@ import { useFetchWithPaymentCore, } from "../../../core/hooks/x402/useFetchWithP
81
83
  */
82
84
  export function useFetchWithPayment(client, options) {
83
85
  // Native version doesn't show modal, errors bubble up naturally
84
- return useFetchWithPaymentCore(client, options);
86
+ return useFetchWithPaymentCore(client, {
87
+ ...options,
88
+ storage: options?.storage ?? nativeLocalStorage,
89
+ });
85
90
  }
86
91
  //# sourceMappingURL=useFetchWithPayment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchWithPayment.js","sourceRoot":"","sources":["../../../../../../src/react/native/hooks/x402/useFetchWithPayment.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAEL,uBAAuB,GACxB,MAAM,qDAAqD,CAAC;AAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAsB,EACtB,OAAoC;IAEpC,gEAAgE;IAChE,OAAO,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"useFetchWithPayment.js","sourceRoot":"","sources":["../../../../../../src/react/native/hooks/x402/useFetchWithPayment.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAEL,uBAAuB,GACxB,MAAM,qDAAqD,CAAC;AAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAsB,EACtB,OAAoC;IAEpC,gEAAgE;IAChE,OAAO,uBAAuB,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,kBAAkB;KAChD,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useContext } from "react";
3
+ import { useContext, useMemo } from "react";
4
+ import { webLocalStorage } from "../../../../utils/storage/webStorage.js";
4
5
  import { useFetchWithPaymentCore, } from "../../../core/hooks/x402/useFetchWithPaymentCore.js";
5
6
  import { SetRootElementContext } from "../../../core/providers/RootElementContext.js";
6
7
  import { useConnectModal, } from "../../ui/ConnectWallet/useConnectModal.js";
@@ -172,6 +173,11 @@ export function useFetchWithPayment(client, options) {
172
173
  } }));
173
174
  }
174
175
  : undefined;
175
- return useFetchWithPaymentCore(client, options, showErrorModal, showConnectModal);
176
+ // Default to webLocalStorage for permit signature caching
177
+ const resolvedOptions = useMemo(() => ({
178
+ ...(options ?? {}),
179
+ storage: options?.storage ?? webLocalStorage,
180
+ }), [options]);
181
+ return useFetchWithPaymentCore(client, resolvedOptions, showErrorModal, showConnectModal);
176
182
  }
177
183
  //# sourceMappingURL=useFetchWithPayment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchWithPayment.js","sourceRoot":"","sources":["../../../../../../src/react/web/hooks/x402/useFetchWithPayment.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFetchWithPayment.js","sourceRoot":"","sources":["../../../../../../src/react/web/hooks/x402/useFetchWithPayment.tsx"],"names":[],"mappings":"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"}
@@ -27,12 +27,6 @@ import { SwapWidget } from "../swap-widget/SwapWidget.js";
27
27
  * client={client}
28
28
  * currency="USD"
29
29
  * theme="dark"
30
- * showThirdwebBranding
31
- * buy={{
32
- * // Buy 0.1 native tokens on Base
33
- * amount: "0.1",
34
- * chainId: 8453,
35
- * }}
36
30
  * />
37
31
  * ```
38
32
  *
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-widget.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/Bridge/bridge-widget/bridge-widget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-widget.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/Bridge/bridge-widget/bridge-widget.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const version = "5.115.4";
1
+ export const version = "5.116.1";
2
2
  //# sourceMappingURL=version.js.map
@@ -188,6 +188,7 @@ export function facilitator(config) {
188
188
  method: args.method,
189
189
  network: caip2ChainId,
190
190
  price: args.price,
191
+ minPrice: args.minPrice,
191
192
  scheme: args.scheme,
192
193
  routeConfig: args.routeConfig,
193
194
  serverWalletAddress: facilitator.address,
@@ -1 +1 @@
1
- {"version":3,"file":"facilitator.js","sourceRoot":"","sources":["../../../src/x402/facilitator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facilitator.js","sourceRoot":"","sources":["../../../src/x402/facilitator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import { getCachedChain } from "../chains/utils.js";
2
+ import { getAddress } from "../utils/address.js";
3
+ import { webLocalStorage } from "../utils/storage/webStorage.js";
4
+ import { clearPermitSignatureFromCache } from "./permitSignatureStorage.js";
2
5
  import { extractEvmChainId, networkToCaip2ChainId, RequestedPaymentRequirementsSchema, } from "./schemas.js";
3
6
  import { createPaymentHeader } from "./sign.js";
4
7
  /**
@@ -77,7 +80,7 @@ export function wrapFetchWithPayment(fetch, client, wallet, options) {
77
80
  throw new Error(`Failed to switch chain (${paymentChainId})`);
78
81
  }
79
82
  }
80
- const paymentHeader = await createPaymentHeader(client, account, selectedPaymentRequirements, x402Version);
83
+ const paymentHeader = await createPaymentHeader(client, account, selectedPaymentRequirements, x402Version, options?.storage ?? webLocalStorage);
81
84
  const initParams = init || {};
82
85
  if (initParams.__is402Retry) {
83
86
  throw new Error("Payment already attempted");
@@ -92,6 +95,15 @@ export function wrapFetchWithPayment(fetch, client, wallet, options) {
92
95
  __is402Retry: true,
93
96
  };
94
97
  const secondResponse = await fetch(input, newInit);
98
+ // If payment was rejected (still 402), clear cached signature
99
+ if (secondResponse.status === 402 && options?.storage) {
100
+ await clearPermitSignatureFromCache(options.storage, {
101
+ chainId: paymentChainId,
102
+ asset: selectedPaymentRequirements.asset,
103
+ owner: getAddress(account.address),
104
+ spender: getAddress(selectedPaymentRequirements.payTo),
105
+ });
106
+ }
95
107
  return secondResponse;
96
108
  };
97
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetchWithPayment.js","sourceRoot":"","sources":["../../../src/x402/fetchWithPayment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EAErB,kCAAkC,GACnC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAA8B,EAC9B,MAAsB,EACtB,MAAc,EACd,OAKC;IAED,OAAO,KAAK,EAAE,KAAkB,EAAE,IAAkB,EAAE,EAAE;QACtD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE1C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAI7D,CAAC;QACF,MAAM,yBAAyB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClD,kCAAkC,CAAC,KAAK,CAAC,CAAC,CAAC,CAC5C,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE9B,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;QACJ,CAAC;QACD,MAAM,2BAA2B,GAAG,OAAO,EAAE,2BAA2B;YACtE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,yBAAyB,CAAC;YAChE,CAAC,CAAC,kCAAkC,CAChC,yBAAyB,EACzB,KAAK,CAAC,EAAE,EACR,KAAK,CACN,CAAC;QAEN,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,oDAAoD,KAAK,CAAC,EAAE,KAAK,KAAK,EAAE,CACzE,CAAC;QACJ,CAAC;QAED,IACE,OAAO,EAAE,QAAQ;YACjB,MAAM,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,QAAQ,EACxE,CAAC;YACD,MAAM,IAAI,KAAK,CACb,4DAA4D,OAAO,CAAC,QAAQ,iBAAiB,CAC9F,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,qBAAqB,CACxC,2BAA2B,CAAC,OAAO,CACpC,CAAC;QACF,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACvD,6BAA6B;QAC7B,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,yBAAyB,2BAA2B,CAAC,OAAO,EAAE,CAC/D,CAAC;QACJ,CAAC;QAED,4DAA4D;QAC5D,IAAI,cAAc,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;YACzD,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,GAAG,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAC7C,MAAM,EACN,OAAO,EACP,2BAA2B,EAC3B,WAAW,CACZ,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAE9B,IAAK,UAAyC,CAAC,YAAY,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,OAAO,GAAG;YACd,GAAG,UAAU;YACb,OAAO,EAAE;gBACP,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC7B,WAAW,EAAE,aAAa;gBAC1B,+BAA+B,EAAE,oBAAoB;aACtD;YACD,YAAY,EAAE,IAAI;SACnB,CAAC;QAEF,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,mBAAmD,EACnD,OAAe,EACf,KAAc;IAEd,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,+DAA+D,KAAK,EAAE,CACvE,CAAC;IACJ,CAAC;IACD,oEAAoE;IACpE,MAAM,2BAA2B,GAAG,mBAAmB,CAAC,IAAI,CAC1D,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,OAAO,CACvE,CAAC;IAEF,IAAI,2BAA2B,EAAE,CAAC;QAChC,OAAO,2BAA2B,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,yEAAyE;QACzE,sCAAsC;QACtC,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,uBAAuB,CAAC;IACjC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"fetchWithPayment.js","sourceRoot":"","sources":["../../../src/x402/fetchWithPayment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ const CACHE_KEY_PREFIX = "x402:permit";
2
+ /**
3
+ * Generates a cache key for permit signature storage
4
+ * @param params - The parameters to generate the cache key from
5
+ * @returns The cache key string
6
+ */
7
+ function getPermitCacheKey(params) {
8
+ return `${CACHE_KEY_PREFIX}:${params.chainId}:${params.asset.toLowerCase()}:${params.owner.toLowerCase()}:${params.spender.toLowerCase()}`;
9
+ }
10
+ /**
11
+ * Retrieves a cached permit signature from storage
12
+ * @param storage - The AsyncStorage instance to use
13
+ * @param params - The parameters identifying the cached signature
14
+ * @returns The cached signature data or null if not found
15
+ */
16
+ export async function getPermitSignatureFromCache(storage, params) {
17
+ try {
18
+ const key = getPermitCacheKey(params);
19
+ const cached = await storage.getItem(key);
20
+ if (!cached) {
21
+ return null;
22
+ }
23
+ return JSON.parse(cached);
24
+ }
25
+ catch {
26
+ return null;
27
+ }
28
+ }
29
+ /**
30
+ * Saves a permit signature to storage cache
31
+ * @param storage - The AsyncStorage instance to use
32
+ * @param params - The parameters identifying the signature
33
+ * @param payload - The signed payment payload to cache
34
+ * @param deadline - The deadline timestamp of the permit
35
+ * @param maxAmount - The maximum amount authorized
36
+ */
37
+ export async function savePermitSignatureToCache(storage, params, payload, deadline, maxAmount) {
38
+ try {
39
+ const key = getPermitCacheKey(params);
40
+ const data = {
41
+ payload,
42
+ deadline,
43
+ maxAmount,
44
+ };
45
+ await storage.setItem(key, JSON.stringify(data));
46
+ }
47
+ catch {
48
+ // Silently fail - caching is optional
49
+ }
50
+ }
51
+ /**
52
+ * Clears a cached permit signature from storage
53
+ * @param storage - The AsyncStorage instance to use
54
+ * @param params - The parameters identifying the cached signature
55
+ */
56
+ export async function clearPermitSignatureFromCache(storage, params) {
57
+ try {
58
+ const key = getPermitCacheKey(params);
59
+ await storage.removeItem(key);
60
+ }
61
+ catch {
62
+ // Silently fail
63
+ }
64
+ }
65
+ //# sourceMappingURL=permitSignatureStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permitSignatureStorage.js","sourceRoot":"","sources":["../../../src/x402/permitSignatureStorage.ts"],"names":[],"mappings":"AAsBA,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,MAA4B;IACrD,OAAO,GAAG,gBAAgB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;AAC7I,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAAqB,EACrB,MAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAA0B,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAqB,EACrB,MAA4B,EAC5B,OAAgC,EAChC,QAAgB,EAChB,SAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,IAAI,GAA0B;YAClC,OAAO;YACP,QAAQ;YACR,SAAS;SACV,CAAC;QACF,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAqB,EACrB,MAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB;IAClB,CAAC;AACH,CAAC"}
@@ -14,10 +14,14 @@ const FacilitatorSettleResponseSchema = SettleResponseSchema.extend({
14
14
  network: FacilitatorNetworkSchema,
15
15
  errorMessage: z.string().optional(),
16
16
  fundWalletLink: z.string().optional(),
17
+ allowance: z.string().optional(),
18
+ balance: z.string().optional(),
17
19
  });
18
20
  const FacilitatorVerifyResponseSchema = VerifyResponseSchema.extend({
19
21
  errorMessage: z.string().optional(),
20
22
  fundWalletLink: z.string().optional(),
23
+ allowance: z.string().optional(),
24
+ balance: z.string().optional(),
21
25
  });
22
26
  export const SupportedSignatureTypeSchema = z.enum([
23
27
  "TransferWithAuthorization",
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/x402/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/x402/schemas.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import { hexToBigInt } from "viem";
2
2
  import { getCachedChain } from "../chains/utils.js";
3
3
  import { getContract } from "../contract/contract.js";
4
+ import { allowance } from "../extensions/erc20/__generated__/IERC20/read/allowance.js";
4
5
  import { nonces } from "../extensions/erc20/__generated__/IERC20Permit/read/nonces.js";
5
6
  import { getAddress } from "../utils/address.js";
6
7
  import { toHex } from "../utils/encoding/hex.js";
7
8
  import { getSupportedSignatureType } from "./common.js";
8
9
  import { encodePayment } from "./encode.js";
10
+ import { getPermitSignatureFromCache, savePermitSignatureToCache, } from "./permitSignatureStorage.js";
9
11
  import { extractEvmChainId, networkToCaip2ChainId, } from "./schemas.js";
10
12
  /**
11
13
  * Prepares an unsigned payment header with the given sender address and payment requirements.
@@ -41,9 +43,10 @@ function preparePaymentHeader(from, x402Version, paymentRequirements, nonce) {
41
43
  * @param client - The signer wallet instance used to sign the payment header
42
44
  * @param paymentRequirements - The payment requirements containing scheme and network information
43
45
  * @param unsignedPaymentHeader - The unsigned payment payload to be signed
46
+ * @param storage - Optional storage for caching permit signatures (for "upto" scheme)
44
47
  * @returns A promise that resolves to the signed payment payload
45
48
  */
46
- async function signPaymentHeader(client, account, paymentRequirements, x402Version) {
49
+ async function signPaymentHeader(client, account, paymentRequirements, x402Version, storage) {
47
50
  const from = getAddress(account.address);
48
51
  const caip2ChainId = networkToCaip2ChainId(paymentRequirements.network);
49
52
  const chainId = extractEvmChainId(caip2ChainId);
@@ -59,6 +62,44 @@ async function signPaymentHeader(client, account, paymentRequirements, x402Versi
59
62
  });
60
63
  switch (supportedSignatureType) {
61
64
  case "Permit": {
65
+ const shouldCache = paymentRequirements.scheme === "upto" && storage !== undefined;
66
+ const spender = getAddress(paymentRequirements.payTo);
67
+ const cacheParams = {
68
+ chainId,
69
+ asset: paymentRequirements.asset,
70
+ owner: from,
71
+ spender,
72
+ };
73
+ // Try to reuse cached signature for "upto" scheme
74
+ if (shouldCache && storage) {
75
+ const cached = await getPermitSignatureFromCache(storage, cacheParams);
76
+ if (cached) {
77
+ // Validate deadline hasn't passed
78
+ const now = BigInt(Math.floor(Date.now() / 1000));
79
+ if (BigInt(cached.deadline) > now) {
80
+ // Check on-chain allowance
81
+ const currentAllowance = await allowance({
82
+ contract: getContract({
83
+ address: paymentRequirements.asset,
84
+ chain: getCachedChain(chainId),
85
+ client,
86
+ }),
87
+ owner: from,
88
+ spender,
89
+ });
90
+ // Determine threshold - use minAmountRequired if present, else maxAmountRequired
91
+ const extra = paymentRequirements.extra;
92
+ const threshold = extra?.minAmountRequired
93
+ ? BigInt(extra.minAmountRequired)
94
+ : BigInt(paymentRequirements.maxAmountRequired);
95
+ // If allowance >= threshold, reuse signature
96
+ if (currentAllowance >= threshold) {
97
+ return cached.payload;
98
+ }
99
+ }
100
+ }
101
+ }
102
+ // Generate new signature
62
103
  const nonce = await nonces({
63
104
  contract: getContract({
64
105
  address: paymentRequirements.asset,
@@ -69,13 +110,18 @@ async function signPaymentHeader(client, account, paymentRequirements, x402Versi
69
110
  });
70
111
  const unsignedPaymentHeader = preparePaymentHeader(from, x402Version, paymentRequirements, toHex(nonce, { size: 32 }));
71
112
  const { signature } = await signERC2612Permit(account, unsignedPaymentHeader.payload.authorization, paymentRequirements);
72
- return {
113
+ const signedPayload = {
73
114
  ...unsignedPaymentHeader,
74
115
  payload: {
75
116
  ...unsignedPaymentHeader.payload,
76
117
  signature,
77
118
  },
78
119
  };
120
+ // Cache the signature for "upto" scheme
121
+ if (shouldCache && storage) {
122
+ await savePermitSignatureToCache(storage, cacheParams, signedPayload, unsignedPaymentHeader.payload.authorization.validBefore, paymentRequirements.maxAmountRequired);
123
+ }
124
+ return signedPayload;
79
125
  }
80
126
  case "TransferWithAuthorization": {
81
127
  // default to transfer with authorization
@@ -100,10 +146,11 @@ async function signPaymentHeader(client, account, paymentRequirements, x402Versi
100
146
  * @param client - The signer wallet instance used to create the payment header
101
147
  * @param x402Version - The version of the X402 protocol to use
102
148
  * @param paymentRequirements - The payment requirements containing scheme and network information
149
+ * @param storage - Optional storage for caching permit signatures (for "upto" scheme)
103
150
  * @returns A promise that resolves to the encoded payment header string
104
151
  */
105
- export async function createPaymentHeader(client, account, paymentRequirements, x402Version) {
106
- const payment = await signPaymentHeader(client, account, paymentRequirements, x402Version);
152
+ export async function createPaymentHeader(client, account, paymentRequirements, x402Version, storage) {
153
+ const payment = await signPaymentHeader(client, account, paymentRequirements, x402Version, storage);
107
154
  return encodePayment(payment);
108
155
  }
109
156
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../src/x402/sign.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../src/x402/sign.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/x402/types.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAYpB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AA8F7B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC;IACzC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/x402/types.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAYpB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAsG7B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC;IACzC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CAClB,CAAC,CAAC"}
@@ -93,6 +93,9 @@ export async function verifyPayment(args) {
93
93
  status: 200,
94
94
  decodedPayment,
95
95
  selectedPaymentRequirements,
96
+ allowance: verification.allowance,
97
+ balance: verification.balance,
98
+ payer: verification.payer,
96
99
  };
97
100
  }
98
101
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"verify-payment.js","sourceRoot":"","sources":["../../../src/x402/verify-payment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAGL,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAiB;IAEjB,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC/C,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IAEtC,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE7D,IAAI,mBAAmB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvC,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,EAAE,2BAA2B,EAAE,cAAc,EAAE,mBAAmB,EAAE,GACxE,mBAAmB,CAAC;IAEtB,iBAAiB;IACjB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,MAAM,CAC3C,cAAc,EACd,2BAA2B,CAC5B,CAAC;QAEF,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,cAAc;gBACd,2BAA2B;aAC5B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,IAAI,qBAAqB,CAAC;YAClE,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,eAAe,EAAE;oBACf,cAAc,EAAE,kBAAkB;iBACnC;gBACD,YAAY,EAAE;oBACZ,WAAW;oBACX,KAAK,EAAE,KAAK;oBACZ,YAAY,EACV,aAAa,EAAE,kBAAkB,IAAI,YAAY,CAAC,YAAY;oBAChE,cAAc,EAAE,YAAY,CAAC,cAAc;oBAC3C,OAAO,EAAE,mBAAmB;iBAC7B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,GAAG;YACX,eAAe,EAAE;gBACf,cAAc,EAAE,kBAAkB;aACnC;YACD,YAAY,EAAE;gBACZ,WAAW;gBACX,KAAK,EAAE,oBAAoB;gBAC3B,YAAY,EACV,aAAa,EAAE,kBAAkB;oBACjC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtD,OAAO,EAAE,mBAAmB;aAC7B;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"verify-payment.js","sourceRoot":"","sources":["../../../src/x402/verify-payment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAGL,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAiB;IAEjB,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC/C,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IAEtC,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE7D,IAAI,mBAAmB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvC,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,EAAE,2BAA2B,EAAE,cAAc,EAAE,mBAAmB,EAAE,GACxE,mBAAmB,CAAC;IAEtB,iBAAiB;IACjB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,MAAM,CAC3C,cAAc,EACd,2BAA2B,CAC5B,CAAC;QAEF,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,cAAc;gBACd,2BAA2B;gBAC3B,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,KAAK,EAAE,YAAY,CAAC,KAAK;aAC1B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,IAAI,qBAAqB,CAAC;YAClE,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,eAAe,EAAE;oBACf,cAAc,EAAE,kBAAkB;iBACnC;gBACD,YAAY,EAAE;oBACZ,WAAW;oBACX,KAAK,EAAE,KAAK;oBACZ,YAAY,EACV,aAAa,EAAE,kBAAkB,IAAI,YAAY,CAAC,YAAY;oBAChE,cAAc,EAAE,YAAY,CAAC,cAAc;oBAC3C,OAAO,EAAE,mBAAmB;iBAC7B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,GAAG;YACX,eAAe,EAAE;gBACf,cAAc,EAAE,kBAAkB;aACnC;YACD,YAAY,EAAE;gBACZ,WAAW;gBACX,KAAK,EAAE,oBAAoB;gBAC3B,YAAY,EACV,aAAa,EAAE,kBAAkB;oBACjC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtD,OAAO,EAAE,mBAAmB;aAC7B;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}