thirdweb 5.108.2-nightly-a83104efff49a2fd40ad4b87cfbcf3ff103ea7da-20250925000342 → 5.108.3

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 (84) hide show
  1. package/dist/cjs/exports/x402.js.map +1 -1
  2. package/dist/cjs/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.js +176 -0
  3. package/dist/cjs/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.js.map +1 -0
  4. package/dist/cjs/utils/units.js +3 -0
  5. package/dist/cjs/utils/units.js.map +1 -1
  6. package/dist/cjs/version.js +1 -1
  7. package/dist/cjs/version.js.map +1 -1
  8. package/dist/cjs/x402/common.js +79 -41
  9. package/dist/cjs/x402/common.js.map +1 -1
  10. package/dist/cjs/x402/facilitator.js +2 -0
  11. package/dist/cjs/x402/facilitator.js.map +1 -1
  12. package/dist/cjs/x402/fetchWithPayment.js +3 -3
  13. package/dist/cjs/x402/fetchWithPayment.js.map +1 -1
  14. package/dist/cjs/x402/schemas.js +3 -0
  15. package/dist/cjs/x402/schemas.js.map +1 -1
  16. package/dist/cjs/x402/settle-payment.js +4 -3
  17. package/dist/cjs/x402/settle-payment.js.map +1 -1
  18. package/dist/cjs/x402/sign.js +100 -34
  19. package/dist/cjs/x402/sign.js.map +1 -1
  20. package/dist/cjs/x402/types.js.map +1 -1
  21. package/dist/cjs/x402/verify-payment.js +2 -1
  22. package/dist/cjs/x402/verify-payment.js.map +1 -1
  23. package/dist/esm/exports/x402.js.map +1 -1
  24. package/dist/esm/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.js +169 -0
  25. package/dist/esm/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.js.map +1 -0
  26. package/dist/esm/utils/units.js +3 -0
  27. package/dist/esm/utils/units.js.map +1 -1
  28. package/dist/esm/version.js +1 -1
  29. package/dist/esm/version.js.map +1 -1
  30. package/dist/esm/x402/common.js +79 -42
  31. package/dist/esm/x402/common.js.map +1 -1
  32. package/dist/esm/x402/facilitator.js +2 -0
  33. package/dist/esm/x402/facilitator.js.map +1 -1
  34. package/dist/esm/x402/fetchWithPayment.js +3 -3
  35. package/dist/esm/x402/fetchWithPayment.js.map +1 -1
  36. package/dist/esm/x402/schemas.js +3 -0
  37. package/dist/esm/x402/schemas.js.map +1 -1
  38. package/dist/esm/x402/settle-payment.js +4 -3
  39. package/dist/esm/x402/settle-payment.js.map +1 -1
  40. package/dist/esm/x402/sign.js +100 -34
  41. package/dist/esm/x402/sign.js.map +1 -1
  42. package/dist/esm/x402/types.js.map +1 -1
  43. package/dist/esm/x402/verify-payment.js +2 -1
  44. package/dist/esm/x402/verify-payment.js.map +1 -1
  45. package/dist/scripts/bridge-widget.js +3 -3
  46. package/dist/types/exports/x402.d.ts +1 -1
  47. package/dist/types/exports/x402.d.ts.map +1 -1
  48. package/dist/types/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.d.ts +121 -0
  49. package/dist/types/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.d.ts.map +1 -0
  50. package/dist/types/react/web/ui/Bridge/swap-widget/SwapWidget.d.ts +1 -1
  51. package/dist/types/utils/units.d.ts.map +1 -1
  52. package/dist/types/version.d.ts +1 -1
  53. package/dist/types/version.d.ts.map +1 -1
  54. package/dist/types/x402/common.d.ts +8 -1
  55. package/dist/types/x402/common.d.ts.map +1 -1
  56. package/dist/types/x402/facilitator.d.ts +19 -41
  57. package/dist/types/x402/facilitator.d.ts.map +1 -1
  58. package/dist/types/x402/fetchWithPayment.d.ts +1 -1
  59. package/dist/types/x402/fetchWithPayment.d.ts.map +1 -1
  60. package/dist/types/x402/schemas.d.ts +2 -1
  61. package/dist/types/x402/schemas.d.ts.map +1 -1
  62. package/dist/types/x402/settle-payment.d.ts +4 -2
  63. package/dist/types/x402/settle-payment.d.ts.map +1 -1
  64. package/dist/types/x402/sign.d.ts +2 -1
  65. package/dist/types/x402/sign.d.ts.map +1 -1
  66. package/dist/types/x402/types.d.ts +18 -4
  67. package/dist/types/x402/types.d.ts.map +1 -1
  68. package/dist/types/x402/verify-payment.d.ts +2 -1
  69. package/dist/types/x402/verify-payment.d.ts.map +1 -1
  70. package/package.json +1 -1
  71. package/src/exports/x402.ts +1 -0
  72. package/src/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.ts +215 -0
  73. package/src/react/web/ui/Bridge/swap-widget/SwapWidget.tsx +1 -1
  74. package/src/utils/units.test.ts +13 -0
  75. package/src/utils/units.ts +4 -0
  76. package/src/version.ts +1 -1
  77. package/src/x402/common.ts +102 -55
  78. package/src/x402/facilitator.ts +29 -1
  79. package/src/x402/fetchWithPayment.ts +6 -3
  80. package/src/x402/schemas.ts +5 -1
  81. package/src/x402/settle-payment.ts +4 -3
  82. package/src/x402/sign.ts +140 -49
  83. package/src/x402/types.ts +20 -8
  84. package/src/x402/verify-payment.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"x402.js","sourceRoot":"","sources":["../../../src/exports/x402.ts"],"names":[],"mappings":";;;AAAA,+CAAiE;AAAxD,0GAAA,aAAa,OAAA;AAAE,0GAAA,aAAa,OAAA;AACrC,yDAGgC;AAF9B,6GAAA,WAAW,OAAA;AAGb,mEAAmE;AAA1D,2HAAA,oBAAoB,OAAA;AAC7B,+DAA0D;AAAjD,kHAAA,aAAa,OAAA;AAMtB,+DAA0D;AAAjD,kHAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"x402.js","sourceRoot":"","sources":["../../../src/exports/x402.ts"],"names":[],"mappings":";;;AAAA,+CAAiE;AAAxD,0GAAA,aAAa,OAAA;AAAE,0GAAA,aAAa,OAAA;AACrC,yDAIgC;AAH9B,6GAAA,WAAW,OAAA;AAIb,mEAAmE;AAA1D,2HAAA,oBAAoB,OAAA;AAC7B,+DAA0D;AAAjD,kHAAA,aAAa,OAAA;AAMtB,+DAA0D;AAAjD,kHAAA,aAAa,OAAA"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FN_SELECTOR = void 0;
