@atxp/base 0.2.22 → 0.4.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 (65) hide show
  1. package/dist/baseAppAccount.js +6 -3
  2. package/dist/baseAppAccount.js.map +1 -1
  3. package/dist/baseAppPaymentMaker.js +22 -42
  4. package/dist/baseAppPaymentMaker.js.map +1 -1
  5. package/dist/eip1271JwtHelper.js +83 -0
  6. package/dist/eip1271JwtHelper.js.map +1 -0
  7. package/dist/index.cjs +630 -0
  8. package/dist/index.cjs.map +1 -0
  9. package/dist/index.d.ts +157 -6
  10. package/dist/index.js +623 -5
  11. package/dist/index.js.map +1 -1
  12. package/dist/mainWalletPaymentMaker.js +26 -48
  13. package/dist/mainWalletPaymentMaker.js.map +1 -1
  14. package/dist/smartWalletHelpers.js +6 -3
  15. package/dist/smartWalletHelpers.js.map +1 -1
  16. package/dist/spendPermissionUtils.js +4 -2
  17. package/dist/spendPermissionUtils.js.map +1 -1
  18. package/dist/storage.js +6 -4
  19. package/dist/storage.js.map +1 -1
  20. package/package.json +21 -7
  21. package/dist/baseAppAccount.d.ts +0 -33
  22. package/dist/baseAppAccount.d.ts.map +0 -1
  23. package/dist/baseAppAccount.ephemeral.test.d.ts +0 -2
  24. package/dist/baseAppAccount.ephemeral.test.d.ts.map +0 -1
  25. package/dist/baseAppAccount.ephemeral.test.js +0 -426
  26. package/dist/baseAppAccount.ephemeral.test.js.map +0 -1
  27. package/dist/baseAppAccount.mainWallet.test.d.ts +0 -2
  28. package/dist/baseAppAccount.mainWallet.test.d.ts.map +0 -1
  29. package/dist/baseAppAccount.mainWallet.test.js +0 -259
  30. package/dist/baseAppAccount.mainWallet.test.js.map +0 -1
  31. package/dist/baseAppPaymentMaker.d.ts +0 -16
  32. package/dist/baseAppPaymentMaker.d.ts.map +0 -1
  33. package/dist/baseAppPaymentMaker.test.d.ts +0 -2
  34. package/dist/baseAppPaymentMaker.test.d.ts.map +0 -1
  35. package/dist/baseAppPaymentMaker.test.js +0 -113
  36. package/dist/baseAppPaymentMaker.test.js.map +0 -1
  37. package/dist/compatibility.test.d.ts +0 -2
  38. package/dist/compatibility.test.d.ts.map +0 -1
  39. package/dist/compatibility.test.js +0 -94
  40. package/dist/compatibility.test.js.map +0 -1
  41. package/dist/environment.test.d.ts +0 -2
  42. package/dist/environment.test.d.ts.map +0 -1
  43. package/dist/environment.test.js +0 -77
  44. package/dist/environment.test.js.map +0 -1
  45. package/dist/index.d.ts.map +0 -1
  46. package/dist/mainWalletPaymentMaker.d.ts +0 -22
  47. package/dist/mainWalletPaymentMaker.d.ts.map +0 -1
  48. package/dist/mainWalletPaymentMaker.test.d.ts +0 -2
  49. package/dist/mainWalletPaymentMaker.test.d.ts.map +0 -1
  50. package/dist/mainWalletPaymentMaker.test.js +0 -340
  51. package/dist/mainWalletPaymentMaker.test.js.map +0 -1
  52. package/dist/smartWalletHelpers.d.ts +0 -13
  53. package/dist/smartWalletHelpers.d.ts.map +0 -1
  54. package/dist/spendPermissionUtils.d.ts +0 -9
  55. package/dist/spendPermissionUtils.d.ts.map +0 -1
  56. package/dist/storage.d.ts +0 -51
  57. package/dist/storage.d.ts.map +0 -1
  58. package/dist/testHelpers.d.ts +0 -88
  59. package/dist/testHelpers.d.ts.map +0 -1
  60. package/dist/testHelpers.js +0 -202
  61. package/dist/testHelpers.js.map +0 -1
  62. package/dist/types.d.ts +0 -35
  63. package/dist/types.d.ts.map +0 -1
  64. package/dist/types.js +0 -3
  65. package/dist/types.js.map +0 -1
@@ -6,12 +6,13 @@ import { base } from 'viem/chains';
6
6
  import { BrowserStorage, IntermediaryStorage } from './storage.js';
7
7
  import { toEphemeralSmartWallet } from './smartWalletHelpers.js';
8
8
  import { ConsoleLogger } from '@atxp/common';
9
- import { createBaseAccountSDK } from "@base-org/account";
9
+ import { createBaseAccountSDK } from '@base-org/account';
10
10
  import { getSpendPermissionModule } from './spendPermissionUtils.js';
