@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.
- package/dist/atxpAccount.d.ts +8 -6
- package/dist/atxpAccount.d.ts.map +1 -1
- package/dist/atxpAccount.js +57 -19
- package/dist/atxpAccount.js.map +1 -1
- package/dist/atxpClient.d.ts +1 -1
- package/dist/atxpClient.d.ts.map +1 -1
- package/dist/atxpClient.js +18 -2
- package/dist/atxpClient.js.map +1 -1
- package/dist/atxpFetcher.d.ts +5 -15
- package/dist/atxpFetcher.d.ts.map +1 -1
- package/dist/atxpFetcher.js +95 -229
- package/dist/atxpFetcher.js.map +1 -1
- package/dist/baseAccount.d.ts +7 -4
- package/dist/baseAccount.d.ts.map +1 -1
- package/dist/baseAccount.js +15 -4
- package/dist/baseAccount.js.map +1 -1
- package/dist/basePaymentMaker.d.ts +4 -3
- package/dist/basePaymentMaker.d.ts.map +1 -1
- package/dist/basePaymentMaker.js +20 -3
- package/dist/basePaymentMaker.js.map +1 -1
- package/dist/clientTestHelpers.d.ts.map +1 -1
- package/dist/destinationMakers/atxpDestinationMaker.d.ts +15 -0
- package/dist/destinationMakers/atxpDestinationMaker.d.ts.map +1 -0
- package/dist/destinationMakers/atxpDestinationMaker.js +128 -0
- package/dist/destinationMakers/atxpDestinationMaker.js.map +1 -0
- package/dist/destinationMakers/index.d.ts +9 -0
- package/dist/destinationMakers/index.d.ts.map +1 -0
- package/dist/destinationMakers/index.js +42 -0
- package/dist/destinationMakers/index.js.map +1 -0
- package/dist/destinationMakers/passthroughDestinationMaker.d.ts +8 -0
- package/dist/destinationMakers/passthroughDestinationMaker.d.ts.map +1 -0
- package/dist/destinationMakers/passthroughDestinationMaker.js +27 -0
- package/dist/destinationMakers/passthroughDestinationMaker.js.map +1 -0
- package/dist/index.cjs +803 -584
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +99 -42
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +798 -586
- package/dist/index.js.map +1 -1
- package/dist/polygonConstants.d.ts +46 -0
- package/dist/polygonConstants.d.ts.map +1 -0
- package/dist/polygonConstants.js +54 -0
- package/dist/polygonConstants.js.map +1 -0
- package/dist/solanaAccount.d.ts +8 -4
- package/dist/solanaAccount.d.ts.map +1 -1
- package/dist/solanaAccount.js +16 -4
- package/dist/solanaAccount.js.map +1 -1
- package/dist/solanaPaymentMaker.d.ts +4 -3
- package/dist/solanaPaymentMaker.d.ts.map +1 -1
- package/dist/solanaPaymentMaker.js +24 -5
- package/dist/solanaPaymentMaker.js.map +1 -1
- package/dist/types.d.ts +5 -23
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
package/dist/atxpFetcher.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BigNumber } from 'bignumber.js';
|
|
2
1
|
import { OAuthAuthenticationRequiredError, OAuthClient } from './oAuth.js';
|
|
3
2
|
import { PAYMENT_REQUIRED_ERROR_CODE, isSSEResponse, parseMcpMessages, parsePaymentRequests, paymentRequiredError, DEFAULT_AUTHORIZATION_SERVER, ConsoleLogger, getIsReactNative, createReactNativeSafeFetch } from '@atxp/common';
|
|
4
3
|
import { InsufficientFundsError, PaymentNetworkError } from './types.js';
|
|
4
|
+
import { BigNumber } from 'bignumber.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Creates an ATXP fetch wrapper that handles OAuth authentication and payments.
|
|
@@ -12,9 +12,9 @@ import { InsufficientFundsError, PaymentNetworkError } from './types.js';
|
|
|
12
12
|
*/
|
|
13
13
|
function atxpFetch(config) {
|
|
14
14
|
const fetcher = new ATXPFetcher({
|
|
15
|
-
|
|
15
|
+
account: config.account,
|
|
16
16
|
db: config.oAuthDb,
|
|
17
|
-
|
|
17
|
+
destinationMakers: config.destinationMakers,
|
|
18
18
|
fetchFn: config.fetchFn,
|
|
19
19
|
sideChannelFetch: config.oAuthChannelFetch,
|
|
20
20
|
allowInsecureRequests: config.allowHttp,
|
|
@@ -32,7 +32,8 @@ class ATXPFetcher {
|
|
|
32
32
|
constructor(config) {
|
|
33
33
|
this.defaultPaymentFailureHandler = async ({ payment, error }) => {
|
|
34
34
|
if (error instanceof InsufficientFundsError) {
|
|
35
|
-
|
|
35
|
+
const networkText = error.network ? ` on ${error.network}` : '';
|
|
36
|
+
this.logger.info(`PAYMENT FAILED: Insufficient ${error.currency} funds${networkText}`);
|
|
36
37
|
this.logger.info(`Required: ${error.required} ${error.currency}`);
|
|
37
38
|
if (error.available) {
|
|
38
39
|
this.logger.info(`Available: ${error.available} ${error.currency}`);
|
|
@@ -40,7 +41,7 @@ class ATXPFetcher {
|
|
|
40
41
|
this.logger.info(`Account: ${payment.accountId}`);
|
|
41
42
|
}
|
|
42
43
|
else if (error instanceof PaymentNetworkError) {
|
|
43
|
-
this.logger.info(`PAYMENT FAILED: Network error
|
|
44
|
+
this.logger.info(`PAYMENT FAILED: Network error: ${error.message}`);
|
|
44
45
|
}
|
|
45
46
|
else {
|
|
46
47
|
this.logger.info(`PAYMENT FAILED: ${error.message}`);
|
|
@@ -50,43 +51,61 @@ class ATXPFetcher {
|
|
|
50
51
|
if (!paymentRequestData.destinations || paymentRequestData.destinations.length === 0) {
|
|
51
52
|
return false;
|
|
52
53
|
}
|
|
53
|
-
//
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
destinationAddress = resolved.destinationAddress;
|
|
63
|
-
destinationNetwork = resolved.network;
|
|
64
|
-
}
|
|
65
|
-
const paymentMaker = this.paymentMakers.get(destinationNetwork);
|
|
66
|
-
if (!paymentMaker) {
|
|
67
|
-
this.logger.debug(`ATXP: payment network '${destinationNetwork}' not available, trying next destination`);
|
|
54
|
+
// Get sources from the account
|
|
55
|
+
const sources = await this.account.getSources();
|
|
56
|
+
// Apply destination mappers to transform destinations
|
|
57
|
+
// Convert PaymentRequestDestination[] to Destination[] for mapper compatibility
|
|
58
|
+
const mappedDestinations = [];
|
|
59
|
+
for (const option of paymentRequestData.destinations) {
|
|
60
|
+
const destinationMaker = this.destinationMakers.get(option.network);
|
|
61
|
+
if (!destinationMaker) {
|
|
62
|
+
this.logger.debug(`ATXP: destination maker for network '${option.network}' not available, trying next destination`);
|
|
68
63
|
continue;
|
|
69
64
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
this.logger.info(`ATXP: payment request denied by callback function for destination on ${destinationNetwork}`);
|
|
81
|
-
continue;
|
|
65
|
+
mappedDestinations.push(...(await destinationMaker.makeDestinations(option, this.logger, paymentRequestId, sources)));
|
|
66
|
+
}
|
|
67
|
+
if (mappedDestinations.length === 0) {
|
|
68
|
+
this.logger.info(`ATXP: no destinations found after mapping`);
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
// Validate amounts are not negative
|
|
72
|
+
for (const dest of mappedDestinations) {
|
|
73
|
+
if (dest.amount.isLessThan(0)) {
|
|
74
|
+
throw new Error(`ATXP: payment amount cannot be negative: ${dest.amount.toString()} ${dest.currency}`);
|
|
82
75
|
}
|
|
83
|
-
|
|
76
|
+
}
|
|
77
|
+
// Create prospective payment for approval (using first destination for display)
|
|
78
|
+
const firstDest = mappedDestinations[0];
|
|
79
|
+
const prospectivePayment = {
|
|
80
|
+
accountId: this.account.accountId,
|
|
81
|
+
resourceUrl: paymentRequestData.resource?.toString() ?? '',
|
|
82
|
+
resourceName: paymentRequestData.resourceName ?? '',
|
|
83
|
+
currency: firstDest.currency,
|
|
84
|
+
amount: firstDest.amount,
|
|
85
|
+
iss: paymentRequestData.iss ?? '',
|
|
86
|
+
};
|
|
87
|
+
// Ask for approval once for all payment attempts
|
|
88
|
+
if (!await this.approvePayment(prospectivePayment)) {
|
|
89
|
+
this.logger.info(`ATXP: payment request denied by callback function`);
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
// Try each payment maker in order
|
|
93
|
+
let lastPaymentError = null;
|
|
94
|
+
let paymentAttempted = false;
|
|
95
|
+
for (const paymentMaker of this.account.paymentMakers) {
|
|
84
96
|
try {
|
|
85
|
-
|
|
86
|
-
|
|
97
|
+
// Pass all destinations to payment maker - it will filter and pick the one it can handle
|
|
98
|
+
const result = await paymentMaker.makePayment(mappedDestinations, paymentRequestData.iss, paymentRequestId);
|
|
99
|
+
if (result === null) {
|
|
100
|
+
this.logger.debug(`ATXP: payment maker cannot handle these destinations, trying next`);
|
|
101
|
+
continue; // Try next payment maker
|
|
102
|
+
}
|
|
103
|
+
paymentAttempted = true;
|
|
104
|
+
// Payment was successful
|
|
105
|
+
this.logger.info(`ATXP: made payment of ${firstDest.amount.toString()} ${firstDest.currency} on ${result.chain}: ${result.transactionId}`);
|
|
87
106
|
await this.onPayment({ payment: prospectivePayment });
|
|
88
107
|
// Submit payment to the server
|
|
89
|
-
const jwt = await paymentMaker.generateJWT({ paymentRequestId, codeChallenge: '' });
|
|
108
|
+
const jwt = await paymentMaker.generateJWT({ paymentRequestId, codeChallenge: '', accountId: this.account.accountId });
|
|
90
109
|
const response = await this.sideChannelFetch(paymentRequestUrl.toString(), {
|
|
91
110
|
method: 'PUT',
|
|
92
111
|
headers: {
|
|
@@ -94,9 +113,10 @@ class ATXPFetcher {
|
|
|
94
113
|
'Content-Type': 'application/json'
|
|
95
114
|
},
|
|
96
115
|
body: JSON.stringify({
|
|
97
|
-
transactionId:
|
|
98
|
-
|
|
99
|
-
|
|
116
|
+
transactionId: result.transactionId,
|
|
117
|
+
...(result.transactionSubId ? { transactionSubId: result.transactionSubId } : {}),
|
|
118
|
+
chain: result.chain,
|
|
119
|
+
currency: result.currency
|
|
100
120
|
})
|
|
101
121
|
});
|
|
102
122
|
this.logger.debug(`ATXP: payment was ${response.ok ? 'successfully' : 'not successfully'} PUT to ${paymentRequestUrl} : status ${response.status} ${response.statusText}`);
|
|
@@ -109,13 +129,18 @@ class ATXPFetcher {
|
|
|
109
129
|
}
|
|
110
130
|
catch (error) {
|
|
111
131
|
const typedError = error;
|
|
112
|
-
|
|
132
|
+
paymentAttempted = true;
|
|
133
|
+
lastPaymentError = typedError;
|
|
134
|
+
this.logger.warn(`ATXP: payment maker failed: ${typedError.message}`);
|
|
113
135
|
await this.onPaymentFailure({ payment: prospectivePayment, error: typedError });
|
|
114
|
-
//
|
|
115
|
-
continue;
|
|
136
|
+
// Continue to next payment maker
|
|
116
137
|
}
|
|
117
138
|
}
|
|
118
|
-
|
|
139
|
+
// If payment was attempted but all failed, rethrow the last error
|
|
140
|
+
if (paymentAttempted && lastPaymentError) {
|
|
141
|
+
throw lastPaymentError;
|
|
142
|
+
}
|
|
143
|
+
this.logger.info(`ATXP: no payment maker could handle these destinations`);
|
|
119
144
|
return false;
|
|
120
145
|
};
|
|
121
146
|
this.handlePaymentRequestError = async (paymentRequestError) => {
|
|
@@ -142,102 +167,8 @@ class ATXPFetcher {
|
|
|
142
167
|
if (paymentRequestData.destinations && paymentRequestData.destinations.length > 0) {
|
|
143
168
|
return this.handleMultiDestinationPayment(paymentRequestData, paymentRequestUrl, paymentRequestId);
|
|
144
169
|
}
|
|
145
|
-
//
|
|
146
|
-
|
|
147
|
-
if (!requestedNetwork) {
|
|
148
|
-
throw new Error(`Payment network not provided`);
|
|
149
|
-
}
|
|
150
|
-
const destination = paymentRequestData.destination;
|
|
151
|
-
if (!destination) {
|
|
152
|
-
throw new Error(`destination not provided`);
|
|
153
|
-
}
|
|
154
|
-
let amount = new BigNumber(0);
|
|
155
|
-
if (!paymentRequestData.amount) {
|
|
156
|
-
throw new Error(`amount not provided`);
|
|
157
|
-
}
|
|
158
|
-
try {
|
|
159
|
-
amount = new BigNumber(paymentRequestData.amount);
|
|
160
|
-
}
|
|
161
|
-
catch {
|
|
162
|
-
throw new Error(`Invalid amount ${paymentRequestData.amount}`);
|
|
163
|
-
}
|
|
164
|
-
if (amount.lte(0)) {
|
|
165
|
-
throw new Error(`Invalid amount ${paymentRequestData.amount}`);
|
|
166
|
-
}
|
|
167
|
-
const currency = paymentRequestData.currency;
|
|
168
|
-
if (!currency) {
|
|
169
|
-
throw new Error(`Currency not provided`);
|
|
170
|
-
}
|
|
171
|
-
// Resolve atxp_base destinations to real base network destinations
|
|
172
|
-
let destinationAddress = destination;
|
|
173
|
-
let destinationNetwork = requestedNetwork;
|
|
174
|
-
const resolved = await this.resolveAtxpBaseDestination(requestedNetwork, destination, paymentRequestId, amount, currency, destination, paymentRequestData.iss);
|
|
175
|
-
if (resolved) {
|
|
176
|
-
destinationAddress = resolved.destinationAddress;
|
|
177
|
-
destinationNetwork = resolved.network;
|
|
178
|
-
}
|
|
179
|
-
const paymentMaker = this.paymentMakers.get(destinationNetwork);
|
|
180
|
-
if (!paymentMaker) {
|
|
181
|
-
this.logger.info(`ATXP: payment network '${destinationNetwork}' not set up for this client (available networks: ${Array.from(this.paymentMakers.keys()).join(', ')})`);
|
|
182
|
-
return false;
|
|
183
|
-
}
|
|
184
|
-
const prospectivePayment = {
|
|
185
|
-
accountId: this.accountId,
|
|
186
|
-
resourceUrl: paymentRequestData.resource?.toString() ?? '',
|
|
187
|
-
resourceName: paymentRequestData.resourceName ?? '',
|
|
188
|
-
network: destinationNetwork,
|
|
189
|
-
currency,
|
|
190
|
-
amount,
|
|
191
|
-
iss: paymentRequestData.iss ?? '',
|
|
192
|
-
};
|
|
193
|
-
if (!await this.approvePayment(prospectivePayment)) {
|
|
194
|
-
this.logger.info(`ATXP: payment request denied by callback function`);
|
|
195
|
-
return false;
|
|
196
|
-
}
|
|
197
|
-
let paymentId;
|
|
198
|
-
try {
|
|
199
|
-
paymentId = await paymentMaker.makePayment(amount, currency, destinationAddress, paymentRequestData.iss);
|
|
200
|
-
this.logger.info(`ATXP: made payment of ${amount} ${currency} on ${destinationNetwork}: ${paymentId}`);
|
|
201
|
-
// Call onPayment callback after successful payment
|
|
202
|
-
await this.onPayment({ payment: prospectivePayment });
|
|
203
|
-
}
|
|
204
|
-
catch (paymentError) {
|
|
205
|
-
// Call onPaymentFailure callback if payment fails
|
|
206
|
-
await this.onPaymentFailure({
|
|
207
|
-
payment: prospectivePayment,
|
|
208
|
-
error: paymentError
|
|
209
|
-
});
|
|
210
|
-
throw paymentError;
|
|
211
|
-
}
|
|
212
|
-
const jwt = await paymentMaker.generateJWT({ paymentRequestId, codeChallenge: '' });
|
|
213
|
-
// Make a fetch call to the authorization URL with the payment ID
|
|
214
|
-
// redirect=false is a hack
|
|
215
|
-
// The OAuth spec calls for the authorization url to return with a redirect, but fetch
|
|
216
|
-
// on mobile will automatically follow the redirect (it doesn't support the redirect=manual option)
|
|
217
|
-
// We want the redirect URL so we can extract the code from it, not the contents of the
|
|
218
|
-
// redirect URL (which might not even exist for agentic ATXP clients)
|
|
219
|
-
// So ATXP servers are set up to instead return a 200 with the redirect URL in the body
|
|
220
|
-
// if we pass redirect=false.
|
|
221
|
-
// TODO: Remove the redirect=false hack once we have a way to handle the redirect on mobile
|
|
222
|
-
const response = await this.sideChannelFetch(paymentRequestUrl.toString(), {
|
|
223
|
-
method: 'PUT',
|
|
224
|
-
headers: {
|
|
225
|
-
'Authorization': `Bearer ${jwt}`,
|
|
226
|
-
'Content-Type': 'application/json'
|
|
227
|
-
},
|
|
228
|
-
body: JSON.stringify({
|
|
229
|
-
transactionId: paymentId,
|
|
230
|
-
network: destinationNetwork,
|
|
231
|
-
currency: currency
|
|
232
|
-
})
|
|
233
|
-
});
|
|
234
|
-
this.logger.debug(`ATXP: payment was ${response.ok ? 'successfully' : 'not successfully'} PUT to ${paymentRequestUrl} : status ${response.status} ${response.statusText}`);
|
|
235
|
-
if (!response.ok) {
|
|
236
|
-
const msg = `ATXP: payment to ${paymentRequestUrl} failed: HTTP ${response.status} ${await response.text()}`;
|
|
237
|
-
this.logger.info(msg);
|
|
238
|
-
throw new Error(msg);
|
|
239
|
-
}
|
|
240
|
-
return true;
|
|
170
|
+
// Payment request doesn't have destinations - this shouldn't happen with new SDK
|
|
171
|
+
throw new Error(`ATXP: payment request does not contain destinations array`);
|
|
241
172
|
};
|
|
242
173
|
this.getPaymentRequestData = async (paymentRequestUrl) => {
|
|
243
174
|
const prRequest = await this.sideChannelFetch(paymentRequestUrl);
|
|
@@ -245,6 +176,14 @@ class ATXPFetcher {
|
|
|
245
176
|
throw new Error(`ATXP: GET ${paymentRequestUrl} failed: ${prRequest.status} ${prRequest.statusText}`);
|
|
246
177
|
}
|
|
247
178
|
const paymentRequest = await prRequest.json();
|
|
179
|
+
// Parse amount strings to BigNumber objects
|
|
180
|
+
if (paymentRequest.destinations) {
|
|
181
|
+
for (const dest of paymentRequest.destinations) {
|
|
182
|
+
if (typeof dest.amount === 'string' || typeof dest.amount === 'number') {
|
|
183
|
+
dest.amount = new BigNumber(dest.amount);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
248
187
|
return paymentRequest;
|
|
249
188
|
};
|
|
250
189
|
this.isAllowedAuthServer = (url) => {
|
|
@@ -258,15 +197,15 @@ class ATXPFetcher {
|
|
|
258
197
|
throw new Error(`Code challenge not provided`);
|
|
259
198
|
}
|
|
260
199
|
if (!paymentMaker) {
|
|
261
|
-
const
|
|
262
|
-
throw new Error(`Payment maker is null/undefined. Available payment
|
|
200
|
+
const paymentMakerCount = this.account.paymentMakers.length;
|
|
201
|
+
throw new Error(`Payment maker is null/undefined. Available payment maker count: ${paymentMakerCount}. This usually indicates a payment maker object was not properly instantiated.`);
|
|
263
202
|
}
|
|
264
203
|
// TypeScript should prevent this, but add runtime check for edge cases (untyped JS, version mismatches, etc.)
|
|
265
204
|
if (!paymentMaker.generateJWT) {
|
|
266
|
-
const
|
|
267
|
-
throw new Error(`Payment maker is missing generateJWT method. Available payment
|
|
205
|
+
const paymentMakerCount = this.account.paymentMakers.length;
|
|
206
|
+
throw new Error(`Payment maker is missing generateJWT method. Available payment maker count: ${paymentMakerCount}. This indicates the payment maker object does not implement the PaymentMaker interface. If using TypeScript, ensure your payment maker properly implements the PaymentMaker interface.`);
|
|
268
207
|
}
|
|
269
|
-
const authToken = await paymentMaker.generateJWT({ paymentRequestId: '', codeChallenge: codeChallenge });
|
|
208
|
+
const authToken = await paymentMaker.generateJWT({ paymentRequestId: '', codeChallenge: codeChallenge, accountId: this.account.accountId });
|
|
270
209
|
// Make a fetch call to the authorization URL with the payment ID
|
|
271
210
|
// redirect=false is a hack
|
|
272
211
|
// The OAuth spec calls for the authorization url to return with a redirect, but fetch
|
|
@@ -312,11 +251,11 @@ class ATXPFetcher {
|
|
|
312
251
|
throw new Error(`Expected redirect response from authorization URL, got ${response.status}`);
|
|
313
252
|
};
|
|
314
253
|
this.authToService = async (error) => {
|
|
315
|
-
// TODO: We need to generalize this - we can't assume that there's a single paymentMaker for the auth flow.
|
|
316
|
-
if (this.paymentMakers.
|
|
254
|
+
// TODO: We need to generalize this - we can't assume that there's a single paymentMaker for the auth flow.
|
|
255
|
+
if (this.account.paymentMakers.length > 1) {
|
|
317
256
|
throw new Error(`ATXP: multiple payment makers found - cannot determine which one to use for auth`);
|
|
318
257
|
}
|
|
319
|
-
const paymentMaker =
|
|
258
|
+
const paymentMaker = this.account.paymentMakers[0];
|
|
320
259
|
if (paymentMaker) {
|
|
321
260
|
// We can do the full OAuth flow - we'll generate a signed JWT and call /authorize on the
|
|
322
261
|
// AS to get a code, then exchange the code for an access token
|
|
@@ -331,14 +270,14 @@ class ATXPFetcher {
|
|
|
331
270
|
// Call onAuthorize callback after successful authorization
|
|
332
271
|
await this.onAuthorize({
|
|
333
272
|
authorizationServer: authorizationUrl.origin,
|
|
334
|
-
userId: this.accountId
|
|
273
|
+
userId: this.account.accountId
|
|
335
274
|
});
|
|
336
275
|
}
|
|
337
276
|
catch (authError) {
|
|
338
277
|
// Call onAuthorizeFailure callback if authorization fails
|
|
339
278
|
await this.onAuthorizeFailure({
|
|
340
279
|
authorizationServer: authorizationUrl.origin,
|
|
341
|
-
userId: this.accountId,
|
|
280
|
+
userId: this.account.accountId,
|
|
342
281
|
error: authError
|
|
343
282
|
});
|
|
344
283
|
throw authError;
|
|
@@ -349,13 +288,13 @@ class ATXPFetcher {
|
|
|
349
288
|
// If we do, we'll use it to auth to the downstream resource
|
|
350
289
|
// (In pass-through scenarios, the atxpServer() middleware stores the incoming
|
|
351
290
|
// token in the DB under the '' resource URL).
|
|
352
|
-
const existingToken = await this.db.getAccessToken(this.accountId, '');
|
|
291
|
+
const existingToken = await this.db.getAccessToken(this.account.accountId, '');
|
|
353
292
|
if (!existingToken) {
|
|
354
293
|
this.logger.info(`ATXP: no token found for the current server - we can't exchange a token if we don't have one`);
|
|
355
294
|
throw error;
|
|
356
295
|
}
|
|
357
296
|
const newToken = await this.exchangeToken(existingToken, error.resourceServerUrl);
|
|
358
|
-
this.db.saveAccessToken(this.accountId, error.resourceServerUrl, newToken);
|
|
297
|
+
this.db.saveAccessToken(this.account.accountId, error.resourceServerUrl, newToken);
|
|
359
298
|
}
|
|
360
299
|
};
|
|
361
300
|
this.exchangeToken = async (myToken, newResourceUrl) => {
|
|
@@ -446,15 +385,15 @@ class ATXPFetcher {
|
|
|
446
385
|
throw error;
|
|
447
386
|
}
|
|
448
387
|
};
|
|
449
|
-
const {
|
|
388
|
+
const { account, db, destinationMakers, fetchFn = fetch, sideChannelFetch = fetchFn, strict = true, allowInsecureRequests = process.env.NODE_ENV === 'development', allowedAuthorizationServers = [DEFAULT_AUTHORIZATION_SERVER], approvePayment = async () => true, logger = new ConsoleLogger(), onAuthorize = async () => { }, onAuthorizeFailure = async () => { }, onPayment = async () => { }, onPaymentFailure = async () => { } } = config;
|
|
450
389
|
// Use React Native safe fetch if in React Native environment
|
|
451
390
|
const safeFetchFn = getIsReactNative() ? createReactNativeSafeFetch(fetchFn) : fetchFn;
|
|
452
391
|
const safeSideChannelFetch = getIsReactNative() ? createReactNativeSafeFetch(sideChannelFetch) : sideChannelFetch;
|
|
453
|
-
// ATXPClient should never actually use the callback url - instead of redirecting the user to
|
|
392
|
+
// ATXPClient should never actually use the callback url - instead of redirecting the user to
|
|
454
393
|
// an authorization url which redirects back to the callback url, ATXPClient posts the payment
|
|
455
394
|
// directly to the authorization server, then does the token exchange itself
|
|
456
395
|
this.oauthClient = new OAuthClient({
|
|
457
|
-
userId: accountId,
|
|
396
|
+
userId: account.accountId,
|
|
458
397
|
db,
|
|
459
398
|
callbackUrl: 'http://localhost:3000/unused-dummy-atxp-callback',
|
|
460
399
|
isPublic: false,
|
|
@@ -464,10 +403,10 @@ class ATXPFetcher {
|
|
|
464
403
|
allowInsecureRequests,
|
|
465
404
|
logger: logger
|
|
466
405
|
});
|
|
467
|
-
this.
|
|
406
|
+
this.account = account;
|
|
407
|
+
this.destinationMakers = destinationMakers;
|
|
468
408
|
this.sideChannelFetch = safeSideChannelFetch;
|
|
469
409
|
this.db = db;
|
|
470
|
-
this.accountId = accountId;
|
|
471
410
|
this.allowedAuthorizationServers = allowedAuthorizationServers;
|
|
472
411
|
this.approvePayment = approvePayment;
|
|
473
412
|
this.logger = logger;
|
|
@@ -476,79 +415,6 @@ class ATXPFetcher {
|
|
|
476
415
|
this.onPayment = onPayment;
|
|
477
416
|
this.onPaymentFailure = onPaymentFailure || this.defaultPaymentFailureHandler;
|
|
478
417
|
}
|
|
479
|
-
/**
|
|
480
|
-
* Resolves atxp_base or atxp_base_sepolia destinations to real base network destinations
|
|
481
|
-
* by calling the payment_info endpoint to get the destination address and network
|
|
482
|
-
*/
|
|
483
|
-
async resolveAtxpBaseDestination(network, paymentInfoUrl, paymentRequestId, amount, currency, receiver, memo) {
|
|
484
|
-
// Check if this is an atxp_base network that needs resolution
|
|
485
|
-
if (network !== 'atxp_base' && network !== 'atxp_base_sepolia') {
|
|
486
|
-
return null;
|
|
487
|
-
}
|
|
488
|
-
// Map atxp_base networks to their real counterparts
|
|
489
|
-
const realNetwork = network === 'atxp_base' ? 'base' : 'base_sepolia';
|
|
490
|
-
// Get the payment maker for the real network
|
|
491
|
-
const paymentMaker = this.paymentMakers.get(realNetwork);
|
|
492
|
-
if (!paymentMaker) {
|
|
493
|
-
this.logger.debug(`ATXP: payment network '${realNetwork}' not available for atxp_base resolution`);
|
|
494
|
-
return null;
|
|
495
|
-
}
|
|
496
|
-
// Get the buyer address (source address) from the payment maker
|
|
497
|
-
let buyerAddress;
|
|
498
|
-
try {
|
|
499
|
-
buyerAddress = await paymentMaker.getSourceAddress({
|
|
500
|
-
amount,
|
|
501
|
-
currency,
|
|
502
|
-
receiver,
|
|
503
|
-
memo
|
|
504
|
-
});
|
|
505
|
-
}
|
|
506
|
-
catch (error) {
|
|
507
|
-
this.logger.warn(`ATXP: failed to get source address from payment maker for ${realNetwork}: ${error.message}`);
|
|
508
|
-
return null;
|
|
509
|
-
}
|
|
510
|
-
// Call the payment_info endpoint
|
|
511
|
-
this.logger.debug(`ATXP: resolving ${network} destination via ${paymentInfoUrl}`);
|
|
512
|
-
try {
|
|
513
|
-
const response = await this.sideChannelFetch(paymentInfoUrl, {
|
|
514
|
-
method: 'POST',
|
|
515
|
-
headers: {
|
|
516
|
-
'Content-Type': 'application/json',
|
|
517
|
-
},
|
|
518
|
-
body: JSON.stringify({
|
|
519
|
-
paymentRequestId,
|
|
520
|
-
buyerAddress,
|
|
521
|
-
}),
|
|
522
|
-
});
|
|
523
|
-
if (!response.ok) {
|
|
524
|
-
const text = await response.text();
|
|
525
|
-
this.logger.warn(`ATXP: payment_info endpoint failed: ${response.status} ${response.statusText} ${text}`);
|
|
526
|
-
return null;
|
|
527
|
-
}
|
|
528
|
-
const data = await response.json();
|
|
529
|
-
if (data.status !== 'success') {
|
|
530
|
-
this.logger.warn(`ATXP: payment_info endpoint returned non-success status: ${JSON.stringify(data)}`);
|
|
531
|
-
return null;
|
|
532
|
-
}
|
|
533
|
-
if (!data.destinationAddress) {
|
|
534
|
-
this.logger.warn(`ATXP: payment_info endpoint did not return destinationAddress`);
|
|
535
|
-
return null;
|
|
536
|
-
}
|
|
537
|
-
if (!data.network) {
|
|
538
|
-
this.logger.warn(`ATXP: payment_info endpoint did not return network`);
|
|
539
|
-
return null;
|
|
540
|
-
}
|
|
541
|
-
this.logger.info(`ATXP: resolved ${network} destination to ${data.destinationAddress} on ${data.network}`);
|
|
542
|
-
return {
|
|
543
|
-
destinationAddress: data.destinationAddress,
|
|
544
|
-
network: data.network,
|
|
545
|
-
};
|
|
546
|
-
}
|
|
547
|
-
catch (error) {
|
|
548
|
-
this.logger.warn(`ATXP: failed to resolve ${network} destination: ${error.message}`);
|
|
549
|
-
return null;
|
|
550
|
-
}
|
|
551
|
-
}
|
|
552
418
|
}
|
|
553
419
|
|
|
554
420
|
export { ATXPFetcher, atxpFetch };
|
package/dist/atxpFetcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atxpFetcher.js","sources":["../src/atxpFetcher.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"atxpFetcher.js","sources":["../src/atxpFetcher.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/baseAccount.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { Account, PaymentMaker } from './types.js';
|
|
2
|
+
import type { AccountId, Source } from '@atxp/common';
|
|
2
3
|
import { LocalAccount } from 'viem';
|
|
3
4
|
export declare class BaseAccount implements Account {
|
|
4
|
-
accountId:
|
|
5
|
-
paymentMakers:
|
|
6
|
-
[key: string]: PaymentMaker;
|
|
7
|
-
};
|
|
5
|
+
accountId: AccountId;
|
|
6
|
+
paymentMakers: PaymentMaker[];
|
|
8
7
|
private walletClient;
|
|
9
8
|
private account;
|
|
10
9
|
constructor(baseRPCUrl: string, sourceSecretKey: string);
|
|
@@ -13,5 +12,9 @@ export declare class BaseAccount implements Account {
|
|
|
13
12
|
* This is only available for EVM-based accounts
|
|
14
13
|
*/
|
|
15
14
|
getSigner(): LocalAccount;
|
|
15
|
+
/**
|
|
16
|
+
* Get sources for this account
|
|
17
|
+
*/
|
|
18
|
+
getSources(): Promise<Source[]>;
|
|
16
19
|
}
|
|
17
20
|
//# sourceMappingURL=baseAccount.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseAccount.d.ts","sourceRoot":"","sources":["../src/baseAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAO,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"baseAccount.d.ts","sourceRoot":"","sources":["../src/baseAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAO,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAA0C,YAAY,EAAE,MAAM,MAAM,CAAC;AAG5E,qBAAa,WAAY,YAAW,OAAO;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAoB;gBAEvB,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAsBvD;;;OAGG;IACH,SAAS,IAAI,YAAY;IAKzB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAOtC"}
|
package/dist/baseAccount.js
CHANGED
|
@@ -12,15 +12,16 @@ class BaseAccount {
|
|
|
12
12
|
throw new Error('Source secret key is required');
|
|
13
13
|
}
|
|
14
14
|
this.account = privateKeyToAccount(sourceSecretKey);
|
|
15
|
-
|
|
15
|
+
// Format accountId as network:address
|
|
16
|
+
this.accountId = `base:${this.account.address}`;
|
|
16
17
|
this.walletClient = createWalletClient({
|
|
17
18
|
account: this.account,
|
|
18
19
|
chain: base,
|
|
19
20
|
transport: http(baseRPCUrl),
|
|
20
21
|
});
|
|
21
|
-
this.paymentMakers =
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
this.paymentMakers = [
|
|
23
|
+
new BasePaymentMaker(baseRPCUrl, this.walletClient)
|
|
24
|
+
];
|
|
24
25
|
}
|
|
25
26
|
/**
|
|
26
27
|
* Get a signer that can be used with the x402 library
|
|
@@ -30,6 +31,16 @@ class BaseAccount {
|
|
|
30
31
|
// Return the viem account directly - it implements LocalAccount interface
|
|
31
32
|
return this.account;
|
|
32
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Get sources for this account
|
|
36
|
+
*/
|
|
37
|
+
async getSources() {
|
|
38
|
+
return [{
|
|
39
|
+
address: this.account.address,
|
|
40
|
+
chain: 'base',
|
|
41
|
+
walletType: 'eoa'
|
|
42
|
+
}];
|
|
43
|
+
}
|
|
33
44
|
}
|
|
34
45
|
|
|
35
46
|
export { BaseAccount };
|
package/dist/baseAccount.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseAccount.js","sources":["../src/baseAccount.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"baseAccount.js","sources":["../src/baseAccount.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;MAOa,WAAW,CAAA;IAMtB,WAAA,CAAY,UAAkB,EAAE,eAAuB,EAAA;QACrD,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC;QAC7C;QACA,IAAI,CAAC,eAAe,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC;QAClD;AAEA,QAAA,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,eAAsB,CAAC;;QAG1D,IAAI,CAAC,SAAS,GAAG,CAAA,KAAA,EAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA,CAAe;AAC5D,QAAA,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;AAC5B,SAAA,CAAC;QACF,IAAI,CAAC,aAAa,GAAG;AACnB,YAAA,IAAI,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY;SACnD;IACH;AAEA;;;AAGG;IACH,SAAS,GAAA;;QAEP,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA;;AAEG;AACH,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC;AACN,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;AAC7B,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,UAAU,EAAE;AACb,aAAA,CAAC;IACJ;AACD;;;;"}
|