thirdweb 5.108.2 → 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.
- package/dist/cjs/exports/x402.js.map +1 -1
- package/dist/cjs/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.js +176 -0
- package/dist/cjs/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.js.map +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/x402/common.js +39 -1
- package/dist/cjs/x402/common.js.map +1 -1
- package/dist/cjs/x402/facilitator.js +1 -0
- package/dist/cjs/x402/facilitator.js.map +1 -1
- package/dist/cjs/x402/fetchWithPayment.js +2 -2
- package/dist/cjs/x402/fetchWithPayment.js.map +1 -1
- package/dist/cjs/x402/sign.js +100 -34
- package/dist/cjs/x402/sign.js.map +1 -1
- package/dist/cjs/x402/types.js.map +1 -1
- package/dist/esm/exports/x402.js.map +1 -1
- package/dist/esm/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.js +169 -0
- package/dist/esm/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/esm/x402/common.js +38 -1
- package/dist/esm/x402/common.js.map +1 -1
- package/dist/esm/x402/facilitator.js +1 -0
- package/dist/esm/x402/facilitator.js.map +1 -1
- package/dist/esm/x402/fetchWithPayment.js +2 -2
- package/dist/esm/x402/fetchWithPayment.js.map +1 -1
- package/dist/esm/x402/sign.js +100 -34
- package/dist/esm/x402/sign.js.map +1 -1
- package/dist/esm/x402/types.js.map +1 -1
- package/dist/scripts/bridge-widget.js +2 -2
- package/dist/types/exports/x402.d.ts +1 -1
- package/dist/types/exports/x402.d.ts.map +1 -1
- package/dist/types/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.d.ts +121 -0
- package/dist/types/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.d.ts.map +1 -0
- package/dist/types/react/web/ui/Bridge/swap-widget/SwapWidget.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/x402/common.d.ts +8 -1
- package/dist/types/x402/common.d.ts.map +1 -1
- package/dist/types/x402/facilitator.d.ts +18 -41
- package/dist/types/x402/facilitator.d.ts.map +1 -1
- package/dist/types/x402/fetchWithPayment.d.ts +1 -1
- package/dist/types/x402/fetchWithPayment.d.ts.map +1 -1
- package/dist/types/x402/sign.d.ts +2 -1
- package/dist/types/x402/sign.d.ts.map +1 -1
- package/dist/types/x402/types.d.ts +16 -3
- package/dist/types/x402/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/exports/x402.ts +1 -0
- package/src/extensions/erc20/__generated__/USDC/write/transferWithAuthorization.ts +215 -0
- package/src/react/web/ui/Bridge/swap-widget/SwapWidget.tsx +1 -1
- package/src/version.ts +1 -1
- package/src/x402/common.ts +58 -5
- package/src/x402/facilitator.ts +28 -1
- package/src/x402/fetchWithPayment.ts +3 -2
- package/src/x402/sign.ts +140 -49
- package/src/x402/types.ts +18 -7
|
@@ -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,
|
|
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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"}
|
package/dist/cjs/version.js
CHANGED
package/dist/cjs/x402/common.js
CHANGED
|
@@ -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");
|
|
@@ -65,7 +72,10 @@ async function decodePaymentRequest(args) {
|
|
|
65
72
|
},
|
|
66
73
|
output: outputSchema,
|
|
67
74
|
},
|
|
68
|
-
extra:
|
|
75
|
+
extra: {
|
|
76
|
+
facilitatorAddress: facilitator.address,
|
|
77
|
+
...(asset.eip712 ?? {}),
|
|
78
|
+
},
|
|
69
79
|
});
|
|
70
80
|
// Check for payment header
|
|
71
81
|
if (!paymentData) {
|
|
@@ -170,4 +180,32 @@ async function getDefaultAsset(chainId, facilitator) {
|
|
|
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":";;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/x402/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facilitator.js","sourceRoot":"","sources":["../../../src/x402/facilitator.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"facilitator.js","sourceRoot":"","sources":["../../../src/x402/facilitator.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,7 +44,7 @@ const sign_js_1 = require("./sign.js");
|
|
|
44
44
|
*
|
|
45
45
|
* @bridge x402
|
|
46
46
|
*/
|
|
47
|
-
function wrapFetchWithPayment(fetch,
|
|
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) {
|
|
@@ -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,
|
|
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":";;AAkDA,
|
|
1
|
+
{"version":3,"file":"fetchWithPayment.js","sourceRoot":"","sources":["../../../src/x402/fetchWithPayment.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/x402/sign.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createPaymentHeader = createPaymentHeader;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const utils_js_1 = require("../chains/utils.js");
|
|
6
|
+
const contract_js_1 = require("../contract/contract.js");
|
|
7
|
+
const nonces_js_1 = require("../extensions/erc20/__generated__/IERC20Permit/read/nonces.js");
|
|
4
8
|
const address_js_1 = require("../utils/address.js");
|
|
5
9
|
const hex_js_1 = require("../utils/encoding/hex.js");
|
|
10
|
+
const common_js_1 = require("./common.js");
|
|
6
11
|
const encode_js_1 = require("./encode.js");
|
|
7
12
|
const schemas_js_1 = require("./schemas.js");
|
|
8
13
|
/**
|
|
@@ -13,8 +18,7 @@ const schemas_js_1 = require("./schemas.js");
|
|
|
13
18
|
* @param paymentRequirements - The payment requirements containing scheme and network information
|
|
14
19
|
* @returns An unsigned payment payload containing authorization details
|
|
15
20
|
*/
|
|
16
|
-
function preparePaymentHeader(from, x402Version, paymentRequirements) {
|
|
17
|
-
const nonce = createNonce();
|
|
21
|
+
function preparePaymentHeader(from, x402Version, paymentRequirements, nonce) {
|
|
18
22
|
const validAfter = BigInt(Math.floor(Date.now() / 1000) - 600).toString();
|
|
19
23
|
const validBefore = BigInt(Math.floor(Date.now() / 1000 + paymentRequirements.maxTimeoutSeconds)).toString();
|
|
20
24
|
return {
|
|
@@ -29,7 +33,7 @@ function preparePaymentHeader(from, x402Version, paymentRequirements) {
|
|
|
29
33
|
value: paymentRequirements.maxAmountRequired,
|
|
30
34
|
validAfter: validAfter.toString(),
|
|
31
35
|
validBefore: validBefore.toString(),
|
|
32
|
-
nonce,
|
|
36
|
+
nonce: nonce,
|
|
33
37
|
},
|
|
34
38
|
},
|
|
35
39
|
};
|
|
@@ -42,28 +46,51 @@ function preparePaymentHeader(from, x402Version, paymentRequirements) {
|
|
|
42
46
|
* @param unsignedPaymentHeader - The unsigned payment payload to be signed
|
|
43
47
|
* @returns A promise that resolves to the signed payment payload
|
|
44
48
|
*/
|
|
45
|
-
async function signPaymentHeader(account, paymentRequirements,
|
|
46
|
-
const { signature } = await signAuthorization(account, unsignedPaymentHeader.payload.authorization, paymentRequirements);
|
|
47
|
-
return {
|
|
48
|
-
...unsignedPaymentHeader,
|
|
49
|
-
payload: {
|
|
50
|
-
...unsignedPaymentHeader.payload,
|
|
51
|
-
signature,
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Creates a complete payment payload by preparing and signing a payment header.
|
|
57
|
-
*
|
|
58
|
-
* @param client - The signer wallet instance used to create and sign the payment
|
|
59
|
-
* @param x402Version - The version of the X402 protocol to use
|
|
60
|
-
* @param paymentRequirements - The payment requirements containing scheme and network information
|
|
61
|
-
* @returns A promise that resolves to the complete signed payment payload
|
|
62
|
-
*/
|
|
63
|
-
async function createPayment(account, x402Version, paymentRequirements) {
|
|
49
|
+
async function signPaymentHeader(client, account, paymentRequirements, x402Version) {
|
|
64
50
|
const from = (0, address_js_1.getAddress)(account.address);
|
|
65
|
-
const
|
|
66
|
-
|
|
51
|
+
const chainId = (0, schemas_js_1.networkToChainId)(paymentRequirements.network);
|
|
52
|
+
const supportedSignatureType = await (0, common_js_1.getSupportedSignatureType)({
|
|
53
|
+
client,
|
|
54
|
+
asset: paymentRequirements.asset,
|
|
55
|
+
chainId: chainId,
|
|
56
|
+
eip712Extras: paymentRequirements.extra,
|
|
57
|
+
});
|
|
58
|
+
switch (supportedSignatureType) {
|
|
59
|
+
case "Permit": {
|
|
60
|
+
const nonce = await (0, nonces_js_1.nonces)({
|
|
61
|
+
contract: (0, contract_js_1.getContract)({
|
|
62
|
+
address: paymentRequirements.asset,
|
|
63
|
+
chain: (0, utils_js_1.getCachedChain)(chainId),
|
|
64
|
+
client: client,
|
|
65
|
+
}),
|
|
66
|
+
owner: from,
|
|
67
|
+
});
|
|
68
|
+
const unsignedPaymentHeader = preparePaymentHeader(from, x402Version, paymentRequirements, (0, hex_js_1.toHex)(nonce, { size: 32 }));
|
|
69
|
+
const { signature } = await signERC2612Permit(account, unsignedPaymentHeader.payload.authorization, paymentRequirements);
|
|
70
|
+
return {
|
|
71
|
+
...unsignedPaymentHeader,
|
|
72
|
+
payload: {
|
|
73
|
+
...unsignedPaymentHeader.payload,
|
|
74
|
+
signature,
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
case "TransferWithAuthorization": {
|
|
79
|
+
// default to transfer with authorization
|
|
80
|
+
const nonce = await createNonce();
|
|
81
|
+
const unsignedPaymentHeader = preparePaymentHeader(from, x402Version, paymentRequirements, nonce);
|
|
82
|
+
const { signature } = await signERC3009Authorization(account, unsignedPaymentHeader.payload.authorization, paymentRequirements);
|
|
83
|
+
return {
|
|
84
|
+
...unsignedPaymentHeader,
|
|
85
|
+
payload: {
|
|
86
|
+
...unsignedPaymentHeader.payload,
|
|
87
|
+
signature,
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
default:
|
|
92
|
+
throw new Error(`No supported payment authorization methods found on ${paymentRequirements.asset} on chain ${paymentRequirements.network}`);
|
|
93
|
+
}
|
|
67
94
|
}
|
|
68
95
|
/**
|
|
69
96
|
* Creates and encodes a payment header for the given client and payment requirements.
|
|
@@ -73,8 +100,8 @@ async function createPayment(account, x402Version, paymentRequirements) {
|
|
|
73
100
|
* @param paymentRequirements - The payment requirements containing scheme and network information
|
|
74
101
|
* @returns A promise that resolves to the encoded payment header string
|
|
75
102
|
*/
|
|
76
|
-
async function createPaymentHeader(account,
|
|
77
|
-
const payment = await
|
|
103
|
+
async function createPaymentHeader(client, account, paymentRequirements, x402Version) {
|
|
104
|
+
const payment = await signPaymentHeader(client, account, paymentRequirements, x402Version);
|
|
78
105
|
return (0, encode_js_1.encodePayment)(payment);
|
|
79
106
|
}
|
|
80
107
|
/**
|
|
@@ -94,12 +121,11 @@ async function createPaymentHeader(account, x402Version, paymentRequirements) {
|
|
|
94
121
|
* @param paymentRequirements.extra - The extra information containing the name and version of the ERC20 contract
|
|
95
122
|
* @returns The signature for the authorization
|
|
96
123
|
*/
|
|
97
|
-
async function
|
|
124
|
+
async function signERC3009Authorization(account, { from, to, value, validAfter, validBefore, nonce, }, { asset, network, extra }) {
|
|
98
125
|
const chainId = (0, schemas_js_1.networkToChainId)(network);
|
|
99
126
|
const name = extra?.name;
|
|
100
127
|
const version = extra?.version;
|
|
101
|
-
|
|
102
|
-
const data = {
|
|
128
|
+
const signature = await account.signTypedData({
|
|
103
129
|
types: {
|
|
104
130
|
TransferWithAuthorization: [
|
|
105
131
|
{ name: "from", type: "address" },
|
|
@@ -120,13 +146,53 @@ async function signAuthorization(account, { from, to, value, validAfter, validBe
|
|
|
120
146
|
message: {
|
|
121
147
|
from: (0, address_js_1.getAddress)(from),
|
|
122
148
|
to: (0, address_js_1.getAddress)(to),
|
|
123
|
-
value,
|
|
124
|
-
validAfter,
|
|
125
|
-
validBefore,
|
|
149
|
+
value: BigInt(value),
|
|
150
|
+
validAfter: BigInt(validAfter),
|
|
151
|
+
validBefore: BigInt(validBefore),
|
|
126
152
|
nonce: nonce,
|
|
127
153
|
},
|
|
154
|
+
});
|
|
155
|
+
return {
|
|
156
|
+
signature,
|
|
128
157
|
};
|
|
129
|
-
|
|
158
|
+
}
|
|
159
|
+
async function signERC2612Permit(account, { from, value, validBefore, nonce }, { asset, network, extra }) {
|
|
160
|
+
const chainId = (0, schemas_js_1.networkToChainId)(network);
|
|
161
|
+
const name = extra?.name;
|
|
162
|
+
const version = extra?.version;
|
|
163
|
+
const facilitatorAddress = extra?.facilitatorAddress;
|
|
164
|
+
if (!facilitatorAddress) {
|
|
165
|
+
throw new Error("facilitatorAddress is required in PaymentRequirements extra to pay with permit-based assets");
|
|
166
|
+
}
|
|
167
|
+
if (!name || !version) {
|
|
168
|
+
throw new Error("name and version are required in PaymentRequirements extra to pay with permit-based assets");
|
|
169
|
+
}
|
|
170
|
+
//Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline
|
|
171
|
+
const signature = await account.signTypedData({
|
|
172
|
+
types: {
|
|
173
|
+
Permit: [
|
|
174
|
+
{ name: "owner", type: "address" },
|
|
175
|
+
{ name: "spender", type: "address" },
|
|
176
|
+
{ name: "value", type: "uint256" },
|
|
177
|
+
{ name: "nonce", type: "uint256" },
|
|
178
|
+
{ name: "deadline", type: "uint256" },
|
|
179
|
+
],
|
|
180
|
+
},
|
|
181
|
+
domain: {
|
|
182
|
+
name,
|
|
183
|
+
version,
|
|
184
|
+
chainId,
|
|
185
|
+
verifyingContract: (0, address_js_1.getAddress)(asset),
|
|
186
|
+
},
|
|
187
|
+
primaryType: "Permit",
|
|
188
|
+
message: {
|
|
189
|
+
owner: (0, address_js_1.getAddress)(from),
|
|
190
|
+
spender: (0, address_js_1.getAddress)(facilitatorAddress), // approve the facilitator
|
|
191
|
+
value: BigInt(value),
|
|
192
|
+
nonce: (0, viem_1.hexToBigInt)(nonce),
|
|
193
|
+
deadline: BigInt(validBefore),
|
|
194
|
+
},
|
|
195
|
+
});
|
|
130
196
|
return {
|
|
131
197
|
signature,
|
|
132
198
|
};
|
|
@@ -136,7 +202,7 @@ async function signAuthorization(account, { from, to, value, validAfter, validBe
|
|
|
136
202
|
*
|
|
137
203
|
* @returns A random 32-byte nonce as a hex string
|
|
138
204
|
*/
|
|
139
|
-
function createNonce() {
|
|
205
|
+
async function createNonce() {
|
|
140
206
|
const cryptoObj = typeof globalThis.crypto !== "undefined" &&
|
|
141
207
|
typeof globalThis.crypto.getRandomValues === "function"
|
|
142
208
|
? globalThis.crypto
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../src/x402/sign.ts"],"names":[],"mappings":";;
|
|
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":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/x402/types.ts"],"names":[],"mappings":";;;AAYa,QAAA,WAAW,GAAG,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x402.js","sourceRoot":"","sources":["../../../src/exports/x402.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"x402.js","sourceRoot":"","sources":["../../../src/exports/x402.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,WAAW,GAGZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAM1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC"}
|