@x402api/agent-wallet-core 0.1.0 → 0.2.2

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.
@@ -1,14 +1,12 @@
1
1
  import { resolve } from "node:path";
2
- import { Wallet, } from "ethers";
3
- import { TronWeb } from "tronweb";
2
+ import { Wallet } from "ethers";
4
3
  import nacl from "tweetnacl";
5
4
  import { jsonRpc, readWalletBalance, SOLANA_MAINNET_GENESIS_HASH, validateRpcUrl, } from "../balances.js";
6
5
  import { AgentWalletError } from "../errors.js";
7
- import { BASE_MAINNET_NETWORK, BASE_USDC_BUYER_FUNDED_PROFILE, BASE_USDC_MAINNET_CONTRACT, buildBaseUsdcAuthorization, buildBaseUsdcEip1559TransactionRequest, encodeBaseUsdcTransferWithAuthorization, verifyBuyerSignedBaseUsdcTransaction, } from "../protocol/base.js";
6
+ import { BASE_MAINNET_NETWORK, BASE_USDC_SPONSORED_PROFILE, BASE_USDC_MAINNET_CONTRACT, buildBaseUsdcAuthorization, encodeBaseUsdcTransferWithAuthorization, } from "../protocol/base.js";
8
7
  import { verifyExternalRecipientDeclaration } from "../protocol/external-recipient.js";
9
- import { createPaymentPayload, encodePaymentSignature, } from "../protocol/http.js";
10
- import { createSolanaPayment, SOLANA_MAINNET_NETWORK, SOLANA_USDT_BUYER_FUNDED_PROFILE, SOLANA_USDT_MAINNET_MINT, } from "../protocol/solana.js";
11
- import { createTronUsdtPayment, TRON_MAINNET_CHAIN_ID, TRON_USDT_MAINNET_CONTRACT, TronWebTransactionBuilder, } from "../protocol/tron.js";
8
+ import { createPaymentPayload, encodePaymentSignature, GAS_SPONSORSHIP_EXTENSION, } from "../protocol/http.js";
9
+ import { createSponsoredSolanaPayment, SOLANA_MAINNET_NETWORK, SOLANA_SPONSORED_PROFILE, SOLANA_USDC_MAINNET_MINT, SOLANA_USDT_MAINNET_MINT, } from "../protocol/solana.js";
12
10
  import { unlockWallet } from "../storage/keystore.js";
13
11
  import { AttemptStore } from "./attempt-store.js";
14
12
  import { createBuyerPaymentIdentifier, loadRequestEnvelope, requirementDigest, } from "./contracts.js";
@@ -16,7 +14,10 @@ function payloadProfile(requirement) {
16
14
  const value = requirement.extra.payloadProfile;
17
15
  return typeof value === "string" ? value : null;
18
16
  }
