@atxp/client 0.2.13 → 0.2.15

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/README.md CHANGED
@@ -6,107 +6,6 @@ ATXP Client - MCP client with OAuth authentication and payment processing capabi
6
6
 
7
7
  The ATXP Client package provides a comprehensive solution for connecting to MCP (Model Context Protocol) servers that require OAuth authentication and payment processing. It handles the complete flow from initial connection through authentication, payment verification, and tool execution.
8
8
 
9
- **🚀 Getting Started**: Learn more about ATXP in [the docs](https://docs.atxp.ai/atxp), and follow the [Agent Quickstart](https://docs.atxp.ai/client) to build your first ATXP-powered agent.
9
+ ## Getting Started
10
10
 
11
- ## Features
12
-
13
- - 🔐 **OAuth Authentication**: Full OAuth 2.0 flow implementation
14
- - 💰 **Payment Processing**: Solana-based payment integration
15
- - 🔌 **MCP Protocol**: Complete Model Context Protocol client implementation
16
- - 📱 **Multi-Platform**: Supports Node.js and React Native/Expo environments
17
- - 🛡️ **Type Safety**: Full TypeScript support with comprehensive type definitions
18
- - 🔄 **Event System**: Real-time connection and authentication status updates
19
-
20
- ## Installation
21
-
22
- ```bash
23
- npm install @atxp/client
24
- ```
25
-
26
- ## Basic Usage
27
-
28
- ```typescript
29
- import { ATXPClient } from '@atxp/client';
30
-
31
- const client = new ATXPClient({
32
- serverUrl: 'http://localhost:3010',
33
- clientId: 'your-oauth-client-id',
34
- authServerUrl: 'https://auth.atxp.ai'
35
- });
36
-
37
- // Connect and authenticate
38
- await client.connect();
39
-
40
- // Call tools that require payment
41
- const result = await client.callTool('hello_world', {
42
- name: 'Alice',
43
- message: 'Hello from ATXP!'
44
- });
45
- ```
46
-
47
- ## Platform Support
48
-
49
- - **Node.js**: Full support with in-memory OAuth database (install `@atxp/sqlite` for persistence)
50
- - **React Native/Expo**: Requires `expo-crypto` peer dependency
51
-
52
- ## Authentication Flow
53
-
54
- 1. Client initiates connection to MCP server
55
- 2. Server responds with OAuth challenge
56
- 3. Client redirects user to authentication server
57
- 4. User completes OAuth flow and returns with authorization code
58
- 5. Client exchanges code for access token
59
- 6. Authenticated requests can now be made to the server
60
-
61
- ## Payment Processing
62
-
63
- When a tool requires payment, the client automatically:
64
-
65
- 1. Detects payment requirement from server response
66
- 2. Creates Solana payment transaction
67
- 3. Prompts user to approve payment
68
- 4. Submits payment proof to server
69
- 5. Retries original tool call upon payment confirmation
70
-
71
- ## API Reference
72
-
73
- ### ATXPClient
74
-
75
- Main client class for ATXP protocol communication.
76
-
77
- #### Constructor Options
78
-
79
- ```typescript
80
- interface ATXPClientConfig {
81
- serverUrl: string; // MCP server URL
82
- clientId: string; // OAuth client ID
83
- authServerUrl?: string; // Auth server URL (defaults to https://auth.atxp.ai)
84
- oAuthDb?: OAuthDb; // Custom OAuth database implementation
85
- }
86
- ```
87
-
88
- #### Methods
89
-
90
- - `connect()`: Establish connection to MCP server
91
- - `disconnect()`: Close connection and cleanup resources
92
- - `callTool(name, args)`: Execute server tool with automatic auth/payment handling
93
- - `listTools()`: Get available tools from server
94
- - `getAuthStatus()`: Check current authentication status
95
-
96
- #### Events
97
-
98
- - `authenticated`: Fired when OAuth flow completes successfully
99
- - `paymentRequired`: Fired when tool execution requires payment
100
- - `paymentCompleted`: Fired when payment is confirmed
101
- - `error`: Fired on connection or protocol errors
102
-
103
- ## Examples
104
-
105
- See the `examples/` directory for complete working examples:
106
-
107
- - `examples/basic/`: Simple Node.js client implementation
108
- - `examples/server/`: Compatible MCP server with payment requirements
109
-
110
- ## License
111
-
112
- MIT
11
+ Learn more about ATXP in [the docs](https://docs.atxp.ai/atxp), and follow the [Agent Quickstart](https://docs.atxp.ai/client) to build your first ATXP-powered agent.
@@ -1 +1 @@
1
- {"version":3,"file":"atxpClient.d.ts","sourceRoot":"","sources":["../src/atxpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAEnG,KAAK,0BAA0B,GAAG,WAAW,GAAG,SAAS,CAAC;AAC1D,KAAK,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;AAC3E,KAAK,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;AAC3E,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC9E,KAAK,2BAA2B,GAAG,SAAS,GAAG,QAAQ,CAAC;AAExD,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,2BAA2B,CAAC,CAiBnG,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAehE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,6BAA6B,CAoBxF;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAQlE"}
1
+ {"version":3,"file":"atxpClient.d.ts","sourceRoot":"","sources":["../src/atxpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAEnG,KAAK,0BAA0B,GAAG,WAAW,GAAG,SAAS,CAAC;AAC1D,KAAK,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;AAC3E,KAAK,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;AAC3E,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC9E,KAAK,2BAA2B,GAAG,SAAS,GAAG,QAAQ,CAAC;AAYxD,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,2BAA2B,CAAC,CAiBnG,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAehE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,6BAA6B,CAoBxF;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAQlE"}
@@ -2,11 +2,20 @@ import { MemoryOAuthDb, ConsoleLogger, DEFAULT_AUTHORIZATION_SERVER } from "@atx
2
2
  import { ATXPFetcher } from "./atxpFetcher.js";
3
3
  import { Client } from "@modelcontextprotocol/sdk/client/index.js";
4
4
  import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
5
+ // Detect if we're in a browser environment and bind fetch appropriately
6
+ const getFetch = () => {
7
+ if (typeof window !== 'undefined' && typeof window.fetch === 'function') {
8
+ // In browser, bind fetch to window to avoid "Illegal invocation" errors
9
+ return fetch.bind(window);
10
+ }
11
+ // In Node.js or other environments, use fetch as-is
12
+ return fetch;
13
+ };
5
14
  export const DEFAULT_CLIENT_CONFIG = {
6
15
  allowedAuthorizationServers: [DEFAULT_AUTHORIZATION_SERVER],
7
16
  approvePayment: async (_p) => true,
8
- fetchFn: fetch,
9
- oAuthChannelFetch: fetch,
17
+ fetchFn: getFetch(),
18
+ oAuthChannelFetch: getFetch(),
10
19
  allowHttp: false, // may be overridden in buildClientConfig by process.env.NODE_ENV
11
20
  clientInfo: {
12
21
  name: 'ATXPClient',
@@ -1 +1 @@
1
- {"version":3,"file":"atxpClient.js","sourceRoot":"","sources":["../src/atxpClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atxpClient.js","sourceRoot":"","sources":["../src/atxpClient.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Account, PaymentMaker, Hex } from './types.js';
2
+ export declare const USDC_CONTRACT_ADDRESS_BASE = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
2
3
  export declare class BaseAccount implements Account {
3
4
  accountId: string;
4
5
  paymentMakers: {
@@ -1 +1 @@
1
- {"version":3,"file":"baseAccount.d.ts","sourceRoot":"","sources":["../src/baseAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAI7D,qBAAa,WAAY,YAAW,OAAO;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAC;gBAEnC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG;CAerD"}
1
+ {"version":3,"file":"baseAccount.d.ts","sourceRoot":"","sources":["../src/baseAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAM7D,eAAO,MAAM,0BAA0B,+CAA+C,CAAC;AAEvF,qBAAa,WAAY,YAAW,OAAO;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAC;gBAEnC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG;CAoBrD"}
@@ -1,5 +1,8 @@
1
1
  import { privateKeyToAccount } from 'viem/accounts';
2
2
  import { BasePaymentMaker } from './basePaymentMaker.js';
3
+ import { createWalletClient, http } from 'viem';
4
+ import { base } from 'viem/chains';
5
+ export const USDC_CONTRACT_ADDRESS_BASE = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"; // USDC on Base mainnet
3
6
  export class BaseAccount {
4
7
  constructor(baseRPCUrl, sourceSecretKey) {
5
8
  if (!baseRPCUrl) {
@@ -10,8 +13,13 @@ export class BaseAccount {
10
13
  }
11
14
  const account = privateKeyToAccount(sourceSecretKey);
12
15
  this.accountId = account.address;
16
+ const walletClient = createWalletClient({
17
+ account: account,
18
+ chain: base,
19
+ transport: http(baseRPCUrl),
20
+ });
13
21
  this.paymentMakers = {
14
- 'base': new BasePaymentMaker(baseRPCUrl, sourceSecretKey),
22
+ 'base': new BasePaymentMaker(baseRPCUrl, walletClient),
15
23
  };
16
24
  }
17
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"baseAccount.js","sourceRoot":"","sources":["../src/baseAccount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,OAAO,WAAW;IAItB,YAAY,UAAkB,EAAE,eAAoB;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG;YACnB,MAAM,EAAE,IAAI,gBAAgB,CAAC,UAAU,EAAE,eAAe,CAAC;SAC1D,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"baseAccount.js","sourceRoot":"","sources":["../src/baseAccount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,MAAM,CAAC,MAAM,0BAA0B,GAAG,4CAA4C,CAAC,CAAC,uBAAuB;AAE/G,MAAM,OAAO,WAAW;IAItB,YAAY,UAAkB,EAAE,eAAoB;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACtC,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG;YACnB,MAAM,EAAE,IAAI,gBAAgB,CAAC,UAAU,EAAE,YAAY,CAAC;SACvD,CAAA;IACH,CAAC;CACF"}
@@ -1,14 +1,16 @@
1
- import type { PaymentMaker, Hex } from './types.js';
1
+ import type { PaymentMaker } from './types.js';
2
2
  import { Logger, Currency } from '@atxp/common';
3
+ import { WalletClient, PublicActions } from "viem";
4
+ type ExtendedWalletClient = WalletClient & PublicActions;
3
5
  export declare class BasePaymentMaker implements PaymentMaker {
4
- private signingClient;
5
- private account;
6
- private logger;
7
- constructor(baseRPCUrl: string, sourceSecretKey: Hex, logger?: Logger);
8
- generateJWT: ({ paymentRequestId, codeChallenge }: {
6
+ protected signingClient: ExtendedWalletClient;
7
+ protected logger: Logger;
8
+ constructor(baseRPCUrl: string, walletClient: WalletClient, logger?: Logger);
9
+ generateJWT({ paymentRequestId, codeChallenge }: {
9
10
  paymentRequestId: string;
10
11
  codeChallenge: string;
11
- }) => Promise<string>;
12
- makePayment: (amount: BigNumber, currency: Currency, receiver: string) => Promise<string>;
12
+ }): Promise<string>;
13
+ makePayment(amount: BigNumber, currency: Currency, receiver: string): Promise<string>;
13
14
  }
15
+ export {};
14
16
  //# sourceMappingURL=basePaymentMaker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"basePaymentMaker.d.ts","sourceRoot":"","sources":["../src/basePaymentMaker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAqDhD,qBAAa,gBAAiB,YAAW,YAAY;IACnD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,MAAM,CAAS;gBAEX,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM;IAiBrE,WAAW,GAAS,qCAAmC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAC,KAAG,OAAO,CAAC,MAAM,CAAC,CA6BzH;IAED,WAAW,GAAU,QAAQ,SAAS,EAAE,UAAU,QAAQ,EAAE,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CA6D7F;CACF"}
1
+ {"version":3,"file":"basePaymentMaker.d.ts","sourceRoot":"","sources":["../src/basePaymentMaker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAO,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAKL,YAAY,EACZ,aAAa,EACd,MAAM,MAAM,CAAC;AAMd,KAAK,oBAAoB,GAAG,YAAY,GAAG,aAAa,CAAC;AA6CzD,qBAAa,gBAAiB,YAAW,YAAY;IACnD,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC9C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEb,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM;IAerE,WAAW,CAAC,EAAC,gBAAgB,EAAE,aAAa,EAAC,EAAE;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAqClH,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA8D5F"}
@@ -1,10 +1,18 @@
1
1
  import { InsufficientFundsError as InsufficientFundsErrorClass, PaymentNetworkError as PaymentNetworkErrorClass } from './types.js';
2
2
  import { ConsoleLogger } from '@atxp/common';
3
- import { createWalletClient, http, parseEther, publicActions, encodeFunctionData, } from "viem";
4
- import { privateKeyToAccount } from "viem/accounts";
3
+ import { parseEther, publicActions, encodeFunctionData, } from "viem";
5
4
  import { base } from "viem/chains";
6
5
  import { BigNumber } from "bignumber.js";
7
- const USDC_CONTRACT_ADDRESS = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"; // USDC on Base mainnet
6
+ import { USDC_CONTRACT_ADDRESS_BASE } from './baseAccount.js';
7
+ // Helper function to convert to base64url that works in both Node.js and browsers
8
+ function toBase64Url(data) {
9
+ // Convert string to base64
10
+ const base64 = typeof Buffer !== 'undefined'
11
+ ? Buffer.from(data).toString('base64')
12
+ : btoa(data);
13
+ // Convert base64 to base64url
14
+ return base64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
15
+ }
8
16
  const USDC_DECIMALS = 6;
9
17
  const ERC20_ABI = [
10
18
  {
@@ -38,98 +46,100 @@ const ERC20_ABI = [
38
46
  }
39
47
  ];
40
48
  export class BasePaymentMaker {
41
- constructor(baseRPCUrl, sourceSecretKey, logger) {
42
- this.generateJWT = async ({ paymentRequestId, codeChallenge }) => {
43
- const headerObj = { alg: 'ES256K' }; // this value is specific to Base
44
- const payloadObj = {
45
- sub: this.account.address,
46
- iss: 'accounts.atxp.ai',
47
- aud: 'https://auth.atxp.ai',
48
- iat: Math.floor(Date.now() / 1000),
49
- exp: Math.floor(Date.now() / 1000) + 60 * 60,
50
- ...(codeChallenge ? { code_challenge: codeChallenge } : {}),
51
- ...(paymentRequestId ? { payment_request_id: paymentRequestId } : {}),
52
- };
53
- const header = Buffer.from(JSON.stringify(headerObj)).toString('base64url');
54
- const payload = Buffer.from(JSON.stringify(payloadObj)).toString('base64url');
55
- const message = `${header}.${payload}`;
56
- // For Ethereum wallets, we need to use personal_sign format
57
- const messageBytes = Buffer.from(message, 'utf8');
58
- const signResult = await this.signingClient.signMessage({
59
- account: this.account,
60
- message: { raw: messageBytes },
61
- });
62
- // The paymcp server expects ES256K signatures as hex strings with 0x prefix
63
- // The signResult from viem is already in hex format with 0x prefix (65 bytes)
64
- // We encode the hex string itself (including 0x) as base64url
65
- const signature = Buffer.from(signResult, 'utf8').toString('base64url');
66
- return `${header}.${payload}.${signature}`;
49
+ constructor(baseRPCUrl, walletClient, logger) {
50
+ if (!baseRPCUrl) {
51
+ throw new Error('baseRPCUrl was empty');
52
+ }
53
+ if (!walletClient) {
54
+ throw new Error('walletClient was empty');
55
+ }
56
+ if (!walletClient.account) {
57
+ throw new Error('walletClient.account was empty');
58
+ }
59
+ this.signingClient = walletClient.extend(publicActions);
60
+ this.logger = logger ?? new ConsoleLogger();
61
+ }
62
+ async generateJWT({ paymentRequestId, codeChallenge }) {
63
+ const headerObj = { alg: 'ES256K' };
64
+ const payloadObj = {
65
+ sub: this.signingClient.account.address,
66
+ iss: 'accounts.atxp.ai',
67
+ aud: 'https://auth.atxp.ai',
68
+ iat: Math.floor(Date.now() / 1000),
69
+ exp: Math.floor(Date.now() / 1000) + 60 * 60,
70
+ ...(codeChallenge ? { code_challenge: codeChallenge } : {}),
71
+ ...(paymentRequestId ? { payment_request_id: paymentRequestId } : {}),
67
72
  };
68
- this.makePayment = async (amount, currency, receiver) => {
69
- if (currency.toUpperCase() !== 'USDC') {
70
- throw new PaymentNetworkErrorClass('Only USDC currency is supported; received ' + currency);
71
- }
72
- this.logger.info(`Making payment of ${amount} ${currency} to ${receiver} on Base`);
73
- try {
74
- // Check balance before attempting payment
75
- const balanceRaw = await this.signingClient.readContract({
76
- address: USDC_CONTRACT_ADDRESS,
77
- abi: ERC20_ABI,
78
- functionName: 'balanceOf',
79
- args: [this.account.address],
80
- });
81
- const balance = new BigNumber(balanceRaw.toString()).dividedBy(10 ** USDC_DECIMALS);
82
- if (balance.lt(amount)) {
83
- this.logger.warn(`Insufficient ${currency} balance for payment. Required: ${amount}, Available: ${balance}`);
84
- throw new InsufficientFundsErrorClass(currency, amount, balance, 'base');
85
- }
86
- // Convert amount to USDC units (6 decimals) as BigInt
87
- const amountInUSDCUnits = BigInt(amount.multipliedBy(10 ** USDC_DECIMALS).toFixed(0));
88
- const data = encodeFunctionData({
89
- abi: ERC20_ABI,
90
- functionName: "transfer",
91
- args: [receiver, amountInUSDCUnits],
92
- });
93
- const hash = await this.signingClient.sendTransaction({
94
- chain: base,
95
- account: this.account,
96
- to: USDC_CONTRACT_ADDRESS,
97
- data: data,
98
- value: parseEther('0'),
99
- });
100
- // Wait for transaction confirmation with more blocks to ensure propagation
101
- this.logger.info(`Waiting for transaction confirmation: ${hash}`);
102
- const receipt = await this.signingClient.waitForTransactionReceipt({
103
- hash: hash,
104
- confirmations: 3 // Wait for 3 confirmations to ensure better propagation
105
- });
106
- if (receipt.status === 'reverted') {
107
- throw new PaymentNetworkErrorClass(`Transaction reverted: ${hash}`, new Error('Transaction reverted on chain'));
108
- }
109
- this.logger.info(`Transaction confirmed: ${hash} in block ${receipt.blockNumber}`);
110
- return hash;
73
+ const header = toBase64Url(JSON.stringify(headerObj));
74
+ const payload = toBase64Url(JSON.stringify(payloadObj));
75
+ const message = `${header}.${payload}`;
76
+ const messageBytes = typeof Buffer !== 'undefined'
77
+ ? Buffer.from(message, 'utf8')
78
+ : new TextEncoder().encode(message);
79
+ const signResult = await this.signingClient.signMessage({
80
+ account: this.signingClient.account,
81
+ message: { raw: messageBytes },
82
+ });
83
+ // For ES256K, signature is typically 65 bytes (r,s,v)
84
+ // Server expects the hex signature string (with 0x prefix) to be base64url encoded
85
+ // This creates: base64url("0x6eb2565...") not base64url(rawBytes)
86
+ // Pass the hex string directly to toBase64Url which will UTF-8 encode and base64url it
87
+ const signature = toBase64Url(signResult);
88
+ const jwt = `${header}.${payload}.${signature}`;
89
+ this.logger.info(`Generated ES256K JWT: ${jwt}`);
90
+ return jwt;
91
+ }
92
+ async makePayment(amount, currency, receiver) {
93
+ if (currency.toUpperCase() !== 'USDC') {
94
+ throw new PaymentNetworkErrorClass('Only USDC currency is supported; received ' + currency);
95
+ }
96
+ this.logger.info(`Making payment of ${amount} ${currency} to ${receiver} on Base from ${this.signingClient.account.address}`);
97
+ try {
98
+ // Check balance before attempting payment
99
+ const balanceRaw = await this.signingClient.readContract({
100
+ address: USDC_CONTRACT_ADDRESS_BASE,
101
+ abi: ERC20_ABI,
102
+ functionName: 'balanceOf',
103
+ args: [this.signingClient.account.address],
104
+ });
105
+ const balance = new BigNumber(balanceRaw.toString()).dividedBy(10 ** USDC_DECIMALS);
106
+ if (balance.lt(amount)) {
107
+ this.logger.warn(`Insufficient ${currency} balance for payment. Required: ${amount}, Available: ${balance}`);
108
+ throw new InsufficientFundsErrorClass(currency, amount, balance, 'base');
111
109
  }
112
- catch (error) {
113
- if (error instanceof InsufficientFundsErrorClass || error instanceof PaymentNetworkErrorClass) {
114
- throw error;
115
- }
116
- // Wrap other errors in PaymentNetworkError
117
- throw new PaymentNetworkErrorClass(`Payment failed on Base network: ${error.message}`, error);
110
+ // Convert amount to USDC units (6 decimals) as BigInt
111
+ const amountInUSDCUnits = BigInt(amount.multipliedBy(10 ** USDC_DECIMALS).toFixed(0));
112
+ const data = encodeFunctionData({
113
+ abi: ERC20_ABI,
114
+ functionName: "transfer",
115
+ args: [receiver, amountInUSDCUnits],
116
+ });
117
+ const hash = await this.signingClient.sendTransaction({
118
+ chain: base,
119
+ account: this.signingClient.account,
120
+ to: USDC_CONTRACT_ADDRESS_BASE,
121
+ data: data,
122
+ value: parseEther('0'),
123
+ });
124
+ // Wait for transaction confirmation with more blocks to ensure propagation
125
+ this.logger.info(`Waiting for transaction confirmation: ${hash}`);
126
+ const receipt = await this.signingClient.waitForTransactionReceipt({
127
+ hash: hash,
128
+ confirmations: 3 // Wait for 3 confirmations to ensure better propagation
129
+ });
130
+ if (receipt.status === 'reverted') {
131
+ throw new PaymentNetworkErrorClass(`Transaction reverted: ${hash}`, new Error('Transaction reverted on chain'));
118
132
  }
119
- };
120
- if (!baseRPCUrl) {
121
- throw new Error('Base RPC URL is required');
133
+ this.logger.info(`Transaction confirmed: ${hash} in block ${receipt.blockNumber}`);
134
+ return hash;
122
135
  }
123
- if (!sourceSecretKey) {
124
- throw new Error('Source secret key is required');
136
+ catch (error) {
137
+ if (error instanceof InsufficientFundsErrorClass || error instanceof PaymentNetworkErrorClass) {
138
+ throw error;
139
+ }
140
+ // Wrap other errors in PaymentNetworkError
141
+ throw new PaymentNetworkErrorClass(`Payment failed on Base network: ${error.message}`, error);
125
142
  }
126
- this.account = privateKeyToAccount(sourceSecretKey);
127
- this.signingClient = createWalletClient({
128
- account: this.account,
129
- chain: base,
130
- transport: http(baseRPCUrl),
131
- }).extend(publicActions);
132
- this.logger = logger ?? new ConsoleLogger();
133
143
  }
134
144
  }
135
145
  //# sourceMappingURL=basePaymentMaker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"basePaymentMaker.js","sourceRoot":"","sources":["../src/basePaymentMaker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,IAAI,2BAA2B,EAAE,mBAAmB,IAAI,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEpI,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAEL,kBAAkB,EAClB,IAAI,EACJ,UAAU,EACV,aAAa,EACb,kBAAkB,GAGnB,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,MAAM,qBAAqB,GAAG,4CAA4C,CAAC,CAAC,uBAAuB;AACnG,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,SAAS,GAAG;IAChB;QACE,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;YAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SACpC;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACrC,IAAI,EAAE,UAAU;KACjB;IACD;QACI,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE;YACN;gBACI,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,SAAS;aACpB;SACJ;QACD,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE;YACP;gBACI,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS;aACpB;SACJ;QACD,SAAS,EAAE,KAAK;QAChB,iBAAiB,EAAE,MAAM;QACzB,MAAM,EAAE,UAAU;KACrB;CACF,CAAC;AAEF,MAAM,OAAO,gBAAgB;IAK3B,YAAY,UAAkB,EAAE,eAAoB,EAAE,MAAe;QAiBrE,gBAAW,GAAG,KAAK,EAAC,EAAC,gBAAgB,EAAE,aAAa,EAAoD,EAAmB,EAAE;YAC3H,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,iCAAiC;YACtE,MAAM,UAAU,GAAG;gBACjB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBACzB,GAAG,EAAE,kBAAkB;gBACvB,GAAG,EAAE,sBAAsB;gBAC3B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAClC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;gBAC5C,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3C,CAAC;YAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;YAEvC,4DAA4D;YAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBACtD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE;aAC/B,CAAC,CAAC;YAEH,4EAA4E;YAC5E,8EAA8E;YAC9E,8DAA8D;YAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAExE,OAAO,GAAG,MAAM,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QAC7C,CAAC,CAAA;QAED,gBAAW,GAAG,KAAK,EAAE,MAAiB,EAAE,QAAkB,EAAE,QAAgB,EAAmB,EAAE;YAC/F,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;gBACtC,MAAM,IAAI,wBAAwB,CAAC,4CAA4C,GAAG,QAAQ,CAAC,CAAC;YAC9F,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,IAAI,QAAQ,OAAO,QAAQ,UAAU,CAAC,CAAC;YAEnF,IAAI,CAAC;gBACH,0CAA0C;gBAC1C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;oBACvD,OAAO,EAAE,qBAAgC;oBACzC,GAAG,EAAE,SAAS;oBACd,YAAY,EAAE,WAAW;oBACzB,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;iBAC7B,CAAW,CAAC;gBAEb,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,aAAa,CAAC,CAAC;gBAEpF,IAAI,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,QAAQ,mCAAmC,MAAM,gBAAgB,OAAO,EAAE,CAAC,CAAC;oBAC7G,MAAM,IAAI,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC3E,CAAC;gBAED,sDAAsD;gBACtD,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEtF,MAAM,IAAI,GAAG,kBAAkB,CAAC;oBAC9B,GAAG,EAAE,SAAS;oBACd,YAAY,EAAE,UAAU;oBACxB,IAAI,EAAE,CAAC,QAAmB,EAAE,iBAAiB,CAAC;iBAC/C,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;oBACpD,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,EAAE,EAAE,qBAAqB;oBACzB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC;iBACvB,CAAC,CAAC;gBAEH,2EAA2E;gBAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC;gBAClE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC;oBACjE,IAAI,EAAE,IAAW;oBACjB,aAAa,EAAE,CAAC,CAAE,wDAAwD;iBAC3E,CAAC,CAAC;gBAEH,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBAClC,MAAM,IAAI,wBAAwB,CAAC,yBAAyB,IAAI,EAAE,EAAE,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;gBAClH,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,aAAa,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBAEnF,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,2BAA2B,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;oBAC9F,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,2CAA2C;gBAC3C,MAAM,IAAI,wBAAwB,CAAC,mCAAoC,KAAe,CAAC,OAAO,EAAE,EAAE,KAAc,CAAC,CAAC;YACpH,CAAC;QACH,CAAC,CAAA;QA5GC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC;YACtC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;SAC5B,CAAC,CAAC,MAAM,CAAC,aAAa,CAAyB,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;IAC9C,CAAC;CA+FF"}
1
+ {"version":3,"file":"basePaymentMaker.js","sourceRoot":"","sources":["../src/basePaymentMaker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,IAAI,2BAA2B,EAAE,mBAAmB,IAAI,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEpI,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAEL,UAAU,EACV,aAAa,EACb,kBAAkB,GAGnB,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAK9D,kFAAkF;AAClF,SAAS,WAAW,CAAC,IAAY;IAC/B,2BAA2B;IAC3B,MAAM,MAAM,GAAG,OAAO,MAAM,KAAK,WAAW;QAC1C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,8BAA8B;IAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,SAAS,GAAG;IAChB;QACE,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;YAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SACpC;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACrC,IAAI,EAAE,UAAU;KACjB;IACD;QACI,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE;YACN;gBACI,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,SAAS;aACpB;SACJ;QACD,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE;YACP;gBACI,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS;aACpB;SACJ;QACD,SAAS,EAAE,KAAK;QAChB,iBAAiB,EAAE,MAAM;QACzB,MAAM,EAAE,UAAU;KACrB;CACF,CAAC;AAEF,MAAM,OAAO,gBAAgB;IAI3B,YAAY,UAAkB,EAAE,YAA0B,EAAE,MAAe;QACzE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,aAAa,CAAyB,CAAC;QAChF,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAC,gBAAgB,EAAE,aAAa,EAAoD;QACpG,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QAEpC,MAAM,UAAU,GAAG;YACjB,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,OAAO;YACxC,GAAG,EAAE,kBAAkB;YACvB,GAAG,EAAE,sBAAsB;YAC3B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAClC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;YAC5C,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3C,CAAC;QAE7B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;QAEvC,MAAM,YAAY,GAAG,OAAO,MAAM,KAAK,WAAW;YAChD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;YAC9B,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEtC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;YACtD,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAQ;YACpC,OAAO,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE;SAC/B,CAAC,CAAC;QAEH,sDAAsD;QACtD,mFAAmF;QACnF,kEAAkE;QAClE,uFAAuF;QACvF,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QAE1C,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAiB,EAAE,QAAkB,EAAE,QAAgB;QACvE,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;YACtC,MAAM,IAAI,wBAAwB,CAAC,4CAA4C,GAAG,QAAQ,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,IAAI,QAAQ,OAAO,QAAQ,iBAAiB,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAE/H,IAAI,CAAC;YACH,0CAA0C;YAC1C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;gBACvD,OAAO,EAAE,0BAAqC;gBAC9C,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,OAAO,CAAC;aAC5C,CAAW,CAAC;YAEb,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,aAAa,CAAC,CAAC;YAEpF,IAAI,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,QAAQ,mCAAmC,MAAM,gBAAgB,OAAO,EAAE,CAAC,CAAC;gBAC7G,MAAM,IAAI,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3E,CAAC;YAED,sDAAsD;YACtD,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtF,MAAM,IAAI,GAAG,kBAAkB,CAAC;gBAC9B,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,CAAC,QAAmB,EAAE,iBAAiB,CAAC;aAC/C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;gBACpD,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAQ;gBACpC,EAAE,EAAE,0BAA0B;gBAC9B,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC;aACvB,CAAC,CAAC;YAEH,2EAA2E;YAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC;gBACjE,IAAI,EAAE,IAAW;gBACjB,aAAa,EAAE,CAAC,CAAE,wDAAwD;aAC3E,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAClC,MAAM,IAAI,wBAAwB,CAAC,yBAAyB,IAAI,EAAE,EAAE,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAClH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,aAAa,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAEnF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,2BAA2B,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;gBAC9F,MAAM,KAAK,CAAC;YACd,CAAC;YAED,2CAA2C;YAC3C,MAAM,IAAI,wBAAwB,CAAC,mCAAoC,KAAe,CAAC,OAAO,EAAE,EAAE,KAAc,CAAC,CAAC;QACpH,CAAC;IACH,CAAC;CACF"}
@@ -33,7 +33,7 @@ export class SolanaPaymentMaker {
33
33
  throw new PaymentNetworkError('Only USDC currency is supported; received ' + currency);
34
34
  }
35
35
  const receiverKey = new PublicKey(receiver);
36
- this.logger.info(`Making payment of ${amount} ${currency} to ${receiver} on Solana`);
36
+ this.logger.info(`Making payment of ${amount} ${currency} to ${receiver} on Solana from ${this.source.publicKey.toBase58()}`);
37
37
  try {
38
38
  // Check balance before attempting payment
39
39
  const tokenAccountAddress = await getAssociatedTokenAddress(USDC_MINT, this.source.publicKey);
@@ -1 +1 @@
1
- {"version":3,"file":"solanaPaymentMaker.js","sourceRoot":"","sources":["../src/solanaPaymentMaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solanaPaymentMaker.js","sourceRoot":"","sources":["../src/solanaPaymentMaker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atxp/client",
3
- "version": "0.2.13",
3
+ "version": "0.2.15",
4
4
  "description": "ATXP Client - MCP client with OAuth authentication and payment processing",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -22,7 +22,7 @@
22
22
  "test": "vitest run"
23
23
  },
24
24
  "dependencies": {
25
- "@atxp/common": "0.2.13",
25
+ "@atxp/common": "0.2.15",
26
26
  "@modelcontextprotocol/sdk": "^1.15.0",
27
27
  "@solana/pay": "^0.2.5",
28
28
  "@solana/web3.js": "^1.98.1",