@atxp/client 0.7.4 → 0.8.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.
Files changed (55) hide show
  1. package/dist/atxpAccount.d.ts +8 -6
  2. package/dist/atxpAccount.d.ts.map +1 -1
  3. package/dist/atxpAccount.js +57 -19
  4. package/dist/atxpAccount.js.map +1 -1
  5. package/dist/atxpClient.d.ts +1 -1
  6. package/dist/atxpClient.d.ts.map +1 -1
  7. package/dist/atxpClient.js +18 -2
  8. package/dist/atxpClient.js.map +1 -1
  9. package/dist/atxpFetcher.d.ts +5 -15
  10. package/dist/atxpFetcher.d.ts.map +1 -1
  11. package/dist/atxpFetcher.js +95 -229
  12. package/dist/atxpFetcher.js.map +1 -1
  13. package/dist/baseAccount.d.ts +7 -4
  14. package/dist/baseAccount.d.ts.map +1 -1
  15. package/dist/baseAccount.js +15 -4
  16. package/dist/baseAccount.js.map +1 -1
  17. package/dist/basePaymentMaker.d.ts +4 -3
  18. package/dist/basePaymentMaker.d.ts.map +1 -1
  19. package/dist/basePaymentMaker.js +20 -3
  20. package/dist/basePaymentMaker.js.map +1 -1
  21. package/dist/clientTestHelpers.d.ts.map +1 -1
  22. package/dist/destinationMakers/atxpDestinationMaker.d.ts +15 -0
  23. package/dist/destinationMakers/atxpDestinationMaker.d.ts.map +1 -0
  24. package/dist/destinationMakers/atxpDestinationMaker.js +128 -0
  25. package/dist/destinationMakers/atxpDestinationMaker.js.map +1 -0
  26. package/dist/destinationMakers/index.d.ts +9 -0
  27. package/dist/destinationMakers/index.d.ts.map +1 -0
  28. package/dist/destinationMakers/index.js +42 -0
  29. package/dist/destinationMakers/index.js.map +1 -0
  30. package/dist/destinationMakers/passthroughDestinationMaker.d.ts +8 -0
  31. package/dist/destinationMakers/passthroughDestinationMaker.d.ts.map +1 -0
  32. package/dist/destinationMakers/passthroughDestinationMaker.js +27 -0
  33. package/dist/destinationMakers/passthroughDestinationMaker.js.map +1 -0
  34. package/dist/index.cjs +803 -584
  35. package/dist/index.cjs.map +1 -1
  36. package/dist/index.d.ts +99 -42
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +798 -586
  39. package/dist/index.js.map +1 -1
  40. package/dist/polygonConstants.d.ts +46 -0
  41. package/dist/polygonConstants.d.ts.map +1 -0
  42. package/dist/polygonConstants.js +54 -0
  43. package/dist/polygonConstants.js.map +1 -0
  44. package/dist/solanaAccount.d.ts +8 -4
  45. package/dist/solanaAccount.d.ts.map +1 -1
  46. package/dist/solanaAccount.js +16 -4
  47. package/dist/solanaAccount.js.map +1 -1
  48. package/dist/solanaPaymentMaker.d.ts +4 -3
  49. package/dist/solanaPaymentMaker.d.ts.map +1 -1
  50. package/dist/solanaPaymentMaker.js +24 -5
  51. package/dist/solanaPaymentMaker.js.map +1 -1
  52. package/dist/types.d.ts +5 -23
  53. package/dist/types.d.ts.map +1 -1
  54. package/dist/types.js.map +1 -1
  55. package/package.json +2 -2
@@ -1,18 +1,20 @@
1
1
  import type { Account, PaymentMaker } from './types.js';
2
- import type { FetchLike, Network } from '@atxp/common';
2
+ import type { FetchLike, AccountId, Source } from '@atxp/common';
3
3
  import { LocalAccount } from 'viem';