19
- function selectRequirement(paymentRequired, wallet) {
17
+ function sponsored(requirement) {
18
+ return [BASE_USDC_SPONSORED_PROFILE, SOLANA_SPONSORED_PROFILE].includes(String(payloadProfile(requirement)));
19
+ }
20
+ function selectRequirement(paymentRequired, wallet, now) {
20
21
  const networkMatches = paymentRequired.accepts.filter((requirement) => requirement.network === wallet.network);
21
22
  if (networkMatches.length === 0) {
22
23
  throw new AgentWalletError("unsupported_network", "challenge does not advertise the wallet network");
@@ -24,28 +25,48 @@ function selectRequirement(paymentRequired, wallet) {
24
25
  const expected = wallet.network === BASE_MAINNET_NETWORK
25
26
  ? {
26
27
  asset: BASE_USDC_MAINNET_CONTRACT.toLowerCase(),
27
- profile: BASE_USDC_BUYER_FUNDED_PROFILE,
28
+ profiles: [BASE_USDC_SPONSORED_PROFILE],
28
29
  }
29
30
  : wallet.network === SOLANA_MAINNET_NETWORK
30
31
  ? {
31
- asset: SOLANA_USDT_MAINNET_MINT,
32
- profile: SOLANA_USDT_BUYER_FUNDED_PROFILE,
32
+ assets: [SOLANA_USDC_MAINNET_MINT, SOLANA_USDT_MAINNET_MINT],
33
+ profiles: [SOLANA_SPONSORED_PROFILE],
33
34
  }
34
- : {
35
- asset: TRON_USDT_MAINNET_CONTRACT,
36
- profile: "com.k1hub.x402.tron-exact.v1",
37
- };
35
+ : null;
36
+ if (expected === null) {
37
+ throw new AgentWalletError("unsupported_profile", "TRON payments are coming soon and are not enabled in the launch payer");
38
+ }
38
39
  const assetMatches = networkMatches.filter((requirement) => wallet.network === BASE_MAINNET_NETWORK
39
40
  ? requirement.asset.toLowerCase() === expected.asset
40
- : requirement.asset === expected.asset);
41
+ : "assets" in expected
42
+ ? expected.assets.includes(requirement.asset)
43
+ : requirement.asset === expected.asset);
41
44
  if (assetMatches.length === 0) {
42
45
  throw new AgentWalletError("unsupported_asset", "challenge does not advertise the exact supported asset");
43
46
  }
44
- const profileMatches = assetMatches.filter((requirement) => payloadProfile(requirement) === expected.profile);
45
- if (profileMatches.length !== 1) {
46
- throw new AgentWalletError("unsupported_profile", "challenge must advertise exactly one supported payload profile");
47
+ const profileMatches = assetMatches.filter((requirement) => expected.profiles.includes(String(payloadProfile(requirement))));
48
+ const selected = profileMatches.find((requirement) => sponsored(requirement));
49
+ if (!selected) {
50
+ throw new AgentWalletError("unsupported_profile", "challenge must advertise a sponsored launch payload profile");
51
+ }
52
+ const declaration = paymentRequired.extensions?.[GAS_SPONSORSHIP_EXTENSION];
53
+ const requirements = declaration?.info.requirements;
54
+ const bound = Array.isArray(requirements) &&
55
+ requirements.some((item) => typeof item === "object" &&
56
+ item !== null &&
57
+ !Array.isArray(item) &&
58
+ item.network === selected.network &&
59
+ item.asset === selected.asset &&
60
+ item.payloadProfile === payloadProfile(selected));
61
+ if (!bound) {
62
+ throw new AgentWalletError("sponsored_payload_invalid", "sponsored requirement is not bound by the gas-sponsorship extension");
47
63
  }
48
- return profileMatches[0];
64
+ const sponsorshipExpiresAt = declaration?.info.expiresAt;
65
+ if (typeof sponsorshipExpiresAt !== "string" ||
66
+ Date.parse(sponsorshipExpiresAt) <= now.getTime()) {
67
+ throw new AgentWalletError("sponsorship_reservation_expired", "the sponsored gas reservation has expired");
68
+ }
69
+ return selected;
49
70
  }
50
71
  function enforceLocalPolicy(wallet, amount) {
51
72
  if (wallet.maximumPaymentAtomic !== undefined &&
@@ -63,6 +84,7 @@ async function enforceBalances(options) {
63
84
  network: options.wallet.network,
64
85
  address: options.wallet.address,
65
86
  rpc: options.rpc,
87
+ asset: options.asset,
66
88
  });
67
89
  if (BigInt(balance.assetAtomic) < BigInt(options.amount)) {
68
90
  throw new AgentWalletError("insufficient_asset_balance", `${balance.assetSymbol} balance is below the exact payment amount`, {
@@ -72,7 +94,8 @@ async function enforceBalances(options) {
72
94
  },
73
95
  });
74
96
  }
75
- if (BigInt(balance.nativeAtomic) === 0n &&
97
+ if (!options.sponsored &&
98
+ BigInt(balance.nativeAtomic) === 0n &&
76
99
  (balance.network !== "tron:mainnet" ||
77
100
  BigInt(balance.feeResources?.energyAvailable ?? "0") === 0n)) {
78
101
  throw new AgentWalletError("insufficient_network_fee_resources", `${balance.nativeSymbol} or network fee resources are required`);
@@ -105,33 +128,6 @@ function typedDataParts(value) {
105
128
  message: message,
106
129
  };
107
130
  }
108
- function requestFromJson(value) {
109
- const required = [
110
- "chainId",
111
- "nonce",
112
- "gas",
113
- "maxFeePerGas",
114
- "maxPriorityFeePerGas",
115
- "to",
116
- "value",
117
- "data",
118
- ];
119
- if (required.some((key) => typeof value[key] !== "string")) {
120
- throw new AgentWalletError("request_binding_mismatch", "Base transaction request is malformed");
121
- }
122
- return {
123
- type: 2,
124
- chainId: BigInt(value.chainId),
125
- nonce: Number(BigInt(value.nonce)),
126
- gasLimit: BigInt(value.gas),
127
- maxFeePerGas: BigInt(value.maxFeePerGas),
128
- maxPriorityFeePerGas: BigInt(value.maxPriorityFeePerGas),
129
- to: value.to,
130
- value: BigInt(value.value),
131
- data: value.data,
132
- accessList: [],
133
- };
134
- }
135
131
  async function basePayment(options) {
136
132
  if (!options.wallet.secret.privateKeyHex) {
137
133
  throw new AgentWalletError("wallet_locked", "Base private key is unavailable");
@@ -149,65 +145,23 @@ async function basePayment(options) {
149
145
  const material = buildBaseUsdcAuthorization({
150
146
  accepted: options.accepted,
151
147
  payer: signer.address,
152
- nowSeconds: Math.floor(Date.now() / 1000),
148
+ nowSeconds: Math.floor(options.now.getTime() / 1000),
153
149
  challengeDigest: options.challengeDigest,
154
150
  });
155
151
  const typed = typedDataParts(material.typedData);
156
152
  const authorizationSignature = await signer.signTypedData(typed.domain, typed.types, typed.message);
157
- const data = encodeBaseUsdcTransferWithAuthorization({
153
+ encodeBaseUsdcTransferWithAuthorization({
158
154
  authorization: material.authorization,
159
155
  signature: authorizationSignature,
160
156
  });
161
- const [nonceRaw, blockRaw, priorityRaw] = await Promise.all([
162
- jsonRpc(endpoint, "eth_getTransactionCount", [signer.address, "pending"]),
163
- jsonRpc(endpoint, "eth_getBlockByNumber", ["latest", false]),
164
- jsonRpc(endpoint, "eth_maxPriorityFeePerGas", []),
165
- ]);
166
- if (typeof nonceRaw !== "string" ||
167
- typeof priorityRaw !== "string" ||
168
- typeof blockRaw !== "object" ||
169
- blockRaw === null ||
170
- !("baseFeePerGas" in blockRaw) ||
171
- typeof blockRaw.baseFeePerGas !== "string") {
172
- throw new AgentWalletError("rpc_unavailable", "Base fee policy is unavailable");
173
- }
174
- const priority = BigInt(priorityRaw);
175
- const maxFee = BigInt(blockRaw.baseFeePerGas) * 2n + priority;
176
- const provisional = buildBaseUsdcEip1559TransactionRequest({
177
- accepted: options.accepted,
178
- payer: signer.address,
179
- data,
180
- policy: {
181
- nonce: BigInt(nonceRaw),
182
- gasLimit: 150000n,
183
- maxFeePerGas: maxFee,
184
- maxPriorityFeePerGas: priority,
185
- },
186
- });
187
- const estimatedRaw = await jsonRpc(endpoint, "eth_estimateGas", [provisional]);
188
- if (typeof estimatedRaw !== "string") {
189
- throw new AgentWalletError("rpc_unavailable", "Base gas estimate is unavailable");
190
- }
191
- const estimated = BigInt(estimatedRaw);
192
- const gasLimit = (estimated * 120n + 99n) / 100n;
193
- const request = buildBaseUsdcEip1559TransactionRequest({
194
- accepted: options.accepted,
195
- payer: signer.address,
196
- data,
197
- policy: {
198
- nonce: BigInt(nonceRaw),
199
- gasLimit,
200
- maxFeePerGas: maxFee,
201
- maxPriorityFeePerGas: priority,
202
- },
203
- });
204
- const signedTransaction = await signer.signTransaction(requestFromJson(request));
205
- verifyBuyerSignedBaseUsdcTransaction({ signedTransaction, request });
206
157
  return encodePaymentSignature(createPaymentPayload({
207
158
  paymentRequired: options.paymentRequired,
208
159
  accepted: options.accepted,
209
160
  paymentIdentifier: options.buyerPaymentIdentifier,
210
- schemePayload: { transaction: signedTransaction },
161
+ schemePayload: {
162
+ authorization: material.authorization,
163
+ signature: authorizationSignature,
164
+ },
211
165
  }));
212
166
  }
213
167
  async function solanaPayment(options) {
@@ -244,17 +198,20 @@ async function solanaPayment(options) {
244
198
  connect: async () => options.wallet.metadata.address,
245
199
  signTransaction: async ({ transactionBase64 }) => {
246
200
  const transaction = Buffer.from(transactionBase64, "base64");
247
- if (transaction[0] !== 1 || transaction.length < 66) {
201
+ const signatureCount = 2;
202
+ const messageOffset = 1 + signatureCount * 64;
203
+ if (transaction[0] !== signatureCount ||
204
+ transaction.length <= messageOffset) {
248
205
  throw new AgentWalletError("request_binding_mismatch", "Solana transaction is malformed");
249
206
  }
250
- const message = transaction.subarray(65);
207
+ const message = transaction.subarray(messageOffset);
251
208
  const signature = nacl.sign.detached(message, keyPair.secretKey);
252
209
  const signed = Buffer.from(transaction);
253
- signed.set(signature, 1);
210
+ signed.set(signature, 65);
254
211
  return signed.toString("base64");
255
212
  },
256
213
  };
257
- return encodePaymentSignature(await createSolanaPayment({
214
+ return encodePaymentSignature(await createSponsoredSolanaPayment({
258
215
  rpc,
259
216
  wallet: transport,
260
217
  paymentRequired: options.paymentRequired,
@@ -262,63 +219,24 @@ async function solanaPayment(options) {
262
219
  buyerPaymentIdentifier: options.buyerPaymentIdentifier,
263
220
  }));
264
221
  }
265
- async function tronPayment(options) {
266
- if (!options.wallet.secret.privateKeyHex) {
267
- throw new AgentWalletError("wallet_locked", "TRON private key is unavailable");
268
- }
269
- const endpoint = validateRpcUrl(options.rpc, "TRON");
270
- const tronWeb = new TronWeb({
271
- fullHost: endpoint,
272
- privateKey: options.wallet.secret.privateKeyHex,
273
- });
274
- const provider = {
275
- requestAccounts: async () => [options.wallet.metadata.address],
276
- getNetwork: async () => ({ networkType: "Mainnet", chainId: TRON_MAINNET_CHAIN_ID }),
277
- signTransaction: async (transaction) => {
278
- if (!transaction.walletDocument) {
279
- throw new AgentWalletError("request_binding_mismatch", "TRON wallet document is missing");
280
- }
281
- const signed = (await tronWeb.trx.sign(transaction.walletDocument, options.wallet.secret.privateKeyHex));
282
- const result = {
283
- txID: String(signed.txID),
284
- raw_data_hex: String(signed.raw_data_hex),
285
- walletDocument: signed,
286
- };
287
- if (Array.isArray(signed.signature)) {
288
- result.signature = signed.signature.map((value) => String(value));
289
- }
290
- return result;
291
- },
292
- disconnect: async () => undefined,
293
- };
294
- const builder = new TronWebTransactionBuilder({
295
- tronWeb: tronWeb,
296
- feeLimitSun: 150_000_000,
297
- });
298
- return encodePaymentSignature(await createTronUsdtPayment({
299
- builder,
300
- provider,
301
- paymentRequired: options.paymentRequired,
302
- accepted: options.accepted,
303
- buyerPaymentIdentifier: options.buyerPaymentIdentifier,
304
- trustedAssetContracts: [TRON_USDT_MAINNET_CONTRACT],
305
- maxFeeLimitSun: 150_000_000,
306
- }));
307
- }
308
222
  export async function authorizePayment(options) {
223
+ const now = options.now ?? new Date();
309
224
  const unlocked = await unlockWallet(options.walletsDirectory, options.wallet, options.passphrase);
310
225
  const loaded = await loadRequestEnvelope(options.requestEnvelopePath);
311
- const accepted = selectRequirement(loaded.paymentRequired, unlocked.metadata);
226
+ const accepted = selectRequirement(loaded.paymentRequired, unlocked.metadata, now);
312
227
  enforceLocalPolicy(unlocked.metadata, accepted.amount);
313
228
  const store = new AttemptStore(options.attemptsDirectory);
314
229
  const existing = await store.findByRequestDigest(loaded.requestDigest);
315
- if (existing !== null && !["terminal_failed", "abandoned_local"].includes(existing.state)) {
230
+ if (existing !== null &&
231
+ !["terminal_failed", "abandoned_local"].includes(existing.state)) {
316
232
  throw new AgentWalletError("attempt_already_exists", "reuse the existing payment attempt for this exact request", { details: { attemptId: existing.attemptId, state: existing.state } });
317
233
  }
318
234
  await enforceBalances({
319
235
  wallet: unlocked.metadata,
320
236
  amount: accepted.amount,
321
237
  rpc: options.rpc,
238
+ asset: accepted.asset,
239
+ sponsored: sponsored(accepted),
322
240
  });
323
241
  const buyerPaymentIdentifier = createBuyerPaymentIdentifier();
324
242
  let paymentSignature;
@@ -332,6 +250,7 @@ export async function authorizePayment(options) {
332
250
  challengeDigest: loaded.envelope.challengeDigest,
333
251
  buyerPaymentIdentifier,
334
252
  rpc: options.rpc.base,
253
+ now,
335
254
  });
336
255
  }
337
256
  else if (unlocked.metadata.network === SOLANA_MAINNET_NETWORK) {
@@ -347,18 +266,12 @@ export async function authorizePayment(options) {
347
266
  });
348
267
  }
349
268
  else {
350
- if (!options.rpc.tron)
351
- throw new AgentWalletError("rpc_not_configured", "TRON RPC is required");
352
- paymentSignature = await tronPayment({
353
- wallet: unlocked,
354
- paymentRequired: loaded.paymentRequired,
355
- accepted,
356
- buyerPaymentIdentifier,
357
- rpc: options.rpc.tron,
358
- });
269
+ throw new AgentWalletError("unsupported_profile", "TRON payments are coming soon and are not enabled in the launch payer");
359
270
  }
360
271
  const selectedRequirementDigest = requirementDigest(accepted);
361
- const expiresAt = new Date(Date.now() + Math.min(accepted.maxTimeoutSeconds, 3600) * 1000).toISOString();
272
+ const sponsorshipExpiresAt = String(loaded.paymentRequired.extensions?.[GAS_SPONSORSHIP_EXTENSION]?.info
273
+ .expiresAt);
274
+ const expiresAt = new Date(Math.min(now.getTime() + Math.min(accepted.maxTimeoutSeconds, 3600) * 1000, Date.parse(sponsorshipExpiresAt))).toISOString();
362
275
  const { record } = await store.persistAuthorized({
363
276
  requestDigest: loaded.requestDigest,
364
277
  challengeDigest: loaded.envelope.challengeDigest,
@@ -1 +1 @@
1
- {"version":3,"file":"authorize.js","sourceRoot":"","sources":["../../src/payment/authorize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorize.js","sourceRoot":"","sources":["../../src/payment/authorize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { type AttemptState } from "./attempt-store.js";
2
+ export type SubmissionResult = {
3
+ version: 1;
4
+ attemptId: string;
5
+ state: Extract<AttemptState, "settled" | "fulfilled">;
6
+ httpStatus: number;
7
+ responseDigest: string;
8
+ responseEvidencePath: string;
9
+ responseBodyPath?: string;
10
+ transaction?: string;
11
+ network?: string;
12
+ };
13
+ export declare function submitAuthorizedPayment(options: {
14
+ attemptsDirectory: string;
15
+ attemptId: string;
16
+ requestEnvelopePath: string;
17
+ fetchImplementation?: typeof fetch;
18
+ now?: Date;
19
+ timeoutMilliseconds?: number;
20
+ }): Promise<SubmissionResult>;
21
+ //# sourceMappingURL=submit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../src/payment/submit.ts"],"names":[],"mappings":"AAKA,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAgBrE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAmFF,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IACrD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,KAAK,CAAC;IACnC,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiR5B"}