@obolos_tech/mcp-server 0.2.2 → 0.2.4

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/index.js CHANGED
File without changes
package/dist/payment.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * Signs x402 payment requests using a private key (no browser wallet needed).
5
5
  * Supports both v1 (exact) and v2 (x402x-router-settlement) payment schemes.
6
6
  */
7
- import { createWalletClient, http, publicActions, formatUnits, } from 'viem';
7
+ import { createWalletClient, http, publicActions, formatUnits, keccak256, encodePacked, } from 'viem';
8
8
  import { privateKeyToAccount } from 'viem/accounts';
9
9
  import { base } from 'viem/chains';
10
10
  const USDC_ADDRESS = '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913';
@@ -17,6 +17,42 @@ const USDC_ABI = [
17
17
  type: 'function',
18
18
  },
19
19
  ];
20
+ /**
21
+ * Calculate the SettlementRouter commitment hash.
22
+ * This must be used as the EIP-3009 nonce when signing for router settlement,
23
+ * because the on-chain contract recalculates and verifies it.
24
+ */
25
+ function calculateCommitment(params) {
26
+ return keccak256(encodePacked([
27
+ 'string', // protocol identifier
28
+ 'uint256', // chainId
29
+ 'address', // hub (settlementRouter)
30
+ 'address', // token
31
+ 'address', // from
32
+ 'uint256', // value
33
+ 'uint256', // validAfter
34
+ 'uint256', // validBefore
35
+ 'bytes32', // salt
36
+ 'address', // payTo
37
+ 'uint256', // facilitatorFee
38
+ 'address', // hook
39
+ 'bytes32', // keccak256(hookData)
40
+ ], [
41
+ 'X402/settle/v1',
42
+ params.chainId,
43
+ params.hub,
44
+ params.asset,
45
+ params.from,
46
+ params.value,
47
+ params.validAfter,
48
+ params.validBefore,
49
+ params.salt,
50
+ params.payTo,
51
+ params.facilitatorFee,
52
+ params.hook,
53
+ keccak256(params.hookData),
54
+ ]));
55
+ }
20
56
  export class PaymentSigner {
21
57
  account;
22
58
  client;
@@ -72,6 +108,10 @@ export class PaymentSigner {
72
108
  if (!amount || !payTo) {
73
109
  throw new Error('Missing amount or payTo in payment requirement');
74
110
  }
111
+ // Check for x402x-router-settlement extension
112
+ const settlementKey = 'x402x-router-settlement';
113
+ const settlementExt = requirement.extra?.[settlementKey];
114
+ const settlementInfo = settlementExt?.info;
75
115
  // Build EIP-712 typed data for the exact scheme
76
116
  const deadline = BigInt(Math.floor(Date.now() / 1000) + 300); // 5 min
77
117
  const amountBigInt = BigInt(amount);
@@ -92,10 +132,31 @@ export class PaymentSigner {
92
132
  { name: 'nonce', type: 'bytes32' },
93
133
  ],
94
134
  };
95
- // Generate a random nonce
96
- const nonceBytes = new Uint8Array(32);
97
- crypto.getRandomValues(nonceBytes);
98
- const nonce = `0x${Array.from(nonceBytes).map(b => b.toString(16).padStart(2, '0')).join('')}`;
135
+ // Determine the nonce: commitment hash for router settlement, random otherwise
136
+ let nonce;
137
+ if (settlementInfo?.settlementRouter && settlementInfo?.salt) {
138
+ // SettlementRouter requires nonce = commitment hash of all settlement params
139
+ nonce = calculateCommitment({
140
+ chainId: 8453n,
141
+ hub: settlementInfo.settlementRouter,
142
+ asset,
143
+ from: this.account.address,
144
+ value: amountBigInt,
145
+ validAfter: 0n,
146
+ validBefore: deadline,
147
+ salt: settlementInfo.salt,
148
+ payTo: settlementInfo.finalPayTo || payTo,
149
+ facilitatorFee: BigInt(settlementInfo.facilitatorFee || '0'),
150
+ hook: settlementInfo.hook,
151
+ hookData: settlementInfo.hookData,
152
+ });
153
+ }
154
+ else {
155
+ // Standard exact scheme — random nonce
156
+ const nonceBytes = new Uint8Array(32);
157
+ crypto.getRandomValues(nonceBytes);
158
+ nonce = `0x${Array.from(nonceBytes).map(b => b.toString(16).padStart(2, '0')).join('')}`;
159
+ }
99
160
  const message = {
100
161
  from: this.account.address,
101
162
  to: payTo,
@@ -111,29 +172,42 @@ export class PaymentSigner {
111
172
  primaryType: 'TransferWithAuthorization',
112
173
  message,
113
174
  });
114
- // Build the payment payload
175
+ const authorization = {
176
+ from: this.account.address,
177
+ to: payTo,
178
+ value: amount.toString(),
179
+ validAfter: '0',
180
+ validBefore: deadline.toString(),
181
+ nonce,
182
+ };
183
+ // Build v2 payment payload (includes accepted + extensions for facilitator)
184
+ if (paymentRequired.x402Version === 2) {
185
+ const paymentPayload = {
186
+ x402Version: 2,
187
+ scheme,
188
+ network,
189
+ payload: { signature, authorization },
190
+ // Echo back the accepted requirement so the proxy takes the v2 path
191
+ accepted: {
192
+ ...requirement,
193
+ network,
194
+ },
195
+ };
196
+ // Forward settlement extensions if present in the 402 response
197
+ if (settlementExt) {
198
+ paymentPayload.extensions = { [settlementKey]: settlementExt };
199
+ }
200
+ const encoded = Buffer.from(JSON.stringify(paymentPayload)).toString('base64');
201
+ return { 'payment-signature': encoded };
202
+ }
203
+ // v1 fallback
115
204
  const paymentPayload = {
116
- x402Version: paymentRequired.x402Version || 1,
205
+ x402Version: 1,
117
206
  scheme,
118
207
  network,
119
- payload: {
120
- signature,
121
- authorization: {
122
- from: this.account.address,
123
- to: payTo,
124
- value: amount.toString(),
125
- validAfter: '0',
126
- validBefore: deadline.toString(),
127
- nonce,
128
- },
129
- },
208
+ payload: { signature, authorization },
130
209
  };
131
- // Encode as base64 for the payment header
132
210
  const encoded = Buffer.from(JSON.stringify(paymentPayload)).toString('base64');
133
- // Return appropriate headers based on version
134
- if (paymentRequired.x402Version === 2) {
135
- return { 'payment-signature': encoded };
136
- }
137
211
  return { 'x-payment': encoded };
138
212
  }
139
213
  }
@@ -1 +1 @@
1
- {"version":3,"file":"payment.js","sourceRoot":"","sources":["../src/payment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payment.js","sourceRoot":"","sources":["../src/payment.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@obolos_tech/mcp-server",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "MCP server for Obolos x402 API marketplace — lets AI agents discover and pay for APIs",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",