4
+ exports.isTransferWithAuthorizationSupported = isTransferWithAuthorizationSupported;
5
+ exports.encodeTransferWithAuthorizationParams = encodeTransferWithAuthorizationParams;
6
+ exports.encodeTransferWithAuthorization = encodeTransferWithAuthorization;
7
+ exports.transferWithAuthorization = transferWithAuthorization;
8
+ const prepare_contract_call_js_1 = require("../../../../../transaction/prepare-contract-call.js");
9
+ const encodeAbiParameters_js_1 = require("../../../../../utils/abi/encodeAbiParameters.js");
10
+ const detectExtension_js_1 = require("../../../../../utils/bytecode/detectExtension.js");
11
+ const once_js_1 = require("../../../../../utils/promise/once.js");
12
+ exports.FN_SELECTOR = "0xcf092995";
13
+ const FN_INPUTS = [
14
+ {
15
+ type: "address",
16
+ name: "from",
17
+ },
18
+ {
19
+ type: "address",
20
+ name: "to",
21
+ },
22
+ {
23
+ type: "uint256",
24
+ name: "value",
25
+ },
26
+ {
27
+ type: "uint256",
28
+ name: "validAfter",
29
+ },
30
+ {
31
+ type: "uint256",
32
+ name: "validBefore",
33
+ },
34
+ {
35
+ type: "bytes32",
36
+ name: "nonce",
37
+ },
38
+ {
39
+ type: "bytes",
40
+ name: "signature",
41
+ },
42
+ ];
43
+ const FN_OUTPUTS = [];
44
+ /**
45
+ * Checks if the `transferWithAuthorization` method is supported by the given contract.
46
+ * @param availableSelectors An array of 4byte function selectors of the contract. You can get this in various ways, such as using "whatsabi" or if you have the ABI of the contract available you can use it to generate the selectors.
47
+ * @returns A boolean indicating if the `transferWithAuthorization` method is supported.
48
+ * @extension ERC20
49
+ * @example
50
+ * ```ts
51
+ * import { isTransferWithAuthorizationSupported } from "thirdweb/extensions/erc20";
52
+ *
53
+ * const supported = isTransferWithAuthorizationSupported(["0x..."]);
54
+ * ```
55
+ */
56
+ function isTransferWithAuthorizationSupported(availableSelectors) {
57
+ return (0, detectExtension_js_1.detectMethod)({
58
+ availableSelectors,
59
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
60
+ });
61
+ }
62
+ /**
63
+ * Encodes the parameters for the "transferWithAuthorization" function.
64
+ * @param options - The options for the transferWithAuthorization function.
65
+ * @returns The encoded ABI parameters.
66
+ * @extension ERC20
67
+ * @example
68
+ * ```ts
69
+ * import { encodeTransferWithAuthorizationParams } from "thirdweb/extensions/erc20";
70
+ * const result = encodeTransferWithAuthorizationParams({
71
+ * from: ...,
72
+ * to: ...,
73
+ * value: ...,
74
+ * validAfter: ...,
75
+ * validBefore: ...,
76
+ * nonce: ...,
77
+ * signature: ...,
78
+ * });
79
+ * ```
80
+ */
81
+ function encodeTransferWithAuthorizationParams(options) {
82
+ return (0, encodeAbiParameters_js_1.encodeAbiParameters)(FN_INPUTS, [
83
+ options.from,
84
+ options.to,
85
+ options.value,
86
+ options.validAfter,
87
+ options.validBefore,
88
+ options.nonce,
89
+ options.signature,
90
+ ]);
91
+ }
92
+ /**
93
+ * Encodes the "transferWithAuthorization" function into a Hex string with its parameters.
94
+ * @param options - The options for the transferWithAuthorization function.
95
+ * @returns The encoded hexadecimal string.
96
+ * @extension ERC20
97
+ * @example
98
+ * ```ts
99
+ * import { encodeTransferWithAuthorization } from "thirdweb/extensions/erc20";
100
+ * const result = encodeTransferWithAuthorization({
101
+ * from: ...,
102
+ * to: ...,
103
+ * value: ...,
104
+ * validAfter: ...,
105
+ * validBefore: ...,
106
+ * nonce: ...,
107
+ * signature: ...,
108
+ * });
109
+ * ```
110
+ */
111
+ function encodeTransferWithAuthorization(options) {
112
+ // we do a "manual" concat here to avoid the overhead of the "concatHex" function
113
+ // we can do this because we know the specific formats of the values
114
+ return (exports.FN_SELECTOR +
115
+ encodeTransferWithAuthorizationParams(options).slice(2));
116
+ }
117
+ /**
118
+ * Prepares a transaction to call the "transferWithAuthorization" function on the contract.
119
+ * @param options - The options for the "transferWithAuthorization" function.
120
+ * @returns A prepared transaction object.
121
+ * @extension ERC20
122
+ * @example
123
+ * ```ts
124
+ * import { sendTransaction } from "thirdweb";
125
+ * import { transferWithAuthorization } from "thirdweb/extensions/erc20";
126
+ *
127
+ * const transaction = transferWithAuthorization({
128
+ * contract,
129
+ * from: ...,
130
+ * to: ...,
131
+ * value: ...,
132
+ * validAfter: ...,
133
+ * validBefore: ...,
134
+ * nonce: ...,
135
+ * signature: ...,
136
+ * overrides: {
137
+ * ...
138
+ * }
139
+ * });
140
+ *
141
+ * // Send the transaction
142
+ * await sendTransaction({ transaction, account });
143
+ * ```
144
+ */
145
+ function transferWithAuthorization(options) {
146
+ const asyncOptions = (0, once_js_1.once)(async () => {
147
+ return "asyncParams" in options ? await options.asyncParams() : options;
148
+ });
149
+ return (0, prepare_contract_call_js_1.prepareContractCall)({
150
+ contract: options.contract,
151
+ method: [exports.FN_SELECTOR, FN_INPUTS, FN_OUTPUTS],
152
+ params: async () => {
153
+ const resolvedOptions = await asyncOptions();
154
+ return [
155
+ resolvedOptions.from,
156
+ resolvedOptions.to,
157
+ resolvedOptions.value,
158
+ resolvedOptions.validAfter,
159
+ resolvedOptions.validBefore,
160
+ resolvedOptions.nonce,
161
+ resolvedOptions.signature,
162
+ ];
163
+ },
164
+ value: async () => (await asyncOptions()).overrides?.value,
165
+ accessList: async () => (await asyncOptions()).overrides?.accessList,
166
+ gas: async () => (await asyncOptions()).overrides?.gas,
167
+ gasPrice: async () => (await asyncOptions()).overrides?.gasPrice,
168
+ maxFeePerGas: async () => (await asyncOptions()).overrides?.maxFeePerGas,
169
+ maxPriorityFeePerGas: async () => (await asyncOptions()).overrides?.maxPriorityFeePerGas,
170
+ nonce: async () => (await asyncOptions()).overrides?.nonce,
171
+ extraGas: async () => (await asyncOptions()).overrides?.extraGas,
172
+ erc20Value: async () => (await asyncOptions()).overrides?.erc20Value,
173
+ authorizationList: async () => (await asyncOptions()).overrides?.authorizationList,
174
+ });
175
+ }
176
+ //# sourceMappingURL=transferWithAuthorization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transferWithAuthorization.js","sourceRoot":"","sources":["../../../../../../../src/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,9 @@ function toEther(wei) {
74
74
  * @utils