4
4
  export declare class ATXPAccount implements Account {
5
- accountId: string;
6
- paymentMakers: {
7
- [key: string]: PaymentMaker;
8
- };
5
+ accountId: AccountId;
6
+ paymentMakers: PaymentMaker[];
9
7
  origin: string;
10
8
  token: string;
11
9
  fetchFn: FetchLike;
10
+ private unqualifiedAccountId;
12
11
  constructor(connectionString: string, opts?: {
13
12
  fetchFn?: FetchLike;
14
- network?: Network;
15
13
  });
16
14
  getSigner(): Promise<LocalAccount>;
15
+ /**
16
+ * Get sources for this account by calling the accounts service
17
+ */
18
+ getSources(): Promise<Source[]>;
17
19
  }
18
20
  //# sourceMappingURL=atxpAccount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"atxpAccount.d.ts","sourceRoot":"","sources":["../src/atxpAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAY,MAAM,cAAc,CAAA;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AA+GpC,qBAAa,WAAY,YAAW,OAAO;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,CAAC;gBAEP,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,SAAS,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE;IAoBjF,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;CAOzC"}
1
+ {"version":3,"file":"atxpAccount.d.ts","sourceRoot":"","sources":["../src/atxpAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAY,SAAS,EAAyC,MAAM,EAAE,MAAM,cAAc,CAAC;AAElH,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AA2IpC,qBAAa,WAAY,YAAW,OAAO;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,SAAS,CAAC;KAAE;IAmB/D,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAQxC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAuBtC"}
@@ -1,4 +1,3 @@
1
- import { crypto } from '@atxp/common';
2
1
  import { ATXPLocalAccount } from './atxpLocalAccount.js';
3
2
 
4
3
  function toBasicAuth(token) {
@@ -14,6 +13,9 @@ function parseConnectionString(connectionString) {
14
13
  if (!token) {
15
14
  throw new Error('ATXPAccount: connection string missing connection token');
16
15
  }
16
+ if (!accountId) {
17
+ throw new Error('ATXPAccount: connection string missing account id');
18
+ }
17
19
  return { origin, token, accountId };
18
20
  }
19
21
  class ATXPHttpPaymentMaker {
@@ -47,8 +49,8 @@ class ATXPHttpPaymentMaker {
47
49
  }
48
50
  return json.sourceAddress;
49
51
  }
50
- async makePayment(amount, currency, receiver, memo) {
51
- // Make a regular payment via the /pay endpoint
52
+ async makePayment(destinations, memo, paymentRequestId) {
53
+ // Make a payment via the /pay endpoint with multiple destinations
52
54
  const response = await this.fetchFn(`${this.origin}/pay`, {
53
55
  method: 'POST',
54
56
  headers: {
@@ -56,10 +58,14 @@ class ATXPHttpPaymentMaker {
56
58
  'Content-Type': 'application/json',
57
59
  },
58
60
  body: JSON.stringify({
59
- amount: amount.toString(),
60
- currency,
61
- receiver,
61
+ destinations: destinations.map(d => ({
62
+ chain: d.chain,
63
+ address: d.address,
64
+ amount: d.amount.toString(),
65
+ currency: d.currency
66
+ })),
62
67
  memo,
68
+ ...(paymentRequestId && { paymentRequestId })
63
69
  }),
64
70
  });
65
71
  if (!response.ok) {
@@ -67,10 +73,22 @@ class ATXPHttpPaymentMaker {
67
73
  throw new Error(`ATXPAccount: /pay failed: ${response.status} ${response.statusText} ${text}`);
68
74
  }
69
75
  const json = await response.json();
70
- if (!json?.txHash) {
71
- throw new Error('ATXPAccount: /pay did not return txHash');
76
+ const transactionId = json.transactionId;
77
+ if (!transactionId) {
78
+ throw new Error('ATXPAccount: /pay did not return transactionId or txHash');
79
+ }
80
+ if (!json?.chain) {
81
+ throw new Error('ATXPAccount: /pay did not return chain');
72
82
  }
73
- return json.txHash;
83
+ if (!json?.currency) {
84
+ throw new Error('ATXPAccount: /pay did not return currency');
85
+ }
86
+ return {
87
+ transactionId,
88
+ ...(json.transactionSubId ? { transactionSubId: json.transactionSubId } : {}),
89
+ chain: json.chain,
90
+ currency: json.currency
91
+ };
74
92
  }
75
93
  async generateJWT(params) {
76
94
  const response = await this.fetchFn(`${this.origin}/sign`, {
@@ -82,6 +100,7 @@ class ATXPHttpPaymentMaker {
82
100
  body: JSON.stringify({
83
101
  paymentRequestId: params.paymentRequestId,
84
102
  codeChallenge: params.codeChallenge,
103
+ ...(params.accountId ? { accountId: params.accountId } : {}),
85
104
  }),
86
105
  });
87
106
  if (!response.ok) {
@@ -99,24 +118,43 @@ class ATXPAccount {
99
118
  constructor(connectionString, opts) {
100
119
  const { origin, token, accountId } = parseConnectionString(connectionString);
101
120
  const fetchFn = opts?.fetchFn ?? fetch;
102
- const network = opts?.network ?? 'base';
103
121
  // Store for use in X402 payment creation
104
122
  this.origin = origin;
105
123
  this.token = token;
106
124
  this.fetchFn = fetchFn;
107
- if (accountId) {
108
- this.accountId = `atxp:${accountId}`;
109
- }
110
- else {
111
- this.accountId = `atxp:${crypto.randomUUID()}`;
112
- }
113
- this.paymentMakers = {
114
- [network]: new ATXPHttpPaymentMaker(origin, token, fetchFn),
115
- };
125
+ // Format accountId as network:address
126
+ // Connection string provides just the atxp_acct_xxx part (no prefix for UI)
127
+ this.unqualifiedAccountId = accountId;
128
+ this.accountId = `atxp:${accountId}`;
129
+ this.paymentMakers = [
130
+ new ATXPHttpPaymentMaker(origin, token, fetchFn)
131
+ ];
116
132
  }
117
133
  async getSigner() {
118
134
  return ATXPLocalAccount.create(this.origin, this.token, this.fetchFn);
119
135
  }
136
+ /**
137
+ * Get sources for this account by calling the accounts service
138
+ */
139
+ async getSources() {
140
+ // Use the unqualified account ID (without atxp: prefix) for the API call
141
+ const response = await this.fetchFn(`${this.origin}/account/${this.unqualifiedAccountId}/sources`, {
142
+ method: 'GET',
143
+ headers: {
144
+ 'Accept': 'application/json',
145
+ }
146
+ });
147
+ if (!response.ok) {
148
+ const text = await response.text();
149
+ throw new Error(`ATXPAccount: /account/${this.unqualifiedAccountId}/sources failed: ${response.status} ${response.statusText} ${text}`);
150
+ }
151
+ const json = await response.json();
152
+ // The accounts service returns the sources array directly, not wrapped in an object
153
+ if (!Array.isArray(json)) {
154
+ throw new Error(`ATXPAccount: /account/${this.unqualifiedAccountId}/sources did not return sources array`);
155
+ }
156
+ return json;
157
+ }
120
158
  }
121
159
 
122
160
  export { ATXPAccount };
@@ -1 +1 @@
1
- {"version":3,"file":"atxpAccount.js","sources":["../src/atxpAccount.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAOA,SAAS,WAAW,CAAC,KAAa,EAAA;;AAEhC,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,EAAG,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACvD,OAAO,CAAA,MAAA,EAAS,GAAG,CAAA,CAAE;AACvB;AAEA,SAAS,qBAAqB,CAAC,gBAAwB,EAAA;AACrD,IAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC;AACrC,IAAA,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM;AACzB,IAAA,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE;IAC5D,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC;IACpD,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC;IAC5E;AACA,IAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;AACrC;AAEA,MAAM,oBAAoB,CAAA;AAKxB,IAAA,WAAA,CAAY,MAAc,EAAE,KAAa,EAAE,UAAqB,KAAK,EAAA;AACnE,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IACxB;IAEA,MAAM,gBAAgB,CAAC,MAA+E,EAAA;;AAEpG,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAA,oBAAA,CAAsB,EAAE;AACxE,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,OAAO,EAAE;AACP,gBAAA,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;AACxC,gBAAA,cAAc,EAAE,kBAAkB;AACnC,aAAA;AACD,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACnB,gBAAA,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC;AACH,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AAChB,YAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,0CAAA,EAA6C,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAC,UAAU,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAC;QAChH;AAEA,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAwD;AACxF,QAAA,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE;AACxB,YAAA,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC;QACnF;QACA,OAAO,IAAI,CAAC,aAAa;IAC3B;IAEA,MAAM,WAAW,CAAC,MAAiB,EAAE,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAA;;AAErF,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAA,IAAA,CAAM,EAAE;AACxD,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,OAAO,EAAE;AACP,gBAAA,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;AACxC,gBAAA,cAAc,EAAE,kBAAkB;AACnC,aAAA;AACD,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACnB,gBAAA,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACzB,QAAQ;gBACR,QAAQ;gBACR,IAAI;aACL,CAAC;AACH,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AAChB,YAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,0BAAA,EAA6B,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAC,UAAU,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAC;QAChG;AAEA,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAyB;AACzD,QAAA,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE;AACjB,YAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC;QAC5D;QACA,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,MAAM,WAAW,CAAC,MAA2D,EAAA;AAC3E,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAA,KAAA,CAAO,EAAE;AACzD,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,OAAO,EAAE;AACP,gBAAA,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;AACxC,gBAAA,cAAc,EAAE,kBAAkB;AACnC,aAAA;AACD,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC,CAAC;AACH,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AAChB,YAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,2BAAA,EAA8B,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAC,UAAU,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAC;QACjG;AACA,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAsB;AACtD,QAAA,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC;QAC1D;QACA,OAAO,IAAI,CAAC,GAAG;IACjB;AACD;MAEY,WAAW,CAAA;IAOtB,WAAA,CAAY,gBAAwB,EAAE,IAAiD,EAAA;AACrF,QAAA,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,CAAC;AAC5E,QAAA,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,KAAK;AACtC,QAAA,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,MAAM;;AAGvC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;QAEtB,IAAI,SAAS,EAAE;AACb,YAAA,IAAI,CAAC,SAAS,GAAG,CAAA,KAAA,EAAQ,SAAS,EAAE;QACtC;aAAO;YACL,IAAI,CAAC,SAAS,GAAG,CAAA,KAAA,EAAQ,MAAM,CAAC,UAAU,EAAE,CAAA,CAAE;QAChD;QACA,IAAI,CAAC,aAAa,GAAG;YACnB,CAAC,OAAO,GAAG,IAAI,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;SAC5D;IACH;AAEA,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,OAAO,gBAAgB,CAAC,MAAM,CAC5B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,CACb;IACH;AACD;;;;"}
1
+ {"version":3,"file":"atxpAccount.js","sources":["../src/atxpAccount.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
3
3
  import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
4
4
  type RequiredClientConfigFields = 'mcpServer' | 'account';
5
5
  type OptionalClientConfig = Omit<ClientConfig, RequiredClientConfigFields>;
6
- type BuildableClientConfigFields = 'oAuthDb' | 'logger';
6
+ type BuildableClientConfigFields = 'oAuthDb' | 'logger' | 'destinationMakers';
7
7
  export declare const DEFAULT_CLIENT_CONFIG: Required<Omit<OptionalClientConfig, BuildableClientConfigFields>>;
8
8
  export declare function buildClientConfig(args: ClientArgs): ClientConfig;
9
9
  export declare function buildStreamableTransport(args: ClientArgs): StreamableHTTPClientTransport;
@@ -1 +1 @@
1
- {"version":3,"file":"atxpClient.d.ts","sourceRoot":"","sources":["../src/atxpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGtD,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,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,CAQxF;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,UAAU,EAAE,MAAM,YAAY,CAAC;AAGtD,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAKnG,KAAK,0BAA0B,GAAG,WAAW,GAAG,SAAS,CAAC;AAC1D,KAAK,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;AAC3E,KAAK,2BAA2B,GAAG,SAAS,GAAG,QAAQ,GAAG,mBAAmB,CAAC;AAY9E,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,2BAA2B,CAAC,CAkBnG,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CA8BhE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,6BAA6B,CAQxF;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAQlE"}
@@ -1,7 +1,9 @@
1
- import { DEFAULT_AUTHORIZATION_SERVER, ConsoleLogger, MemoryOAuthDb } from '@atxp/common';
1
+ import { DEFAULT_ATXP_ACCOUNTS_SERVER, DEFAULT_AUTHORIZATION_SERVER, ConsoleLogger, MemoryOAuthDb } from '@atxp/common';
2
2
  import { atxpFetch } from './atxpFetcher.js';
3
3
  import { Client } from './node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js';
4
4
  import { StreamableHTTPClientTransport } from './node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js';
5
+ import { createDestinationMakers } from './destinationMakers/index.js';
6
+ import { ATXPAccount } from './atxpAccount.js';
5
7
 
6
8
  // Detect if we're in a browser environment and bind fetch appropriately
7
9
  const getFetch = () => {
@@ -14,6 +16,7 @@ const getFetch = () => {
14
16
  };
15
17
  const DEFAULT_CLIENT_CONFIG = {
16
18
  allowedAuthorizationServers: [DEFAULT_AUTHORIZATION_SERVER],
19
+ atxpAccountsServer: DEFAULT_ATXP_ACCOUNTS_SERVER,
17
20
  approvePayment: async (_p) => true,
18
21
  fetchFn: getFetch(),
19
22
  oAuthChannelFetch: getFetch(),
@@ -43,7 +46,20 @@ function buildClientConfig(args) {
43
46
  const withDefaults = { ...envDefaults, ...args };
44
47
  const logger = withDefaults.logger ?? new ConsoleLogger();
45
48
  const oAuthDb = withDefaults.oAuthDb ?? new MemoryOAuthDb({ logger });
46
- const built = { oAuthDb, logger };
49
+ const fetchFn = withDefaults.fetchFn;
50
+ // Build destination makers if not provided
51
+ let accountsServer = withDefaults.atxpAccountsServer;
52
+ // QoL hack for unspecified accounts server - if the caller is passing an atxpAccount, then assume the origin for that
53
+ // is what we should use for the accounts server. In practice, the only option is accounts.atxp.ai,
54
+ // but this supports staging environment
55
+ if (args.atxpAccountsServer === undefined && withDefaults.account && withDefaults.account instanceof ATXPAccount) {
56
+ accountsServer = withDefaults.account.origin;
57
+ }
58
+ const destinationMakers = withDefaults.destinationMakers ?? createDestinationMakers({
59
+ atxpAccountsServer: accountsServer,
60
+ fetchFn
61
+ });
62
+ const built = { oAuthDb, logger, destinationMakers };
47
63
  return Object.freeze({ ...withDefaults, ...built });
48
64
  }
49
65
  function buildStreamableTransport(args) {
@@ -1 +1 @@
1
- {"version":3,"file":"atxpClient.js","sources":["../src/atxpClient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAUA;AACA,MAAM,QAAQ,GAAG,MAAmB;AAClC,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE;;AAEvE,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IAC3B;;AAEA,IAAA,OAAO,KAAK;AACd,CAAC;AAEM,MAAM,qBAAqB,GAAsE;IACtG,2BAA2B,EAAE,CAAC,4BAA4B,CAAC;AAC3D,IAAA,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI;IAClC,OAAO,EAAE,QAAQ,EAAE;IACnB,iBAAiB,EAAE,QAAQ,EAAE;IAC7B,SAAS,EAAE,KAAK;AAChB,IAAA,UAAU,EAAE;AACV,QAAA,IAAI,EAAE,YAAY;AAClB,QAAA,OAAO,EAAE;AACV,KAAA;AACD,IAAA,aAAa,EAAE;AACb,QAAA,YAAY,EAAE;AACf,KAAA;AACD,IAAA,WAAW,EAAE,cAAa,CAAC;AAC3B,IAAA,kBAAkB,EAAE,cAAa,CAAC;AAClC,IAAA,SAAS,EAAE,cAAa,CAAC;AACzB,IAAA,gBAAgB,EAAE,cAAa;;AAG3B,SAAU,iBAAiB,CAAC,IAAgB,EAAA;;IAEhD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AAC3C,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO;IACvC;;AAEA,IAAA,MAAM,WAAW,GAAG;AAClB,QAAA,GAAG,qBAAqB;AACxB,QAAA,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;KAClD;IACD,MAAM,YAAY,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,EAAE;IAChD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,IAAI,aAAa,EAAE;AACzD,IAAA,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,IAAI,aAAa,CAAC,EAAC,MAAM,EAAC,CAAC;AACnE,IAAA,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,MAAM,EAAC;AAChC,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC;AACrD;AAEM,SAAU,wBAAwB,CAAC,IAAgB,EAAA;AACvD,IAAA,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC;;AAGtC,IAAA,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;AAEtC,IAAA,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAC,KAAK,EAAE,YAAY,EAAC,CAAC;AACnG,IAAA,OAAO,SAAS;AAClB;AAEO,eAAe,UAAU,CAAC,IAAgB,EAAA;AAC/C,IAAA,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC;AACtC,IAAA,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC;AAElD,IAAA,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC;AAClE,IAAA,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;AAE/B,IAAA,OAAO,MAAM;AACf;;;;"}
1
+ {"version":3,"file":"atxpClient.js","sources":["../src/atxpClient.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { OAuthAuthenticationRequiredError, OAuthClient } from './oAuth.js';
2
- import { AccessToken, AuthorizationServerUrl, FetchLike, OAuthDb, PaymentRequestData, Logger, Network, Currency } from '@atxp/common';
2
+ import { AccessToken, AuthorizationServerUrl, FetchLike, OAuthDb, PaymentRequestData, Logger, Network, DestinationMaker, Account } from '@atxp/common';
3
3
  import type { PaymentMaker, ProspectivePayment, ClientConfig } from './types.js';
4
4
  import { McpError } from '@modelcontextprotocol/sdk/types.js';
5
5
  /**
@@ -12,10 +12,10 @@ import { McpError } from '@modelcontextprotocol/sdk/types.js';
12
12
  export declare function atxpFetch(config: ClientConfig): FetchLike;
13
13
  export declare class ATXPFetcher {
14
14
  protected oauthClient: OAuthClient;
15
- protected paymentMakers: Map<string, PaymentMaker>;
15
+ protected account: Account;
16
+ protected destinationMakers: Map<Network, DestinationMaker>;
16
17
  protected sideChannelFetch: FetchLike;
17
18
  protected db: OAuthDb;
18
- protected accountId: string;
19
19
  protected allowedAuthorizationServers: AuthorizationServerUrl[];
20
20
  protected approvePayment: (payment: ProspectivePayment) => Promise<boolean>;
21
21
  protected logger: Logger;
@@ -36,11 +36,9 @@ export declare class ATXPFetcher {
36
36
  error: Error;
37
37
  }) => Promise<void>;
38
38
  constructor(config: {
39
- accountId: string;
39
+ account: Account;
40
40
  db: OAuthDb;
41
- paymentMakers: {
42
- [key: string]: PaymentMaker;
43
- };
41
+ destinationMakers: Map<Network, DestinationMaker>;
44
42
  fetchFn?: FetchLike;
45
43
  sideChannelFetch?: FetchLike;
46
44
  strict?: boolean;
@@ -66,14 +64,6 @@ export declare class ATXPFetcher {
66
64
  }) => Promise<void>;
67
65
  });
68
66
  private defaultPaymentFailureHandler;
69
- /**
70
- * Resolves atxp_base or atxp_base_sepolia destinations to real base network destinations
71
- * by calling the payment_info endpoint to get the destination address and network
72
- */
73
- protected resolveAtxpBaseDestination(network: string, paymentInfoUrl: string, paymentRequestId: string, amount: BigNumber, currency: Currency, receiver: string, memo: string): Promise<{
74
- destinationAddress: string;
75
- network: Network;
76
- } | null>;
77
67
  protected handleMultiDestinationPayment: (paymentRequestData: PaymentRequestData, paymentRequestUrl: string, paymentRequestId: string) => Promise<boolean>;
78
68
  protected handlePaymentRequestError: (paymentRequestError: McpError) => Promise<boolean>;
79
69
  protected getPaymentRequestData: (paymentRequestUrl: string) => Promise<PaymentRequestData | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"atxpFetcher.d.ts","sourceRoot":"","sources":["../src/atxpFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atxpFetcher.d.ts","sourceRoot":"","sources":["../src/atxpFetcher.ts"],"names":[],"mappings":"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"}