@atxp/server 0.5.0 → 0.6.0

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.cjs CHANGED
@@ -386,6 +386,44 @@ async function parseMcpRequestsWebApi(config, request) {
386
386
  }
387
387
  }
388
388
 
389
+ // Cache for payment destinations to avoid repeated HTTP calls
390
+ // Key is "userId:amount:currency", value is cached destinations
391
+ const destinationCache = new Map();
392
+ // Cache duration: 5 minutes
393
+ const CACHE_DURATION_MS = 5 * 60 * 1000;
394
+ /**
395
+ * Get payment destinations for a user, with caching to avoid repeated HTTP calls.
396
+ * This is an internal helper function used by requirePayment.
397
+ */
398
+ async function getCachedPaymentDestinations(config, user, amount, currency) {
399
+ const cacheKey = `${user}:${amount.toString()}:${currency}`;
400
+ const cached = destinationCache.get(cacheKey);
401
+ const now = Date.now();
402
+ // Return cached destinations if still valid
403
+ if (cached && (now - cached.timestamp) < CACHE_DURATION_MS) {
404
+ config.logger.debug(`Using cached payment destinations for user ${user}`);
405
+ return cached.destinations;
406
+ }
407
+ // Fetch fresh destinations
408
+ config.logger.debug(`Fetching payment destinations for user ${user}`);
409
+ const fundingAmount = { amount, currency };
410
+ let paymentAddresses;
411
+ if ('destinations' in config.paymentDestination && typeof config.paymentDestination.destinations === 'function') {
412
+ paymentAddresses = await config.paymentDestination.destinations(fundingAmount, user);
413
+ }
414
+ else {
415
+ // Fallback to single destination wrapped in array
416
+ const singleAddress = await config.paymentDestination.destination(fundingAmount, user);
417
+ paymentAddresses = [singleAddress];
418
+ }
419
+ // Cache the result
420
+ destinationCache.set(cacheKey, {
421
+ destinations: paymentAddresses,
422
+ timestamp: now
423
+ });
424
+ config.logger.debug(`Cached ${paymentAddresses.length} payment destinations for user ${user}`);
425
+ return paymentAddresses;
426
+ }
389
427
  async function requirePayment(paymentConfig) {
390
428
  const config = getATXPConfig();
391
429
  if (!config) {
@@ -396,33 +434,33 @@ async function requirePayment(paymentConfig) {
396
434
  config.logger.error('No user found');
397
435
  throw new Error('No user found');
398
436
  }
399
- const fundingAmount = {
400
- amount: paymentConfig.price,
401
- currency: config.currency
402
- };
403
- const paymentAddress = await config.paymentDestination.destination(fundingAmount, user);
437
+ // Get payment destinations (with caching)
438
+ const paymentAddresses = await getCachedPaymentDestinations(config, user, paymentConfig.price, config.currency);
439
+ // Always use multi-destination format
404
440
  const charge = {
405
- amount: paymentConfig.price,
406
- currency: config.currency,
407
- network: paymentAddress.network,
408
- destination: paymentAddress.destination,
441
+ destinations: paymentAddresses.map(addr => ({
442
+ network: addr.network,
443
+ currency: config.currency,
444
+ address: addr.destination,
445
+ amount: paymentConfig.price // Each destination gets the full amount
446
+ })),
409
447
  source: user,
410
448
  payeeName: config.payeeName,
411
449
  };
412
- config.logger.debug(`Charging amount ${charge.amount}, destination ${charge.destination}, source ${charge.source}`);
450
+ config.logger.debug(`Charging ${paymentConfig.price} to ${charge.destinations.length} destinations for source ${user}`);
413
451
  const chargeResponse = await config.paymentServer.charge(charge);
414
452
  if (chargeResponse.success) {
415
- config.logger.info(`Charged ${charge.amount} for source ${charge.source}`);
453
+ config.logger.info(`Charged ${paymentConfig.price} for source ${user}`);
416
454
  return;
417
455
  }
418
456
  const existingPaymentId = await paymentConfig.getExistingPaymentId?.();
419
457
  if (existingPaymentId) {
420
458
  config.logger.info(`Found existing payment ID ${existingPaymentId}`);
421
- throw common.paymentRequiredError(config.server, existingPaymentId, charge.amount);
459
+ throw common.paymentRequiredError(config.server, existingPaymentId, paymentConfig.price);
422
460
  }
423
461
  const paymentId = await config.paymentServer.createPaymentRequest(charge);
424
462
  config.logger.info(`Created payment request ${paymentId}`);
425
- throw common.paymentRequiredError(config.server, paymentId, charge.amount);
463
+ throw common.paymentRequiredError(config.server, paymentId, paymentConfig.price);
426
464
  }
427
465
 
428
466
  class ChainPaymentDestination {
@@ -436,6 +474,11 @@ class ChainPaymentDestination {
436
474
  network: this.network
437
475
  };
438
476
  }
477
+ async destinations(fundingAmount, buyerAddress) {
478
+ // Return single destination as array for backwards compatibility
479
+ const dest = await this.destination(fundingAmount, buyerAddress);
480
+ return [dest];
481
+ }
439
482
  }