75
75
  */
76
76
  function toUnits(tokens, decimals) {
77
+ if (tokens.includes("e")) {
78
+ tokens = Number(tokens).toFixed(decimals);
79
+ }
77
80
  let [integerPart, fractionPart = ""] = tokens.split(".");
78
81
  const prefix = integerPart.startsWith("-") ? "-" : "";
79
82
  if (prefix) {
@@ -1 +1 @@
1
- {"version":3,"file":"units.js","sourceRoot":"","sources":["../../../src/utils/units.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"units.js","sourceRoot":"","sources":["../../../src/utils/units.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = "5.108.2-nightly-a83104efff49a2fd40ad4b87cfbcf3ff103ea7da-20250925000342";
4
+ exports.version = "5.108.3";
5
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,yEAAyE,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,SAAS,CAAC"}
@@ -1,7 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.decodePaymentRequest = decodePaymentRequest;
4
+ exports.getSupportedSignatureType = getSupportedSignatureType;
5
+ const utils_1 = require("viem/utils");
4
6
  const types_1 = require("x402/types");
7
+ const utils_js_1 = require("../chains/utils.js");
8
+ const resolve_abi_js_1 = require("../contract/actions/resolve-abi.js");
9
+ const contract_js_1 = require("../contract/contract.js");
10
+ const permit_js_1 = require("../extensions/erc20/__generated__/IERC20Permit/write/permit.js");
11
+ const transferWithAuthorization_js_1 = require("../extensions/erc20/__generated__/USDC/write/transferWithAuthorization.js");
5
12
  const address_js_1 = require("../utils/address.js");
6
13
  const encode_js_1 = require("./encode.js");
7
14
  const schemas_js_1 = require("./schemas.js");
@@ -14,58 +21,62 @@ const types_js_1 = require("./types.js");
14
21
  async function decodePaymentRequest(args) {
15
22
  const { price, network, facilitator, resourceUrl, routeConfig = {}, payTo, method, paymentData, } = args;
16
23
  const { description, mimeType, maxTimeoutSeconds, inputSchema, outputSchema, errorMessages, discoverable, } = routeConfig;
17
- const atomicAmountForAsset = await processPriceToAtomicAmount(price, network, facilitator);
18
- if ("error" in atomicAmountForAsset) {
24
+ let chainId;
25
+ try {
26
+ chainId = (0, schemas_js_1.networkToChainId)(network);
27
+ }
28
+ catch (error) {
19
29
  return {
20
30
  status: 402,
21
31
  responseHeaders: { "Content-Type": "application/json" },
22
32
  responseBody: {
23
33
  x402Version: types_js_1.x402Version,
24
- error: atomicAmountForAsset.error,
34
+ error: error instanceof Error
35
+ ? error.message
36
+ : `Invalid network: ${network}`,
25
37
  accepts: [],
26
38
  },
27
39
  };
28
40
  }
29
- const { maxAmountRequired, asset } = atomicAmountForAsset;
30
- const paymentRequirements = [];
31
- if (types_1.SupportedEVMNetworks.includes(network) ||
32
- network.startsWith("eip155:")) {
33
- paymentRequirements.push({
34
- scheme: "exact",
35
- network,
36
- maxAmountRequired,
37
- resource: resourceUrl,
38
- description: description ?? "",
39
- mimeType: mimeType ?? "application/json",
40
- payTo: (0, address_js_1.getAddress)(payTo),
41
- maxTimeoutSeconds: maxTimeoutSeconds ?? 300,
42
- asset: (0, address_js_1.getAddress)(asset.address),
43
- // TODO: Rename outputSchema to requestStructure
44
- outputSchema: {
45
- input: {
46
- type: "http",
47
- method,
48
- discoverable: discoverable ?? true,
49
- ...inputSchema,
50
- },
51
- output: outputSchema,
52
- },
53
- extra: asset.eip712,
54
- });
55
- }
56
- else {
41
+ const atomicAmountForAsset = await processPriceToAtomicAmount(price, chainId, facilitator);
42
+ if ("error" in atomicAmountForAsset) {
57
43
  return {
58
44
  status: 402,
59
- responseHeaders: {
60
- "Content-Type": "application/json",
61
- },
45
+ responseHeaders: { "Content-Type": "application/json" },
62
46
  responseBody: {
63
47
  x402Version: types_js_1.x402Version,
64
- error: `Unsupported network: ${network}`,
65
- accepts: paymentRequirements,
48
+ error: atomicAmountForAsset.error,
49
+ accepts: [],
66
50
  },
67
51
  };
68
52
  }
53
+ const { maxAmountRequired, asset } = atomicAmountForAsset;
54
+ const paymentRequirements = [];
55
+ paymentRequirements.push({
56
+ scheme: "exact",
57
+ network: `eip155:${chainId}`,
58
+ maxAmountRequired,
59
+ resource: resourceUrl,
60
+ description: description ?? "",
61
+ mimeType: mimeType ?? "application/json",
62
+ payTo: (0, address_js_1.getAddress)(payTo),
63
+ maxTimeoutSeconds: maxTimeoutSeconds ?? 300,
64
+ asset: (0, address_js_1.getAddress)(asset.address),
65
+ // TODO: Rename outputSchema to requestStructure
66
+ outputSchema: {
67
+ input: {
68
+ type: "http",
69
+ method,
70
+ discoverable: discoverable ?? true,
71
+ ...inputSchema,
72
+ },
73
+ output: outputSchema,
74
+ },
75
+ extra: {
76
+ facilitatorAddress: facilitator.address,
77
+ ...(asset.eip712 ?? {}),
78
+ },
79
+ });
69
80
  // Check for payment header
70
81
  if (!paymentData) {
71
82
  return {
@@ -130,7 +141,7 @@ async function decodePaymentRequest(args) {
130
141
  * @param network - The network to get the default asset for
131
142
  * @returns The parsed amount or an error message
132
143
  */
133
- async function processPriceToAtomicAmount(price, network, facilitator) {
144
+ async function processPriceToAtomicAmount(price, chainId, facilitator) {
134
145
  // Handle USDC amount (string) or token amount (ERC20TokenAmount)
135
146
  let maxAmountRequired;
136
147
  let asset;
@@ -143,10 +154,10 @@ async function processPriceToAtomicAmount(price, network, facilitator) {
143
154
  };
144
155
  }
145
156
  const parsedUsdAmount = parsedAmount.data;
146
- const defaultAsset = await getDefaultAsset(network, facilitator);
157
+ const defaultAsset = await getDefaultAsset(chainId, facilitator);
147
158
  if (!defaultAsset) {
148
159
  return {
149
- error: `Unable to get default asset on ${network}. Please specify an asset in the payment requirements.`,
160
+ error: `Unable to get default asset on chain ${chainId}. Please specify an asset in the payment requirements.`,
150
161
  };
151
162
  }
152
163
  asset = defaultAsset;
@@ -162,12 +173,39 @@ async function processPriceToAtomicAmount(price, network, facilitator) {
162
173
  asset,
163
174
  };
164
175
  }
165
- async function getDefaultAsset(network, facilitator) {
176
+ async function getDefaultAsset(chainId, facilitator) {
166
177
  const supportedAssets = await facilitator.supported();
167
- const chainId = (0, schemas_js_1.networkToChainId)(network);
168
178
  const matchingAsset = supportedAssets.kinds.find((supported) => supported.network === `eip155:${chainId}`);
169
179
  const assetConfig = matchingAsset?.extra
170
180
  ?.defaultAsset;
171
181
  return assetConfig;
172
182
  }
183
+ async function getSupportedSignatureType(args) {
184
+ const primaryType = args.eip712Extras?.primaryType;
185
+ if (primaryType === "Permit" || primaryType === "TransferWithAuthorization") {
186
+ return primaryType;
187
+ }
188
+ // not specified, so we need to detect it
189
+ const abi = await (0, resolve_abi_js_1.resolveContractAbi)((0, contract_js_1.getContract)({
190
+ client: args.client,
191
+ address: args.asset,
192
+ chain: (0, utils_js_1.getCachedChain)(args.chainId),
193
+ })).catch((error) => {
194
+ console.error("Error resolving contract ABI", error);
195
+ return [];
196
+ });
197
+ const selectors = abi
198
+ .filter((f) => f.type === "function")
199
+ .map((f) => (0, utils_1.toFunctionSelector)(f));
200
+ const hasPermit = (0, permit_js_1.isPermitSupported)(selectors);
201
+ const hasTransferWithAuthorization = (0, transferWithAuthorization_js_1.isTransferWithAuthorizationSupported)(selectors);
202
+ // prefer transferWithAuthorization over permit
203
+ if (hasTransferWithAuthorization) {
204
+ return "TransferWithAuthorization";
205
+ }
206
+ if (hasPermit) {
207
+ return "Permit";
208
+ }
209
+ return undefined;
210
+ }
173
211
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/x402/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/x402/common.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ const DEFAULT_BASE_URL = "https://api.thirdweb.com/v1/payments/x402";
15
15
  * ```ts
16
16
  * import { facilitator } from "thirdweb/x402";
17
17
  * import { createThirdwebClient } from "thirdweb";
18
+ * import { paymentMiddleware } from 'x402-hono'
18
19
  *
19
20
  * const client = createThirdwebClient({
20
21
  * secretKey: "your-secret-key",
@@ -53,6 +54,7 @@ function facilitator(config) {
53
54
  }
54
55
  const facilitator = {
55
56
  url: (config.baseUrl ?? DEFAULT_BASE_URL),
57
+ address: serverWalletAddress,
56
58
  createAuthHeaders: async () => {
57
59
  return {
58
60
  verify: {
@@ -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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"}
@@ -44,7 +44,7 @@ const sign_js_1 = require("./sign.js");
44
44
  *
45
45
  * @bridge x402
46
46
  */
47
- function wrapFetchWithPayment(fetch, _client, wallet, maxValue = BigInt(1 * 10 ** 6)) {
47
+ function wrapFetchWithPayment(fetch, client, wallet, maxValue = BigInt(1 * 10 ** 6)) {
48
48
  return async (input, init) => {
49
49
  const response = await fetch(input, init);
50
50
  if (response.status !== 402) {
@@ -61,7 +61,7 @@ function wrapFetchWithPayment(fetch, _client, wallet, maxValue = BigInt(1 * 10 *
61
61
  }
62
62
  const selectedPaymentRequirements = defaultPaymentRequirementsSelector(parsedPaymentRequirements, chain.id, "exact");
63
63
  if (BigInt(selectedPaymentRequirements.maxAmountRequired) > maxValue) {
64
- throw new Error("Payment amount exceeds maximum allowed");
64
+ throw new Error(`Payment amount exceeds maximum allowed (currently set to ${maxValue} in base units)`);
65
65
  }
66
66
  const paymentChainId = (0, schemas_js_1.networkToChainId)(selectedPaymentRequirements.network);
67
67
  // switch to the payment chain if it's not the current chain
@@ -72,7 +72,7 @@ function wrapFetchWithPayment(fetch, _client, wallet, maxValue = BigInt(1 * 10 *
72
72
  throw new Error(`Failed to switch chain (${paymentChainId})`);
73
73
  }
74
74
  }
75
- const paymentHeader = await (0, sign_js_1.createPaymentHeader)(account, x402Version, selectedPaymentRequirements);
75
+ const paymentHeader = await (0, sign_js_1.createPaymentHeader)(client, account, selectedPaymentRequirements, x402Version);
76
76
  const initParams = init || {};
77
77
  if (initParams.__is402Retry) {
78
78
  throw new Error("Payment already attempted");
@@ -1 +1 @@
1
- {"version":3,"file":"fetchWithPayment.js","sourceRoot":"","sources":["../../../src/x402/fetchWithPayment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetchWithPayment.js","sourceRoot":"","sources":["../../../src/x402/fetchWithPayment.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,9 @@ const FacilitatorSettleResponseSchema = types_1.SettleResponseSchema.extend({
28
28
  network: FacilitatorNetworkSchema,
29
29
  });
30
30
  function networkToChainId(network) {
31
+ if (typeof network === "object") {
32
+ return network.id;
33
+ }
31
34
  if (network.startsWith("eip155:")) {
32
35
  const chainId = parseInt(network.split(":")[1] ?? "0");
33
36
  if (!Number.isNaN(chainId) && chainId > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/x402/schemas.ts"],"names":[],"mappings":";;;AAyDA,4CAkBC;AA3ED,sCAOoB;AACpB,6BAAwB;AAExB,MAAM,wBAAwB,GAAG,OAAC,CAAC,KAAK,CAAC;IACvC,OAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IACzB,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACjB,OAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC3B,OAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACtB,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,OAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAC1B,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChB,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACxB,OAAC,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;AAIU,QAAA,6BAA6B,GAAG,4BAAoB,CAAC,MAAM,CAAC;IACvE,OAAO,EAAE,wBAAwB;CAClC,CAAC,CAAC;AAYU,QAAA,kCAAkC,GAC7C,iCAAyB,CAAC,MAAM,CAAC;IAC/B,OAAO,EAAE,wBAAwB;CAClC,CAAC,CAAC;AAML,MAAM,+BAA+B,GAAG,4BAAoB,CAAC,MAAM,CAAC;IAClE,OAAO,EAAE,wBAAwB;CAClC,CAAC,CAAC;AAKH,SAAgB,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,2BAAmB,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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/x402/schemas.ts"],"names":[],"mappings":";;;AA0DA,4CAqBC;AA/ED,sCAOoB;AACpB,6BAAwB;AAGxB,MAAM,wBAAwB,GAAG,OAAC,CAAC,KAAK,CAAC;IACvC,OAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IACzB,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACjB,OAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC3B,OAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACtB,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,OAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAC1B,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChB,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACxB,OAAC,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;AAIU,QAAA,6BAA6B,GAAG,4BAAoB,CAAC,MAAM,CAAC;IACvE,OAAO,EAAE,wBAAwB;CAClC,CAAC,CAAC;AAYU,QAAA,kCAAkC,GAC7C,iCAAyB,CAAC,MAAM,CAAC;IAC/B,OAAO,EAAE,wBAAwB;CAClC,CAAC,CAAC;AAML,MAAM,+BAA+B,GAAG,4BAAoB,CAAC,MAAM,CAAC;IAClE,OAAO,EAAE,wBAAwB;CAClC,CAAC,CAAC;AAKH,SAAgB,gBAAgB,CAAC,OAAuB;IACtD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,EAAE,CAAC;IACpB,CAAC;IACD,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,2BAAmB,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"}
@@ -23,6 +23,7 @@ const types_js_1 = require("./types.js");
23
23
  * // Usage in a Next.js API route
24
24
  * import { settlePayment, facilitator } from "thirdweb/x402";
25
25
  * import { createThirdwebClient } from "thirdweb";
26
+ * import { arbitrumSepolia } from "thirdweb/chains";
26
27
  *
27
28
  * const client = createThirdwebClient({
28
29
  * secretKey: process.env.THIRDWEB_SECRET_KEY,
@@ -42,7 +43,7 @@ const types_js_1 = require("./types.js");
42
43
  * method: "GET",
43
44
  * paymentData,
44
45
  * payTo: "0x1234567890123456789012345678901234567890",
45
- * network: "eip155:84532", // CAIP2 format: "eip155:<chain_id>"
46
+ * network: arbitrumSepolia, // or any other chain
46
47
  * price: "$0.10", // or { amount: "100000", asset: { address: "0x...", decimals: 6 } }
47
48
  * facilitator: thirdwebFacilitator,
48
49
  * routeConfig: {
@@ -72,6 +73,7 @@ const types_js_1 = require("./types.js");
72
73
  * import express from "express";
73
74
  * import { settlePayment, facilitator } from "thirdweb/x402";
74
75
  * import { createThirdwebClient } from "thirdweb";
76
+ * import { arbitrumSepolia } from "thirdweb/chains";
75
77
  *
76
78
  * const client = createThirdwebClient({
77
79
  * secretKey: process.env.THIRDWEB_SECRET_KEY,
@@ -91,7 +93,7 @@ const types_js_1 = require("./types.js");
91
93
  * method: req.method,
92
94
  * paymentData: req.headers["x-payment"],
93
95
  * payTo: "0x1234567890123456789012345678901234567890",
94
- * network: "eip155:8453", // CAIP2 format: "eip155:<chain_id>"
96
+ * network: arbitrumSepolia, // or any other chain
95
97
  * price: "$0.05",
96
98
  * facilitator: thirdwebFacilitator,
97
99
  * });
@@ -127,7 +129,6 @@ async function settlePayment(args) {
127
129
  return decodePaymentResult;
128
130
  }
129
131
  const { selectedPaymentRequirements, decodedPayment, paymentRequirements } = decodePaymentResult;
130
- // Settle payment
131
132
  try {
132
133
  const settlement = await facilitator.settle(decodedPayment, selectedPaymentRequirements);
133
134
  if (settlement.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"settle-payment.js","sourceRoot":"","sources":["../../../src/x402/settle-payment.ts"],"names":[],"mappings":";;AA2HA,sCA8DC;AAzLD,8CAA6C;AAC7C,2CAAmD;AACnD,2CAA+C;AAC/C,yCAIoB;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiHG;AACI,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,IAAA,gCAAoB,EAAC,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,UAAU,GAAG,MAAM,WAAW,CAAC,MAAM,CACzC,cAAc,EACd,2BAA2B,CAC5B,CAAC;QAEF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,cAAc,EAAE,UAAU;gBAC1B,eAAe,EAAE;oBACf,+BAA+B,EAAE,oBAAoB;oBACrD,oBAAoB,EAAE,IAAA,4BAAgB,EAAC,IAAA,mBAAS,EAAC,UAAU,CAAC,CAAC;iBAC9D;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,eAAe,EAAE;oBACf,cAAc,EAAE,kBAAkB;iBACnC;gBACD,YAAY,EAAE;oBACZ,WAAW,EAAX,sBAAW;oBACX,KAAK,EACH,aAAa,EAAE,gBAAgB;wBAC/B,UAAU,CAAC,WAAW;wBACtB,mBAAmB;oBACrB,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,EAAX,sBAAW;gBACX,KAAK,EACH,aAAa,EAAE,gBAAgB;oBAC/B,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBAC/D,OAAO,EAAE,mBAAmB;aAC7B;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"settle-payment.js","sourceRoot":"","sources":["../../../src/x402/settle-payment.ts"],"names":[],"mappings":";;AA6HA,sCA6DC;AA1LD,8CAA6C;AAC7C,2CAAmD;AACnD,2CAA+C;AAC/C,yCAIoB;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmHG;AACI,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,IAAA,gCAAoB,EAAC,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,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,MAAM,CACzC,cAAc,EACd,2BAA2B,CAC5B,CAAC;QAEF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,cAAc,EAAE,UAAU;gBAC1B,eAAe,EAAE;oBACf,+BAA+B,EAAE,oBAAoB;oBACrD,oBAAoB,EAAE,IAAA,4BAAgB,EAAC,IAAA,mBAAS,EAAC,UAAU,CAAC,CAAC;iBAC9D;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,eAAe,EAAE;oBACf,cAAc,EAAE,kBAAkB;iBACnC;gBACD,YAAY,EAAE;oBACZ,WAAW,EAAX,sBAAW;oBACX,KAAK,EACH,aAAa,EAAE,gBAAgB;wBAC/B,UAAU,CAAC,WAAW;wBACtB,mBAAmB;oBACrB,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,EAAX,sBAAW;gBACX,KAAK,EACH,aAAa,EAAE,gBAAgB;oBAC/B,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBAC/D,OAAO,EAAE,mBAAmB;aAC7B;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}