11
+
11
12
  const DEFAULT_ALLOWANCE = 10n;
12
13
  const DEFAULT_PERIOD_IN_DAYS = 7;
13
14
  const PAYMASTER_URL = 'https://api.developer.coinbase.com/rpc/v1/base/snPdXqIzOGhRkGNJvEHM5bl9Hm3yRO3m';
14
- export class BaseAppAccount {
15
+ class BaseAppAccount {
15
16
  static toStorageKey(userWalletAddress) {
16
17
  return `atxp-base-permission-${userWalletAddress}`;
17
18
  }
@@ -148,4 +149,6 @@ export class BaseAppAccount {
148
149
  storage.delete(this.toStorageKey(userWalletAddress));
149
150
  }
150
151
  }
151
- //# sourceMappingURL=baseAppAccount.js.map
152
+
153
+ export { BaseAppAccount };
154
+ //# sourceMappingURL=baseAppAccount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseAppAccount.js","sourceRoot":"","sources":["../src/baseAppAccount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseAppAccount.js","sources":["../src/baseAppAccount.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -2,15 +2,8 @@ import { USDC_CONTRACT_ADDRESS_BASE } from '@atxp/client';
2
2
  import { ConsoleLogger } from '@atxp/common';
3
3
  import { encodeFunctionData, parseEther } from 'viem';
4
4
  import { getSpendPermissionModule } from './spendPermissionUtils.js';
5
- // Helper function to convert to base64url that works in both Node.js and browsers
6
- function toBase64Url(data) {
7
- // Convert string to base64
8
- const base64 = typeof Buffer !== 'undefined'
9
- ? Buffer.from(data).toString('base64')
10
- : btoa(data);
11
- // Convert base64 to base64url
12
- return base64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
13
- }
5
+ import { constructEIP1271Message, createEIP1271AuthData, createEIP1271JWT } from './eip1271JwtHelper.js';
6
+
14
7
  const USDC_DECIMALS = 6;
15
8
  // Minimal ERC20 ABI for transfer function
16
9
  const ERC20_ABI = [
@@ -46,7 +39,7 @@ async function waitForTransactionConfirmations(smartWallet, txHash, confirmation
46
39
  // Continue anyway - the transaction is already mined
47
40
  }
48
41
  }
49
- export class BaseAppPaymentMaker {
42
+ class BaseAppPaymentMaker {
50
43
  constructor(spendPermission, smartWallet, logger) {
51
44
  if (!spendPermission) {
52
45
  throw new Error('Spend permission is required');
@@ -61,45 +54,30 @@ export class BaseAppPaymentMaker {
61
54
  async generateJWT({ paymentRequestId, codeChallenge }) {
62
55
  // Generate EIP-1271 auth data for smart wallet authentication
63
56
  const timestamp = Math.floor(Date.now() / 1000);
64
- const nonce = Math.random().toString(36).substring(2, 15); // Generate random nonce
65
- // Construct the message in the required format
66
- const messageParts = [
67
- `PayMCP Authorization Request`,
68
- ``,
69
- `Wallet: ${this.smartWallet.account.address}`,
70
- `Timestamp: ${timestamp}`,
71
- `Nonce: ${nonce}`
72
- ];
73
- if (codeChallenge) {
74
- messageParts.push(`Code Challenge: ${codeChallenge}`);
75
- }
76
- if (paymentRequestId) {
77
- messageParts.push(`Payment Request ID: ${paymentRequestId}`);
78
- }
79
- messageParts.push('', '', 'Sign this message to prove you control this wallet.');
80
- const message = messageParts.join('\n');
57
+ const message = constructEIP1271Message({
58
+ walletAddress: this.smartWallet.account.address,
59
+ timestamp,
60
+ codeChallenge,
61
+ paymentRequestId
62
+ });
81
63
  // Sign the message - this will return an ABI-encoded signature from the smart wallet
82
64
  const signature = await this.smartWallet.account.signMessage({
83
65
  message: message
84
66
  });
85
- // Create EIP-1271 auth data
86
- const authData = {
87
- type: 'EIP1271_AUTH',
67
+ const authData = createEIP1271AuthData({
88
68
  walletAddress: this.smartWallet.account.address,
89
- message: message,
90
- signature: signature,
91
- timestamp: timestamp,
92
- nonce: nonce,
93
- ...(codeChallenge && { code_challenge: codeChallenge }),
94
- ...(paymentRequestId && { payment_request_id: paymentRequestId })
95
- };
96
- // Encode as base64url
97
- const encodedAuth = toBase64Url(JSON.stringify(authData));
69
+ message,
70
+ signature,
71
+ timestamp,
72
+ codeChallenge,
73
+ paymentRequestId
74
+ });
75
+ const jwtToken = createEIP1271JWT(authData);
98
76
  this.logger.info(`codeChallenge: ${codeChallenge}`);
99
77
  this.logger.info(`paymentRequestId: ${paymentRequestId}`);
100
78
  this.logger.info(`walletAddress: ${this.smartWallet.account.address}`);
101
- this.logger.info(`Generated EIP-1271 auth data: ${encodedAuth}`);
102
- return encodedAuth;
79
+ this.logger.info(`Generated EIP-1271 JWT: ${jwtToken}`);
80
+ return jwtToken;
103
81
  }
104
82
  async makePayment(amount, currency, receiver, memo) {
105
83
  if (currency !== 'USDC') {
@@ -165,4 +143,6 @@ export class BaseAppPaymentMaker {
165
143
  return txHash;
166
144
  }
167
145
  }
168
- //# sourceMappingURL=baseAppPaymentMaker.js.map
146
+
147
+ export { BaseAppPaymentMaker };
148
+ //# sourceMappingURL=baseAppPaymentMaker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseAppPaymentMaker.js","sourceRoot":"","sources":["../src/baseAppPaymentMaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseAppPaymentMaker.js","sources":["../src/baseAppPaymentMaker.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * EIP-1271 JWT helper utilities for creating properly formatted JWTs
3
+ * from EIP-1271 auth data.
4
+ */
5
+ // Helper function to convert to base64url that works in both Node.js and browsers
6
+ function toBase64Url(data) {
7
+ // Convert string to base64
8
+ const base64 = typeof Buffer !== 'undefined'
9
+ ? Buffer.from(data).toString('base64')
10
+ : btoa(data);
11
+ // Convert base64 to base64url
12
+ return base64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
13
+ }
14
+ /**
15
+ * Convert EIP-1271 auth data to JWT format
16
+ * @param authData The EIP-1271 auth data (signature will be moved to JWT signature section)
17
+ * @returns JWT string in the format header.payload.signature
18
+ */
19
+ function createEIP1271JWT(authData) {
20
+ // Create JWT header
21
+ const header = {
22
+ alg: 'EIP1271',
23
+ typ: 'JWT'
24
+ };
25
+ // Create payload without signature (signature goes in JWT signature section)
26
+ const payload = {
27
+ sub: authData.walletAddress,
28
+ iss: 'accounts.atxp.ai',
29
+ aud: 'https://auth.atxp.ai',
30
+ iat: authData.timestamp,
31
+ exp: authData.timestamp + 3600, // 1 hour expiration
32
+ msg: authData.message,
33
+ ...(authData.code_challenge && { code_challenge: authData.code_challenge }),
34
+ ...(authData.payment_request_id && { payment_request_id: authData.payment_request_id })
35
+ };
36
+ // Encode header and payload
37
+ const encodedHeader = toBase64Url(JSON.stringify(header));
38
+ const encodedPayload = toBase64Url(JSON.stringify(payload));
39
+ // EIP-1271 signature goes in JWT signature section
40
+ const encodedSignature = toBase64Url(authData.signature);
41
+ // Return JWT format: header.payload.signature
42
+ return `${encodedHeader}.${encodedPayload}.${encodedSignature}`;
43
+ }
44
+ /**
45
+ * Create auth data structure from signing parameters
46
+ */
47
+ function createEIP1271AuthData({ walletAddress, message, signature, timestamp, nonce, codeChallenge, paymentRequestId }) {
48
+ return {
49
+ type: 'EIP1271_AUTH',
50
+ walletAddress,
51
+ message,
52
+ signature,
53
+ timestamp,
54
+ ...(nonce && { nonce }),
55
+ ...(codeChallenge && { code_challenge: codeChallenge }),
56
+ ...(paymentRequestId && { payment_request_id: paymentRequestId })
57
+ };
58
+ }
59
+ /**
60
+ * Construct the standardized message format for EIP-1271 signing
61
+ */
62
+ function constructEIP1271Message({ walletAddress, timestamp, nonce, codeChallenge, paymentRequestId }) {
63
+ const messageParts = [
64
+ `PayMCP Authorization Request`,
65
+ ``,
66
+ `Wallet: ${walletAddress}`,
67
+ `Timestamp: ${timestamp}`
68
+ ];
69
+ if (nonce !== undefined && nonce !== null) {
70
+ messageParts.push(`Nonce: ${nonce}`);
71
+ }
72
+ if (codeChallenge) {
73
+ messageParts.push(`Code Challenge: ${codeChallenge}`);
74
+ }
75
+ if (paymentRequestId) {
76
+ messageParts.push(`Payment Request ID: ${paymentRequestId}`);
77
+ }
78
+ messageParts.push('', '', 'Sign this message to prove you control this wallet.');
79
+ return messageParts.join('\n');
80
+ }
81
+
82
+ export { constructEIP1271Message, createEIP1271AuthData, createEIP1271JWT };
83
+ //# sourceMappingURL=eip1271JwtHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip1271JwtHelper.js","sources":["../src/eip1271JwtHelper.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}