440
483
  function parseConnectionString(connectionString) {
441
484
  const url = new URL(connectionString);
@@ -451,7 +494,7 @@ class ATXPPaymentDestination {
451
494
  const { origin, token } = parseConnectionString(connectionString);
452
495
  this.accountServerURL = origin;
453
496
  this.token = token;
454
- this.fetchFn = opts?.fetchFn ?? fetch;
497
+ this.fetchFn = opts?.fetchFn ?? fetch.bind(globalThis);
455
498
  this.logger = opts?.logger ?? new common.ConsoleLogger({ prefix: '[atxp-payment-destination]' });
456
499
  }
457
500
  async destination(fundingAmount, buyerAddress) {
@@ -460,6 +503,10 @@ class ATXPPaymentDestination {
460
503
  url.searchParams.set('connectionToken', this.token);
461
504
  url.searchParams.set('buyerAddress', buyerAddress);
462
505
  url.searchParams.set('amount', fundingAmount.amount.toString());
506
+ // Add currency parameter if provided
507
+ if (fundingAmount.currency) {
508
+ url.searchParams.set('currency', fundingAmount.currency);
509
+ }
463
510
  this.logger.debug(`Making request to: ${url.toString()}`);
464
511
  const response = await this.fetchFn(url.toString(), {
465
512
  method: 'GET',
@@ -477,14 +524,15 @@ class ATXPPaymentDestination {
477
524
  this.logger.error('/destination did not return destination');
478
525
  throw new Error('ATXPPaymentDestination: /destination did not return destination');
479
526
  }
480
- if (!json?.chainType) {
481
- this.logger.error('/destination did not return chainType');
482
- throw new Error('ATXPPaymentDestination: /destination did not return chainType');
527
+ const networkFromResponse = json.network;
528
+ if (!networkFromResponse) {
529
+ this.logger.error('/destination did not return network');
530
+ throw new Error('ATXPPaymentDestination: /destination did not return network');
483
531
  }
484
- // Map chainType to expected network values
485
- // The accounts service returns 'ethereum' for Base wallets, but the payment system expects 'base'
532
+ // Map network values if needed
533
+ // The accounts service might return 'ethereum' for Base wallets, but the payment system expects 'base'
486
534
  let network;
487
- switch (json.chainType) {
535
+ switch (networkFromResponse) {
488
536
  case 'ethereum':
489
537
  network = 'base'; // Base is an Ethereum L2
490
538
  break;
@@ -495,15 +543,76 @@ class ATXPPaymentDestination {
495
543
  network = 'solana';
496
544
  break;
497
545
  default:
498
- this.logger.warn(`Unknown chainType: ${json.chainType}, defaulting to base`);
546
+ this.logger.warn(`Unknown network: ${networkFromResponse}, defaulting to base`);
499
547
  network = 'base';
500
548
  }
501
- this.logger.debug(`Successfully got payment destination: ${json.destination} on ${network} (chainType: ${json.chainType})`);
549
+ this.logger.debug(`Successfully got payment destination: ${json.destination} on ${network}`);
502
550
  return {
503
551
  destination: json.destination,
504
552
  network
505
553
  };
506
554
  }
555
+ async destinations(fundingAmount, buyerAddress) {
556
+ this.logger.debug(`Getting payment destinations for buyer: ${buyerAddress}, amount: ${fundingAmount.amount.toString()} ${fundingAmount.currency}`);
557
+ const url = new URL(`${this.accountServerURL}/addresses`);
558
+ // Add currency parameter if provided
559
+ if (fundingAmount.currency) {
560
+ url.searchParams.set('currency', fundingAmount.currency);
561
+ }
562
+ // Use Basic auth with the token, like ATXPLocalAccount does
563
+ const authHeader = `Basic ${Buffer.from(`${this.token}:`).toString('base64')}`;
564
+ this.logger.debug(`Making request to: ${url.toString()}`);
565
+ const response = await this.fetchFn(url.toString(), {
566
+ method: 'GET',
567
+ headers: {
568
+ 'Authorization': authHeader,
569
+ 'Accept': 'application/json',
570
+ },
571
+ });
572
+ if (!response.ok) {
573
+ const text = await response.text();
574
+ this.logger.error(`/addresses failed: ${response.status} ${response.statusText} ${text}`);
575
+ throw new Error(`ATXPPaymentDestination: /addresses failed: ${response.status} ${response.statusText} ${text}`);
576
+ }
577
+ const json = await response.json();
578
+ if (!Array.isArray(json) || json.length === 0) {
579
+ this.logger.error('/addresses did not return any addresses');
580
+ throw new Error('ATXPPaymentDestination: /addresses did not return any addresses');
581
+ }
582
+ const addresses = [];
583
+ for (const item of json) {
584
+ const networkFromItem = item?.network;
585
+ if (!item?.address || !networkFromItem) {
586
+ this.logger.warn('Skipping invalid address entry');
587
+ continue;
588
+ }
589
+ // Map network values if needed
590
+ let network;
591
+ switch (networkFromItem) {
592
+ case 'ethereum':
593
+ network = 'base'; // Base is an Ethereum L2
594
+ break;
595
+ case 'base':
596
+ network = 'base'; // Already correct
597
+ break;
598
+ case 'solana':
599
+ network = 'solana';
600
+ break;
601
+ default:
602
+ this.logger.warn(`Unknown network: ${networkFromItem}, skipping`);
603
+ continue;
604
+ }
605
+ addresses.push({
606
+ destination: item.address,
607
+ network
608
+ });
609
+ }
610
+ if (addresses.length === 0) {
611
+ throw new Error('ATXPPaymentDestination: no valid addresses returned');
612
+ }
613
+ this.logger.debug(`Successfully got ${addresses.length} payment destinations`);
614
+ return addresses;
615
+ }
507
616
  }
508
617
 
509
618
  /**
@@ -520,13 +629,12 @@ class ATXPPaymentDestination {
520
629
  * ```
521
630
  */
522
631
  class ATXPPaymentServer {
523
- constructor(server, logger, fetchFn = fetch) {
632
+ constructor(server, logger, fetchFn = fetch.bind(globalThis)) {
524
633
  this.server = server;
525
634
  this.logger = logger;
526
635
  this.fetchFn = fetchFn;
527
- this.charge = async ({ source, destination, network, currency, amount }) => {
528
- const body = { source, destination, network, currency, amount };
529
- const chargeResponse = await this.makeRequest('POST', '/charge', body);
636
+ this.charge = async (chargeRequest) => {
637
+ const chargeResponse = await this.makeRequest('POST', '/charge', chargeRequest);
530
638
  const json = await chargeResponse.json();
531
639
  if (chargeResponse.status === 200) {
532
640
  return { success: true, requiredPayment: null };
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/types.ts","../src/atxpContext.ts","../src/core/token.ts","../src/core/oauth.ts","../src/core/mcp.ts","../src/node/token.ts","../src/node/oauth.ts","../src/node/getRawBody.ts","../src/node/http.ts","../src/webapi/token.ts","../src/webapi/oauth.ts","../src/webapi/mcp.ts","../src/requirePayment.ts","../src/paymentDestination.ts","../src/paymentServer.ts","../src/serverConfig.ts","../src/getResource.ts","../src/oAuthMetadata.ts","../src/protectedResourceMetadata.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["TokenProblem","AsyncLocalStorage","sendProtectedResourceMetadata","sendOAuthMetadata","parseMcpMessages","isJSONRPCRequest","contentType","paymentRequiredError","ConsoleLogger","DEFAULT_AUTHORIZATION_SERVER","MemoryOAuthDb","OAuthResourceClient"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/types.ts","../src/atxpContext.ts","../src/core/token.ts","../src/core/oauth.ts","../src/core/mcp.ts","../src/node/token.ts","../src/node/oauth.ts","../src/node/getRawBody.ts","../src/node/http.ts","../src/webapi/token.ts","../src/webapi/oauth.ts","../src/webapi/mcp.ts","../src/requirePayment.ts","../src/paymentDestination.ts","../src/paymentServer.ts","../src/serverConfig.ts","../src/getResource.ts","../src/oAuthMetadata.ts","../src/protectedResourceMetadata.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["TokenProblem","AsyncLocalStorage","sendProtectedResourceMetadata","sendOAuthMetadata","parseMcpMessages","isJSONRPCRequest","contentType","paymentRequiredError","ConsoleLogger","DEFAULT_AUTHORIZATION_SERVER","MemoryOAuthDb","OAuthResourceClient"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -15,12 +15,14 @@ type PaymentAddress = {
15
15
  };
16
16
  interface PaymentDestination {
17
17
  destination(fundingAmount: FundingAmount, buyerAddress: string): Promise<PaymentAddress>;
18
+ destinations?(fundingAmount: FundingAmount, buyerAddress: string): Promise<PaymentAddress[]>;
18
19
  }
19
20
  declare class ChainPaymentDestination implements PaymentDestination {
20
21
  private readonly address;
21
22
  private readonly network;
22
23
  constructor(address: string, network: Network);
23
24
  destination(_fundingAmount: FundingAmount, _buyerAddress: string): Promise<PaymentAddress>;
25
+ destinations(fundingAmount: FundingAmount, buyerAddress: string): Promise<PaymentAddress[]>;
24
26
  }
25
27
  declare class ATXPPaymentDestination implements PaymentDestination {
26
28
  private accountServerURL;
@@ -32,6 +34,7 @@ declare class ATXPPaymentDestination implements PaymentDestination {
32
34
  logger?: Logger;
33
35
  });
34
36
  destination(fundingAmount: FundingAmount, buyerAddress: string): Promise<PaymentAddress>;
37
+ destinations(fundingAmount: FundingAmount, buyerAddress: string): Promise<PaymentAddress[]>;
35
38
  }
36
39
 
37
40
  type McpMethod = 'notifications/cancelled' | 'initialize' | 'ping' | 'notifications/progress' | 'resources/list' | 'resources/templates/list' | 'resources/read' | 'notifications/resources/list_changed' | 'resources/subscribe' | 'resources/unsubscribe' | 'notifications/resources/updated' | 'prompts/list' | 'prompts/get' | 'notifications/prompts/list_changed' | 'tools/list' | 'tools/call' | 'notifications/tools/list_changed' | 'logging/setLevel' | 'notifications/message' | 'sampling/createMessage' | 'elicitation/create' | 'completion/complete' | 'roots/list' | 'notifications/roots/list_changed';
@@ -189,13 +192,7 @@ declare class ATXPPaymentServer implements PaymentServer {
189
192
  private readonly logger;
190
193
  private readonly fetchFn;
191
194
  constructor(server: AuthorizationServerUrl, logger: Logger, fetchFn?: FetchLike);
192
- charge: ({ source, destination, network, currency, amount }: {
193
- source: string;
194
- destination: string;
195
- network: Network;
196
- currency: Currency;
197
- amount: BigNumber;
198
- }) => Promise<ChargeResponse>;
195
+ charge: (chargeRequest: Charge) => Promise<ChargeResponse>;
199
196
  createPaymentRequest: (charge: Charge) => Promise<string>;
200
197
  /**
201
198
  * Makes authenticated requests to the ATXP authorization server
package/dist/index.js CHANGED
@@ -365,6 +365,44 @@ async function parseMcpRequestsWebApi(config, request) {
365
365
  }
366
366
  }
367
367
 
368
+ // Cache for payment destinations to avoid repeated HTTP calls
369
+ // Key is "userId:amount:currency", value is cached destinations
370
+ const destinationCache = new Map();
371
+ // Cache duration: 5 minutes
372
+ const CACHE_DURATION_MS = 5 * 60 * 1000;
373
+ /**
374
+ * Get payment destinations for a user, with caching to avoid repeated HTTP calls.
375
+ * This is an internal helper function used by requirePayment.
376
+ */
377
+ async function getCachedPaymentDestinations(config, user, amount, currency) {
378
+ const cacheKey = `${user}:${amount.toString()}:${currency}`;
379
+ const cached = destinationCache.get(cacheKey);
380
+ const now = Date.now();
381
+ // Return cached destinations if still valid
382
+ if (cached && (now - cached.timestamp) < CACHE_DURATION_MS) {
383
+ config.logger.debug(`Using cached payment destinations for user ${user}`);
384
+ return cached.destinations;
385
+ }
386
+ // Fetch fresh destinations
387
+ config.logger.debug(`Fetching payment destinations for user ${user}`);
388
+ const fundingAmount = { amount, currency };
389
+ let paymentAddresses;
390
+ if ('destinations' in config.paymentDestination && typeof config.paymentDestination.destinations === 'function') {
391
+ paymentAddresses = await config.paymentDestination.destinations(fundingAmount, user);
392
+ }
393
+ else {
394
+ // Fallback to single destination wrapped in array
395
+ const singleAddress = await config.paymentDestination.destination(fundingAmount, user);
396
+ paymentAddresses = [singleAddress];
397
+ }
398
+ // Cache the result
399
+ destinationCache.set(cacheKey, {
400
+ destinations: paymentAddresses,
401
+ timestamp: now
402
+ });
403
+ config.logger.debug(`Cached ${paymentAddresses.length} payment destinations for user ${user}`);
404
+ return paymentAddresses;
405
+ }
368
406
  async function requirePayment(paymentConfig) {
369
407
  const config = getATXPConfig();
370
408
  if (!config) {
@@ -375,33 +413,33 @@ async function requirePayment(paymentConfig) {
375
413
  config.logger.error('No user found');
376
414
  throw new Error('No user found');
377
415
  }
378
- const fundingAmount = {
379
- amount: paymentConfig.price,
380
- currency: config.currency
381
- };
382
- const paymentAddress = await config.paymentDestination.destination(fundingAmount, user);
416
+ // Get payment destinations (with caching)
417
+ const paymentAddresses = await getCachedPaymentDestinations(config, user, paymentConfig.price, config.currency);
418
+ // Always use multi-destination format
383
419
  const charge = {
384
- amount: paymentConfig.price,
385
- currency: config.currency,
386
- network: paymentAddress.network,
387
- destination: paymentAddress.destination,
420
+ destinations: paymentAddresses.map(addr => ({
421
+ network: addr.network,
422
+ currency: config.currency,
423
+ address: addr.destination,
424
+ amount: paymentConfig.price // Each destination gets the full amount
425
+ })),
388
426
  source: user,
389
427
  payeeName: config.payeeName,
390
428
  };
391
- config.logger.debug(`Charging amount ${charge.amount}, destination ${charge.destination}, source ${charge.source}`);
429
+ config.logger.debug(`Charging ${paymentConfig.price} to ${charge.destinations.length} destinations for source ${user}`);
392
430
  const chargeResponse = await config.paymentServer.charge(charge);
393
431
  if (chargeResponse.success) {
394
- config.logger.info(`Charged ${charge.amount} for source ${charge.source}`);
432
+ config.logger.info(`Charged ${paymentConfig.price} for source ${user}`);
395
433
  return;
396
434
  }
397
435
  const existingPaymentId = await paymentConfig.getExistingPaymentId?.();
398
436
  if (existingPaymentId) {
399
437
  config.logger.info(`Found existing payment ID ${existingPaymentId}`);
400
- throw paymentRequiredError(config.server, existingPaymentId, charge.amount);
438
+ throw paymentRequiredError(config.server, existingPaymentId, paymentConfig.price);
401
439
  }
402
440
  const paymentId = await config.paymentServer.createPaymentRequest(charge);
403
441
  config.logger.info(`Created payment request ${paymentId}`);
404
- throw paymentRequiredError(config.server, paymentId, charge.amount);
442
+ throw paymentRequiredError(config.server, paymentId, paymentConfig.price);
405
443
  }
406
444
 
407
445
  class ChainPaymentDestination {
@@ -415,6 +453,11 @@ class ChainPaymentDestination {
415
453
  network: this.network
416
454
  };
417
455
  }
456
+ async destinations(fundingAmount, buyerAddress) {
457
+ // Return single destination as array for backwards compatibility
458
+ const dest = await this.destination(fundingAmount, buyerAddress);
459
+ return [dest];
460
+ }
418
461
  }
419
462
  function parseConnectionString(connectionString) {
420
463
  const url = new URL(connectionString);
@@ -430,7 +473,7 @@ class ATXPPaymentDestination {
430
473
  const { origin, token } = parseConnectionString(connectionString);
431
474
  this.accountServerURL = origin;
432
475
  this.token = token;
433
- this.fetchFn = opts?.fetchFn ?? fetch;
476
+ this.fetchFn = opts?.fetchFn ?? fetch.bind(globalThis);
434
477
  this.logger = opts?.logger ?? new ConsoleLogger({ prefix: '[atxp-payment-destination]' });
435
478
  }
436
479
  async destination(fundingAmount, buyerAddress) {
@@ -439,6 +482,10 @@ class ATXPPaymentDestination {
439
482
  url.searchParams.set('connectionToken', this.token);
440
483
  url.searchParams.set('buyerAddress', buyerAddress);
441
484
  url.searchParams.set('amount', fundingAmount.amount.toString());
485
+ // Add currency parameter if provided
486
+ if (fundingAmount.currency) {
487
+ url.searchParams.set('currency', fundingAmount.currency);
488
+ }
442
489
  this.logger.debug(`Making request to: ${url.toString()}`);
443
490
  const response = await this.fetchFn(url.toString(), {
444
491
  method: 'GET',
@@ -456,14 +503,15 @@ class ATXPPaymentDestination {
456
503
  this.logger.error('/destination did not return destination');
457
504
  throw new Error('ATXPPaymentDestination: /destination did not return destination');
458
505
  }
459
- if (!json?.chainType) {
460
- this.logger.error('/destination did not return chainType');
461
- throw new Error('ATXPPaymentDestination: /destination did not return chainType');
506
+ const networkFromResponse = json.network;
507
+ if (!networkFromResponse) {
508
+ this.logger.error('/destination did not return network');
509
+ throw new Error('ATXPPaymentDestination: /destination did not return network');
462
510
  }
463
- // Map chainType to expected network values
464
- // The accounts service returns 'ethereum' for Base wallets, but the payment system expects 'base'
511
+ // Map network values if needed
512
+ // The accounts service might return 'ethereum' for Base wallets, but the payment system expects 'base'
465
513
  let network;
466
- switch (json.chainType) {
514
+ switch (networkFromResponse) {
467
515
  case 'ethereum':
468
516
  network = 'base'; // Base is an Ethereum L2
469
517
  break;
@@ -474,15 +522,76 @@ class ATXPPaymentDestination {
474
522
  network = 'solana';
475
523
  break;
476
524
  default:
477
- this.logger.warn(`Unknown chainType: ${json.chainType}, defaulting to base`);
525
+ this.logger.warn(`Unknown network: ${networkFromResponse}, defaulting to base`);
478
526
  network = 'base';
479
527
  }
480
- this.logger.debug(`Successfully got payment destination: ${json.destination} on ${network} (chainType: ${json.chainType})`);
528
+ this.logger.debug(`Successfully got payment destination: ${json.destination} on ${network}`);
481
529
  return {
482
530
  destination: json.destination,
483
531
  network
484
532
  };
485
533
  }
534
+ async destinations(fundingAmount, buyerAddress) {
535
+ this.logger.debug(`Getting payment destinations for buyer: ${buyerAddress}, amount: ${fundingAmount.amount.toString()} ${fundingAmount.currency}`);
536
+ const url = new URL(`${this.accountServerURL}/addresses`);
537
+ // Add currency parameter if provided
538
+ if (fundingAmount.currency) {
539
+ url.searchParams.set('currency', fundingAmount.currency);
540
+ }
541
+ // Use Basic auth with the token, like ATXPLocalAccount does
542
+ const authHeader = `Basic ${Buffer.from(`${this.token}:`).toString('base64')}`;
543
+ this.logger.debug(`Making request to: ${url.toString()}`);
544
+ const response = await this.fetchFn(url.toString(), {
545
+ method: 'GET',
546
+ headers: {
547
+ 'Authorization': authHeader,
548
+ 'Accept': 'application/json',
549
+ },
550
+ });
551
+ if (!response.ok) {
552
+ const text = await response.text();
553
+ this.logger.error(`/addresses failed: ${response.status} ${response.statusText} ${text}`);
554
+ throw new Error(`ATXPPaymentDestination: /addresses failed: ${response.status} ${response.statusText} ${text}`);
555
+ }
556
+ const json = await response.json();
557
+ if (!Array.isArray(json) || json.length === 0) {
558
+ this.logger.error('/addresses did not return any addresses');
559
+ throw new Error('ATXPPaymentDestination: /addresses did not return any addresses');
560
+ }
561
+ const addresses = [];
562
+ for (const item of json) {
563
+ const networkFromItem = item?.network;
564
+ if (!item?.address || !networkFromItem) {
565
+ this.logger.warn('Skipping invalid address entry');
566
+ continue;
567
+ }
568
+ // Map network values if needed
569
+ let network;
570
+ switch (networkFromItem) {
571
+ case 'ethereum':
572
+ network = 'base'; // Base is an Ethereum L2
573
+ break;
574
+ case 'base':
575
+ network = 'base'; // Already correct
576
+ break;
577
+ case 'solana':
578
+ network = 'solana';
579
+ break;
580
+ default:
581
+ this.logger.warn(`Unknown network: ${networkFromItem}, skipping`);
582
+ continue;
583
+ }
584
+ addresses.push({
585
+ destination: item.address,
586
+ network
587
+ });
588
+ }
589
+ if (addresses.length === 0) {
590
+ throw new Error('ATXPPaymentDestination: no valid addresses returned');
591
+ }
592
+ this.logger.debug(`Successfully got ${addresses.length} payment destinations`);
593
+ return addresses;
594
+ }
486
595
  }
487
596
 
488
597
  /**
@@ -499,13 +608,12 @@ class ATXPPaymentDestination {
499
608
  * ```
500
609
  */
501
610
  class ATXPPaymentServer {
502
- constructor(server, logger, fetchFn = fetch) {
611
+ constructor(server, logger, fetchFn = fetch.bind(globalThis)) {
503
612
  this.server = server;
504
613
  this.logger = logger;
505
614
  this.fetchFn = fetchFn;
506
- this.charge = async ({ source, destination, network, currency, amount }) => {
507
- const body = { source, destination, network, currency, amount };
508
- const chargeResponse = await this.makeRequest('POST', '/charge', body);
615
+ this.charge = async (chargeRequest) => {
616
+ const chargeResponse = await this.makeRequest('POST', '/charge', chargeRequest);
509
617
  const json = await chargeResponse.json();
510
618
  if (chargeResponse.status === 200) {
511
619
  return { success: true, requiredPayment: null };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/types.ts","../src/atxpContext.ts","../src/core/token.ts","../src/core/oauth.ts","../src/core/mcp.ts","../src/node/token.ts","../src/node/oauth.ts","../src/node/getRawBody.ts","../src/node/http.ts","../src/webapi/token.ts","../src/webapi/oauth.ts","../src/webapi/mcp.ts","../src/requirePayment.ts","../src/paymentDestination.ts","../src/paymentServer.ts","../src/serverConfig.ts","../src/getResource.ts","../src/oAuthMetadata.ts","../src/protectedResourceMetadata.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["sendProtectedResourceMetadata","sendOAuthMetadata"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/types.ts","../src/atxpContext.ts","../src/core/token.ts","../src/core/oauth.ts","../src/core/mcp.ts","../src/node/token.ts","../src/node/oauth.ts","../src/node/getRawBody.ts","../src/node/http.ts","../src/webapi/token.ts","../src/webapi/oauth.ts","../src/webapi/mcp.ts","../src/requirePayment.ts","../src/paymentDestination.ts","../src/paymentServer.ts","../src/serverConfig.ts","../src/getResource.ts","../src/oAuthMetadata.ts","../src/protectedResourceMetadata.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["sendProtectedResourceMetadata","sendOAuthMetadata"],"mappings":"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"}
@@ -11,6 +11,11 @@ class ChainPaymentDestination {
11
11
  network: this.network
12
12
  };
13
13
  }
14
+ async destinations(fundingAmount, buyerAddress) {
15
+ // Return single destination as array for backwards compatibility
16
+ const dest = await this.destination(fundingAmount, buyerAddress);
17
+ return [dest];
18
+ }
14
19
  }
15
20
  function parseConnectionString(connectionString) {
16
21
  const url = new URL(connectionString);
@@ -26,7 +31,7 @@ class ATXPPaymentDestination {
26
31
  const { origin, token } = parseConnectionString(connectionString);
27
32
  this.accountServerURL = origin;
28
33
  this.token = token;
29
- this.fetchFn = opts?.fetchFn ?? fetch;
34
+ this.fetchFn = opts?.fetchFn ?? fetch.bind(globalThis);
30
35
  this.logger = opts?.logger ?? new ConsoleLogger({ prefix: '[atxp-payment-destination]' });
31
36
  }
32
37
  async destination(fundingAmount, buyerAddress) {
@@ -35,6 +40,10 @@ class ATXPPaymentDestination {
35
40
  url.searchParams.set('connectionToken', this.token);
36
41
  url.searchParams.set('buyerAddress', buyerAddress);
37
42
  url.searchParams.set('amount', fundingAmount.amount.toString());
43
+ // Add currency parameter if provided
44
+ if (fundingAmount.currency) {
45
+ url.searchParams.set('currency', fundingAmount.currency);
46
+ }
38
47
  this.logger.debug(`Making request to: ${url.toString()}`);
39
48
  const response = await this.fetchFn(url.toString(), {
40
49
  method: 'GET',
@@ -52,14 +61,15 @@ class ATXPPaymentDestination {
52
61
  this.logger.error('/destination did not return destination');
53
62
  throw new Error('ATXPPaymentDestination: /destination did not return destination');
54
63
  }
55
- if (!json?.chainType) {
56
- this.logger.error('/destination did not return chainType');
57
- throw new Error('ATXPPaymentDestination: /destination did not return chainType');
64
+ const networkFromResponse = json.network;
65
+ if (!networkFromResponse) {
66
+ this.logger.error('/destination did not return network');
67
+ throw new Error('ATXPPaymentDestination: /destination did not return network');
58
68
  }
59
- // Map chainType to expected network values
60
- // The accounts service returns 'ethereum' for Base wallets, but the payment system expects 'base'
69
+ // Map network values if needed
70
+ // The accounts service might return 'ethereum' for Base wallets, but the payment system expects 'base'
61
71
  let network;
62
- switch (json.chainType) {
72
+ switch (networkFromResponse) {
63
73
  case 'ethereum':
64
74
  network = 'base'; // Base is an Ethereum L2
65
75
  break;
@@ -70,15 +80,76 @@ class ATXPPaymentDestination {
70
80
  network = 'solana';
71
81
  break;
72
82
  default:
73
- this.logger.warn(`Unknown chainType: ${json.chainType}, defaulting to base`);
83
+ this.logger.warn(`Unknown network: ${networkFromResponse}, defaulting to base`);
74
84
  network = 'base';
75
85
  }
76
- this.logger.debug(`Successfully got payment destination: ${json.destination} on ${network} (chainType: ${json.chainType})`);
86
+ this.logger.debug(`Successfully got payment destination: ${json.destination} on ${network}`);
77
87
  return {
78
88
  destination: json.destination,
79
89
  network
80
90
  };
81
91
  }
92
+ async destinations(fundingAmount, buyerAddress) {
93
+ this.logger.debug(`Getting payment destinations for buyer: ${buyerAddress}, amount: ${fundingAmount.amount.toString()} ${fundingAmount.currency}`);
94
+ const url = new URL(`${this.accountServerURL}/addresses`);
95
+ // Add currency parameter if provided
96
+ if (fundingAmount.currency) {
97
+ url.searchParams.set('currency', fundingAmount.currency);
98
+ }
99
+ // Use Basic auth with the token, like ATXPLocalAccount does
100
+ const authHeader = `Basic ${Buffer.from(`${this.token}:`).toString('base64')}`;
101
+ this.logger.debug(`Making request to: ${url.toString()}`);
102
+ const response = await this.fetchFn(url.toString(), {
103
+ method: 'GET',
104
+ headers: {
105
+ 'Authorization': authHeader,
106
+ 'Accept': 'application/json',
107
+ },
108
+ });
109
+ if (!response.ok) {
110
+ const text = await response.text();
111
+ this.logger.error(`/addresses failed: ${response.status} ${response.statusText} ${text}`);
112
+ throw new Error(`ATXPPaymentDestination: /addresses failed: ${response.status} ${response.statusText} ${text}`);
113
+ }
114
+ const json = await response.json();
115
+ if (!Array.isArray(json) || json.length === 0) {
116
+ this.logger.error('/addresses did not return any addresses');
117
+ throw new Error('ATXPPaymentDestination: /addresses did not return any addresses');
118
+ }
119
+ const addresses = [];
120
+ for (const item of json) {
121
+ const networkFromItem = item?.network;
122
+ if (!item?.address || !networkFromItem) {
123
+ this.logger.warn('Skipping invalid address entry');
124
+ continue;
125
+ }
126
+ // Map network values if needed
127
+ let network;
128
+ switch (networkFromItem) {
129
+ case 'ethereum':
130
+ network = 'base'; // Base is an Ethereum L2
131
+ break;
132
+ case 'base':
133
+ network = 'base'; // Already correct
134
+ break;
135
+ case 'solana':
136
+ network = 'solana';
137
+ break;
138
+ default:
139
+ this.logger.warn(`Unknown network: ${networkFromItem}, skipping`);
140
+ continue;
141
+ }
142
+ addresses.push({
143
+ destination: item.address,
144
+ network
145
+ });
146
+ }
147
+ if (addresses.length === 0) {
148
+ throw new Error('ATXPPaymentDestination: no valid addresses returned');
149
+ }
150
+ this.logger.debug(`Successfully got ${addresses.length} payment destinations`);
151
+ return addresses;
152
+ }
82
153
  }
83
154
 
84
155
  export { ATXPPaymentDestination, ChainPaymentDestination };
@@ -1 +1 @@
1
- {"version":3,"file":"paymentDestination.js","sources":["../src/paymentDestination.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paymentDestination.js","sources":["../src/paymentDestination.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -12,13 +12,12 @@
12
12
  * ```
13
13
  */
14
14
  class ATXPPaymentServer {
15
- constructor(server, logger, fetchFn = fetch) {
15
+ constructor(server, logger, fetchFn = fetch.bind(globalThis)) {
16
16
  this.server = server;
17
17
  this.logger = logger;
18
18
  this.fetchFn = fetchFn;
19
- this.charge = async ({ source, destination, network, currency, amount }) => {
20
- const body = { source, destination, network, currency, amount };
21
- const chargeResponse = await this.makeRequest('POST', '/charge', body);
19
+ this.charge = async (chargeRequest) => {
20
+ const chargeResponse = await this.makeRequest('POST', '/charge', chargeRequest);
22
21
  const json = await chargeResponse.json();
23
22
  if (chargeResponse.status === 200) {
24
23
  return { success: true, requiredPayment: null };
@@ -1 +1 @@
1
- {"version":3,"file":"paymentServer.js","sources":["../src/paymentServer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paymentServer.js","sources":["../src/paymentServer.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA;;;;;;;;;;;;AAYG;MACU,iBAAiB,CAAA;IAC5B,WAAA,CACmB,MAA8B,EAC9B,MAAc,EACd,OAAA,GAAqB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAA;QAF3C,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,OAAO,GAAP,OAAO;AAG1B,QAAA,IAAA,CAAA,MAAM,GAAG,OAAM,aAAqB,KAA6B;AAC/D,YAAA,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC;AAC/E,YAAA,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,EAA+B;AACrE,YAAA,IAAI,cAAc,CAAC,MAAM,KAAK,GAAG,EAAE;gBACjC,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAC;YAC/C;AAAO,iBAAA,IAAI,cAAc,CAAC,MAAM,KAAK,GAAG,EAAE;gBACxC,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAC;YAChD;iBAAO;AACL,gBAAA,MAAM,GAAG,GAAG,CAAA,uBAAA,EAA0B,cAAc,CAAC,MAAM,4CAA4C;AACvG,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACrB,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,eAAA,EAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC;AAC3D,gBAAA,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC;YACtB;AACF,QAAA,CAAC;AAED,QAAA,IAAA,CAAA,oBAAoB,GAAG,OAAM,MAAc,KAAqB;AAC9D,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC;AAC3E,YAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAmB;AACnD,YAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,4DAAA,EAA+D,QAAQ,CAAC,MAAM,CAAA,CAAE,CAAC;AAClG,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,eAAA,EAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CAAC,CAAA,4DAAA,EAA+D,QAAQ,CAAC,MAAM,CAAA,CAAE,CAAC;YACnG;AACA,YAAA,IAAG,CAAC,IAAI,CAAC,EAAE,EAAE;AACX,gBAAA,MAAM,IAAI,KAAK,CAAC,CAAA,oDAAA,CAAsD,CAAC;YACzE;YACA,OAAO,IAAI,CAAC,EAAE;AAChB,QAAA,CAAC;AAED;;;;;;;;;;;;;;;;AAgBG;QACO,IAAA,CAAA,WAAW,GAAG,OAAM,MAAsB,EAAE,IAAY,EAAE,IAAa,KAAuB;YACtG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBACvC,MAAM;AACN,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE;AACjB,iBAAA;AACD,gBAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;AAC1B,aAAA,CAAC;AACF,YAAA,OAAO,QAAQ;AACjB,QAAA,CAAC;IA1DD;AA2DD;;;;"}
@@ -1,6 +1,44 @@
1
1
  import { paymentRequiredError } from '@atxp/common';
2
2
  import { getATXPConfig, atxpAccountId } from './atxpContext.js';
3
3
 
4
+ // Cache for payment destinations to avoid repeated HTTP calls
5
+ // Key is "userId:amount:currency", value is cached destinations
6
+ const destinationCache = new Map();
7
+ // Cache duration: 5 minutes
8
+ const CACHE_DURATION_MS = 5 * 60 * 1000;
9
+ /**
10
+ * Get payment destinations for a user, with caching to avoid repeated HTTP calls.
11
+ * This is an internal helper function used by requirePayment.
12
+ */
13
+ async function getCachedPaymentDestinations(config, user, amount, currency) {
14
+ const cacheKey = `${user}:${amount.toString()}:${currency}`;
15
+ const cached = destinationCache.get(cacheKey);
16
+ const now = Date.now();
17
+ // Return cached destinations if still valid
18
+ if (cached && (now - cached.timestamp) < CACHE_DURATION_MS) {
19
+ config.logger.debug(`Using cached payment destinations for user ${user}`);
20
+ return cached.destinations;
21
+ }
22
+ // Fetch fresh destinations
23
+ config.logger.debug(`Fetching payment destinations for user ${user}`);
24
+ const fundingAmount = { amount, currency };
25
+ let paymentAddresses;
26
+ if ('destinations' in config.paymentDestination && typeof config.paymentDestination.destinations === 'function') {
27
+ paymentAddresses = await config.paymentDestination.destinations(fundingAmount, user);
28
+ }
29
+ else {
30
+ // Fallback to single destination wrapped in array
31
+ const singleAddress = await config.paymentDestination.destination(fundingAmount, user);
32
+ paymentAddresses = [singleAddress];
33
+ }
34
+ // Cache the result
35
+ destinationCache.set(cacheKey, {
36
+ destinations: paymentAddresses,
37
+ timestamp: now
38
+ });
39
+ config.logger.debug(`Cached ${paymentAddresses.length} payment destinations for user ${user}`);
40
+ return paymentAddresses;
41
+ }
4
42
  async function requirePayment(paymentConfig) {
5
43
  const config = getATXPConfig();
6
44
  if (!config) {
@@ -11,33 +49,33 @@ async function requirePayment(paymentConfig) {
11
49
  config.logger.error('No user found');
12
50
  throw new Error('No user found');
13
51
  }
14
- const fundingAmount = {
15
- amount: paymentConfig.price,
16
- currency: config.currency
17
- };
18
- const paymentAddress = await config.paymentDestination.destination(fundingAmount, user);
52
+ // Get payment destinations (with caching)
53
+ const paymentAddresses = await getCachedPaymentDestinations(config, user, paymentConfig.price, config.currency);
54
+ // Always use multi-destination format
19
55
  const charge = {
20
- amount: paymentConfig.price,
21
- currency: config.currency,
22
- network: paymentAddress.network,
23
- destination: paymentAddress.destination,
56
+ destinations: paymentAddresses.map(addr => ({
57
+ network: addr.network,
58
+ currency: config.currency,
59
+ address: addr.destination,
60
+ amount: paymentConfig.price // Each destination gets the full amount
61
+ })),
24
62
  source: user,
25
63
  payeeName: config.payeeName,
26
64
  };
27
- config.logger.debug(`Charging amount ${charge.amount}, destination ${charge.destination}, source ${charge.source}`);
65
+ config.logger.debug(`Charging ${paymentConfig.price} to ${charge.destinations.length} destinations for source ${user}`);
28
66
  const chargeResponse = await config.paymentServer.charge(charge);
29
67
  if (chargeResponse.success) {
30
- config.logger.info(`Charged ${charge.amount} for source ${charge.source}`);
68
+ config.logger.info(`Charged ${paymentConfig.price} for source ${user}`);
31
69
  return;
32
70
  }
33
71
  const existingPaymentId = await paymentConfig.getExistingPaymentId?.();
34
72
  if (existingPaymentId) {
35
73
  config.logger.info(`Found existing payment ID ${existingPaymentId}`);
36
- throw paymentRequiredError(config.server, existingPaymentId, charge.amount);
74
+ throw paymentRequiredError(config.server, existingPaymentId, paymentConfig.price);
37
75
  }
38
76
  const paymentId = await config.paymentServer.createPaymentRequest(charge);
39
77
  config.logger.info(`Created payment request ${paymentId}`);
40
- throw paymentRequiredError(config.server, paymentId, charge.amount);
78
+ throw paymentRequiredError(config.server, paymentId, paymentConfig.price);
41
79
  }
42
80
 
43
81
  export { requirePayment };
@@ -1 +1 @@
1
- {"version":3,"file":"requirePayment.js","sources":["../src/requirePayment.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGO,eAAe,cAAc,CAAC,aAAmC,EAAA;AACtE,IAAA,MAAM,MAAM,GAAG,aAAa,EAAE;IAC9B,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC;IACpC;AACA,IAAA,MAAM,IAAI,GAAG,aAAa,EAAE;IAC5B,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;AACpC,QAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;IAClC;AAEA,IAAA,MAAM,aAAa,GAAG;QACpB,MAAM,EAAE,aAAa,CAAC,KAAK;QAC3B,QAAQ,EAAE,MAAM,CAAC;KAClB;AAED,IAAA,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC;AAEvF,IAAA,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,aAAa,CAAC,KAAK;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,WAAW,EAAE,cAAc,CAAC,WAAW;AACvC,QAAA,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B;AAED,IAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,gBAAA,EAAmB,MAAM,CAAC,MAAM,iBAAiB,MAAM,CAAC,WAAW,CAAA,SAAA,EAAY,MAAM,CAAC,MAAM,CAAA,CAAE,CAAC;IACnH,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;AAChE,IAAA,IAAI,cAAc,CAAC,OAAO,EAAE;AAC1B,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,QAAA,EAAW,MAAM,CAAC,MAAM,eAAe,MAAM,CAAC,MAAM,CAAA,CAAE,CAAC;QAC1E;IACF;IAEA,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,oBAAoB,IAAI;IACtE,IAAI,iBAAiB,EAAE;QACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,0BAAA,EAA6B,iBAAiB,CAAA,CAAE,CAAC;AACpE,QAAA,MAAM,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC;IAC7E;IAEA,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC;IACzE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,wBAAA,EAA2B,SAAS,CAAA,CAAE,CAAC;AAC1D,IAAA,MAAM,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;AACrE;;;;"}
1
+ {"version":3,"file":"requirePayment.js","sources":["../src/requirePayment.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ type PaymentAddress = {
15
15
  };
16
16
  interface PaymentDestination {
17
17
  destination(fundingAmount: FundingAmount, buyerAddress: string): Promise<PaymentAddress>;
18
+ destinations?(fundingAmount: FundingAmount, buyerAddress: string): Promise<PaymentAddress[]>;
18
19
  }
19
20
 
20
21
  type McpMethod = 'notifications/cancelled' | 'initialize' | 'ping' | 'notifications/progress' | 'resources/list' | 'resources/templates/list' | 'resources/read' | 'notifications/resources/list_changed' | 'resources/subscribe' | 'resources/unsubscribe' | 'notifications/resources/updated' | 'prompts/list' | 'prompts/get' | 'notifications/prompts/list_changed' | 'tools/list' | 'tools/call' | 'notifications/tools/list_changed' | 'logging/setLevel' | 'notifications/message' | 'sampling/createMessage' | 'elicitation/create' | 'completion/complete' | 'roots/list' | 'notifications/roots/list_changed';
@@ -24,6 +24,11 @@ class ChainPaymentDestination {
24
24
  network: this.network
25
25
  };
26
26
  }
27
+ async destinations(fundingAmount, buyerAddress) {
28
+ // Return single destination as array for backwards compatibility
29
+ const dest = await this.destination(fundingAmount, buyerAddress);
30
+ return [dest];
31
+ }
27
32
  }
28
33
 
29
34
  /* eslint-disable @typescript-eslint/no-explicit-any, no-console */
@@ -1 +1 @@
1
- {"version":3,"file":"serverTestHelpers.js","sources":["../src/types.ts","../src/paymentDestination.ts","../src/serverTestHelpers.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;;;;AAmDA,IAAY,YAOX;AAPD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,YAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD;AACjD,IAAA,YAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,YAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACvC,CAAC,EAPW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;;MClCX,uBAAuB,CAAA;IAClC,WAAA,CACmB,OAAe,EACf,OAAgB,EAAA;QADhB,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,OAAO,GAAP,OAAO;IACvB;AAEH,IAAA,MAAM,WAAW,CAAC,cAA6B,EAAE,aAAqB,EAAA;QACpE,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,OAAO,EAAE,IAAI,CAAC;SACf;IACH;AACD;;AC7BD;AAcO,MAAM,WAAW,GAAG;AACpB,MAAM,MAAM,GAAG;AAEhB,SAAU,MAAM,CAAC,EACnB,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,EACxB,QAAQ,GAAG,MAAM,EACjB,OAAO,GAAG,QAAQ,EAClB,WAAW,GAAG,WAAW,EACzB,MAAM,GAAG,MAAM,EAAA,GAOb,EAAE,EAAA;IAEN,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE;AAC3D;AAEO,MAAM,aAAa,GAAG,MAAM,CAAC,EAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAC;AAEtD,MAAM,UAAU,GAAG,MAAM,CAAC,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAC;SAEvC,MAAM,GAAA;IACpB,OAAO;QACL,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,KAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC;QACxE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,KAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC;QACtE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,KAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC;QACtE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,KAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC;KACzE;AACH;AAEM,SAAU,MAAM,CAAC,IAAA,GAA4B,EAAE,EAAA;;AAEnD,IAAA,MAAM,UAAU,GAAG,MAAM,EAAE;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,aAAa,EAAE;AACnD,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI;QACtC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAClD,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAC1D,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY;KAClD;AAER,IAAA,MAAM,MAAM,GAAe;QACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,IAAI,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC;AAC/F,QAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG;AAChC,QAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM;AACjC,QAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,4BAA4B;AACnD,QAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,kBAAkB;AAC/C,QAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;AACjC,QAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;QAC/B,OAAO;QACP,WAAW;AACX,QAAA,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,aAAa,EAAE;AACpD,QAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,UAAU;AACjC,QAAA,GAAG;KACJ;AAED,IAAA,OAAO,MAAM;AACf;SAEgB,aAAa,CAAC,EAC5B,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAC,CAAC,EAC5E,oBAAoB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,EAC5E,GAAG,EAAE,EAAA;IACJ,OAAO;QACL,MAAM;QACN,oBAAoB;KACO;AAC/B;SAEgB,UAAU,CAAC,EAAC,MAAM,GAAG,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,KAIzE,EAAE,EAAA;IAEJ,OAAO,EAAE,OAAO,EAAE,KAAc,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;AACxD;SAEgB,cAAc,CAAC,EAC3B,QAAQ,GAAG,UAAU,EACrB,IAAI,GAAG,EAAC,QAAQ,EAAE,MAAM,EAAC,MAIvB,EAAE,EAAA;IAEN,OAAO,UAAU,CAAC,EAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAC,EAAC,CAAC;AACtF;AAEM,SAAU,eAAe,CAAC,EAC5B,IAAI,GAAG,EAAE,EACT,MAAM,GAAG,MAAM,EACf,GAAG,GAAG,GAAG,EACT,OAAO,GAAG,EAAC,cAAc,EAAE,kBAAkB,EAAC,EAAA,GAM5C,EAAE,EAAA;IAEN,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AACvC,IAAA,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC;QAC1B,IAAI,GAAA;AACF,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACrB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACjB;AACD,KAAA,CAAoB;AACrB,IAAA,MAAM,CAAC,MAAM,GAAG,MAAM;AACtB,IAAA,MAAM,CAAC,GAAG,GAAG,GAAG;AAChB,IAAA,MAAM,CAAC,OAAO,GAAG,OAAO;AACxB,IAAA,OAAO,MAAM;AACf;AAEM,SAAU,mBAAmB,CAAC,EAChC,UAAU,GAAG,SAAS,EACtB,GAAG,GAAG,GAAG,GAAA,GAIP,EAAE,EAAA;AAEN,IAAA,OAAO,eAAe,CAAC;QACrB,IAAI,EAAE,cAAc,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAC,CAAC;QAC5C,OAAO,EAAE,EAAC,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAC;QAC1E;AACD,KAAA,CAAC;AACJ;AAEM,SAAU,WAAW,CAAC,EAC1B,gBAAgB,GAAG,SAAS,EAAE,EAC9B,mBAAmB,GAAG;AACpB,IAAA,MAAM,EAAE,sBAAsB;AAC/B,CAAA,EAAA,GAIC,EAAE,EAAA;IACJ,OAAO;QACL,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;QAC5D,0BAA0B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,mBAAmB;KACxC;AACrC;AAEM,SAAU,SAAS,CAAC,EACtB,MAAM,GAAG,IAAI,EACb,GAAG,GAAG,WAAW,EACjB,KAAK,GAAG,YAAY,EACpB,GAAG,GAAG,qBAAqB,KACL,EAAE,EAAA;IAE1B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;AACpC;AAEM,SAAU,UAAU,CAAC,EACzB,IAAI,GAAG,SAAS,EAAE,EAClB,KAAK,GAAG,YAAY,EACpB,MAAM,GAAG,IAAI,EACb,OAAO,GAAG,YAAY,CAAC,QAAQ,EAC/B,mBAAmB,GAAG,0DAA0D,EAAA,GAO9E,EAAE,EAAA;IACJ,IAAI,MAAM,EAAE;AACV,QAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAqB;IACnD;SAAO;QACL,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAoB;IAChF;AACF;SAEgB,cAAc,GAAA;IAC5B,OAAO;AACL,QAAA,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;AAClB,QAAA,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;AAClB,QAAA,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;AAClB,QAAA,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;KACgB;AAChC;;;;"}
1
+ {"version":3,"file":"serverTestHelpers.js","sources":["../src/types.ts","../src/paymentDestination.ts","../src/serverTestHelpers.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;;;;AAmDA,IAAY,YAOX;AAPD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,YAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD;AACjD,IAAA,YAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,YAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACvC,CAAC,EAPW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;;MChCX,uBAAuB,CAAA;IAClC,WAAA,CACmB,OAAe,EACf,OAAgB,EAAA;QADhB,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,OAAO,GAAP,OAAO;IACvB;AAEH,IAAA,MAAM,WAAW,CAAC,cAA6B,EAAE,aAAqB,EAAA;QACpE,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,OAAO,EAAE,IAAI,CAAC;SACf;IACH;AAEA,IAAA,MAAM,YAAY,CAAC,aAA4B,EAAE,YAAoB,EAAA;;QAEnE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC;IACf;AACD;;ACrCD;AAcO,MAAM,WAAW,GAAG;AACpB,MAAM,MAAM,GAAG;AAEhB,SAAU,MAAM,CAAC,EACnB,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,EACxB,QAAQ,GAAG,MAAM,EACjB,OAAO,GAAG,QAAQ,EAClB,WAAW,GAAG,WAAW,EACzB,MAAM,GAAG,MAAM,EAAA,GAOb,EAAE,EAAA;IAEN,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE;AAC3D;AAEO,MAAM,aAAa,GAAG,MAAM,CAAC,EAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAC;AAEtD,MAAM,UAAU,GAAG,MAAM,CAAC,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAC;SAEvC,MAAM,GAAA;IACpB,OAAO;QACL,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,KAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC;QACxE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,KAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC;QACtE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,KAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC;QACtE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,KAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC;KACzE;AACH;AAEM,SAAU,MAAM,CAAC,IAAA,GAA4B,EAAE,EAAA;;AAEnD,IAAA,MAAM,UAAU,GAAG,MAAM,EAAE;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,aAAa,EAAE;AACnD,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI;QACtC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAClD,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAC1D,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY;KAClD;AAER,IAAA,MAAM,MAAM,GAAe;QACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,IAAI,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC;AAC/F,QAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG;AAChC,QAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM;AACjC,QAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,4BAA4B;AACnD,QAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,kBAAkB;AAC/C,QAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;AACjC,QAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;QAC/B,OAAO;QACP,WAAW;AACX,QAAA,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,aAAa,EAAE;AACpD,QAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,UAAU;AACjC,QAAA,GAAG;KACJ;AAED,IAAA,OAAO,MAAM;AACf;SAEgB,aAAa,CAAC,EAC5B,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAC,CAAC,EAC5E,oBAAoB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,EAC5E,GAAG,EAAE,EAAA;IACJ,OAAO;QACL,MAAM;QACN,oBAAoB;KACO;AAC/B;SAEgB,UAAU,CAAC,EAAC,MAAM,GAAG,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,KAIzE,EAAE,EAAA;IAEJ,OAAO,EAAE,OAAO,EAAE,KAAc,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;AACxD;SAEgB,cAAc,CAAC,EAC3B,QAAQ,GAAG,UAAU,EACrB,IAAI,GAAG,EAAC,QAAQ,EAAE,MAAM,EAAC,MAIvB,EAAE,EAAA;IAEN,OAAO,UAAU,CAAC,EAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAC,EAAC,CAAC;AACtF;AAEM,SAAU,eAAe,CAAC,EAC5B,IAAI,GAAG,EAAE,EACT,MAAM,GAAG,MAAM,EACf,GAAG,GAAG,GAAG,EACT,OAAO,GAAG,EAAC,cAAc,EAAE,kBAAkB,EAAC,EAAA,GAM5C,EAAE,EAAA;IAEN,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AACvC,IAAA,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC;QAC1B,IAAI,GAAA;AACF,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACrB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACjB;AACD,KAAA,CAAoB;AACrB,IAAA,MAAM,CAAC,MAAM,GAAG,MAAM;AACtB,IAAA,MAAM,CAAC,GAAG,GAAG,GAAG;AAChB,IAAA,MAAM,CAAC,OAAO,GAAG,OAAO;AACxB,IAAA,OAAO,MAAM;AACf;AAEM,SAAU,mBAAmB,CAAC,EAChC,UAAU,GAAG,SAAS,EACtB,GAAG,GAAG,GAAG,GAAA,GAIP,EAAE,EAAA;AAEN,IAAA,OAAO,eAAe,CAAC;QACrB,IAAI,EAAE,cAAc,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAC,CAAC;QAC5C,OAAO,EAAE,EAAC,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAC;QAC1E;AACD,KAAA,CAAC;AACJ;AAEM,SAAU,WAAW,CAAC,EAC1B,gBAAgB,GAAG,SAAS,EAAE,EAC9B,mBAAmB,GAAG;AACpB,IAAA,MAAM,EAAE,sBAAsB;AAC/B,CAAA,EAAA,GAIC,EAAE,EAAA;IACJ,OAAO;QACL,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;QAC5D,0BAA0B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,mBAAmB;KACxC;AACrC;AAEM,SAAU,SAAS,CAAC,EACtB,MAAM,GAAG,IAAI,EACb,GAAG,GAAG,WAAW,EACjB,KAAK,GAAG,YAAY,EACpB,GAAG,GAAG,qBAAqB,KACL,EAAE,EAAA;IAE1B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;AACpC;AAEM,SAAU,UAAU,CAAC,EACzB,IAAI,GAAG,SAAS,EAAE,EAClB,KAAK,GAAG,YAAY,EACpB,MAAM,GAAG,IAAI,EACb,OAAO,GAAG,YAAY,CAAC,QAAQ,EAC/B,mBAAmB,GAAG,0DAA0D,EAAA,GAO9E,EAAE,EAAA;IACJ,IAAI,MAAM,EAAE;AACV,QAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAqB;IACnD;SAAO;QACL,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAoB;IAChF;AACF;SAEgB,cAAc,GAAA;IAC5B,OAAO;AACL,QAAA,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;AAClB,QAAA,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;AAClB,QAAA,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;AAClB,QAAA,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;KACgB;AAChC;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atxp/server",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "ATXP Server - MCP server implementation with payment processing capabilities",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,7 +38,7 @@
38
38
  "pack:dry": "npm pack --dry-run"
39
39
  },
40
40
  "dependencies": {
41
- "@atxp/common": "0.5.0",
41
+ "@atxp/common": "0.6.0",
42
42
  "@modelcontextprotocol/sdk": "^1.15.0",
43
43
  "bignumber.js": "^9.3.0",
44
44
  "oauth4webapi": "^3.5.0"