@atxp/base 0.7.1 → 0.7.2

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.
@@ -1,4 +1,4 @@
1
- import { USDC_CONTRACT_ADDRESS_BASE } from '@atxp/client';
1
+ import { getBaseUSDCAddress } from '@atxp/client';
2
2
  import { BaseAppPaymentMaker } from './baseAppPaymentMaker.js';
3
3
  import { MainWalletPaymentMaker } from './mainWalletPaymentMaker.js';
4
4
  import { generatePrivateKey } from 'viem/accounts';
@@ -17,7 +17,10 @@ class BaseAppAccount {
17
17
  static async initialize(config) {
18
18
  const logger = config.logger || new ConsoleLogger();
19
19
  const useEphemeralWallet = config.useEphemeralWallet ?? true; // Default to true for backward compatibility
20
- // Some wallets don't support wallet_connect, so
20
+ const chainId = config.chainId || base.id; // Default to Base mainnet
21
+ // Get USDC address for the specified chain
22
+ const usdcAddress = getBaseUSDCAddress(chainId);
23
+ // Some wallets don't support wallet_connect, so
21
24
  // will just continue if it fails
22
25
  try {
23
26
  await config.provider.request({ method: 'wallet_connect' });
@@ -31,7 +34,7 @@ class BaseAppAccount {
31
34
  logger.info(`Using main wallet mode for address: ${config.walletAddress}`);
32
35
  return new BaseAppAccount(null, // No spend permission in main wallet mode
33
36
  null, // No ephemeral wallet in main wallet mode
34
- logger, config.walletAddress, config.provider);
37
+ logger, config.walletAddress, config.provider, chainId);
35
38
  }
36
39
  // Initialize cache
37
40
  const baseCache = config?.cache || new BrowserCache();
@@ -40,26 +43,26 @@ class BaseAppAccount {
40
43
  // Try to load existing permission
41
44
  const existingData = this.loadSavedWalletAndPermission(cache, cacheKey);
42
45
  if (existingData) {
43
- const ephemeralSmartWallet = await toEphemeralSmartWallet(existingData.privateKey);
44
- return new BaseAppAccount(existingData.permission, ephemeralSmartWallet, logger);
46
+ const ephemeralSmartWallet = await toEphemeralSmartWallet(existingData.privateKey, chainId);
47
+ return new BaseAppAccount(existingData.permission, ephemeralSmartWallet, logger, undefined, undefined, chainId);
45
48
  }
46
49
  const privateKey = generatePrivateKey();
47
- const smartWallet = await toEphemeralSmartWallet(privateKey);
50
+ const smartWallet = await toEphemeralSmartWallet(privateKey, chainId);
48
51
  logger.info(`Generated ephemeral wallet: ${smartWallet.address}`);
49
52
  await this.deploySmartWallet(smartWallet);
50
53
  logger.info(`Deployed smart wallet: ${smartWallet.address}`);
51
54
  const permission = await requestSpendPermission({
52
55
  account: config.walletAddress,
53
56
  spender: smartWallet.address,
54
- token: USDC_CONTRACT_ADDRESS_BASE,
55
- chainId: base.id,
57
+ token: usdcAddress,
58
+ chainId: chainId,
56
59
  allowance: config?.allowance ?? DEFAULT_ALLOWANCE,
57
60
  periodInDays: config?.periodInDays ?? DEFAULT_PERIOD_IN_DAYS,
58
61
  provider: config.provider,
59
62
  });
60
63
  // Save wallet and permission
61
64
  cache.set(cacheKey, { privateKey, permission });
62
- return new BaseAppAccount(permission, smartWallet, logger);
65
+ return new BaseAppAccount(permission, smartWallet, logger, undefined, undefined, chainId);
63
66
  }
64
67
  static loadSavedWalletAndPermission(permissionCache, cacheKey) {
65
68
  const cachedData = permissionCache.get(cacheKey);
@@ -90,7 +93,7 @@ class BaseAppAccount {
90
93
  throw new Error(`Smart wallet deployment failed. Receipt: ${JSON.stringify(receipt)}`);
91
94
  }
92
95
  }
93
- constructor(spendPermission, ephemeralSmartWallet, logger, mainWalletAddress, provider) {
96
+ constructor(spendPermission, ephemeralSmartWallet, logger, mainWalletAddress, provider, chainId = base.id) {
94
97
  if (ephemeralSmartWallet) {
95
98
  // Ephemeral wallet mode
96
99
  if (!spendPermission) {
@@ -98,7 +101,7 @@ class BaseAppAccount {
98
101
  }
99
102
  this.accountId = ephemeralSmartWallet.address;
100
103
  this.paymentMakers = {
101
- 'base': new BaseAppPaymentMaker(spendPermission, ephemeralSmartWallet, logger),
104
+ 'base': new BaseAppPaymentMaker(spendPermission, ephemeralSmartWallet, logger, chainId),
102
105
  };
103
106
  }
104
107
  else {
@@ -108,7 +111,7 @@ class BaseAppAccount {
108
111
  }
109
112
  this.accountId = mainWalletAddress;
110
113
  this.paymentMakers = {
111
- 'base': new MainWalletPaymentMaker(mainWalletAddress, provider, logger),
114
+ 'base': new MainWalletPaymentMaker(mainWalletAddress, provider, logger, chainId),
112
115
  };
113
116
  }
114
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"baseAppAccount.js","sources":["../src/baseAppAccount.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseAppAccount.js","sources":["../src/baseAppAccount.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAaA,MAAM,iBAAiB,GAAG,GAAG;AAC7B,MAAM,sBAAsB,GAAG,CAAC;MAEnB,cAAc,CAAA;IAIjB,OAAO,UAAU,CAAC,iBAAyB,EAAA;QACjD,OAAO,CAAA,qBAAA,EAAwB,iBAAiB,CAAA,CAAE;IACpD;AAEA,IAAA,aAAa,UAAU,CAAC,MASrB,EAAA;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,aAAa,EAAE;QACnD,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC;;AAG1C,QAAA,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC;;;AAI/C,QAAA,IAAI;AACF,YAAA,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QAC7D;QAAE,OAAO,KAAK,EAAE;;AAEd,YAAA,MAAM,CAAC,IAAI,CAAC,iEAAiE,KAAK,CAAA,CAAE,CAAC;QACvF;;QAGA,IAAI,CAAC,kBAAkB,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,CAAA,oCAAA,EAAuC,MAAM,CAAC,aAAa,CAAA,CAAE,CAAC;AAC1E,YAAA,OAAO,IAAI,cAAc,CACvB,IAAI;AACJ,YAAA,IAAI;YACJ,MAAM,EACN,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,QAAQ,EACf,OAAO,CACR;QACH;;QAGA,MAAM,SAAS,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,YAAY,EAAE;AACrD,QAAA,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,SAAS,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC;;QAGtD,MAAM,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC;QACvE,IAAI,YAAY,EAAE;YAChB,MAAM,oBAAoB,GAAG,MAAM,sBAAsB,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC;AAC3F,YAAA,OAAO,IAAI,cAAc,CAAC,YAAY,CAAC,UAAU,EAAE,oBAAoB,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;QACjH;AAEA,QAAA,MAAM,UAAU,GAAG,kBAAkB,EAAE;QACvC,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC,CAAA,4BAAA,EAA+B,WAAW,CAAC,OAAO,CAAA,CAAE,CAAC;AACjE,QAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,CAAA,uBAAA,EAA0B,WAAW,CAAC,OAAO,CAAA,CAAE,CAAC;AAE5D,QAAA,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC;YAC9C,OAAO,EAAE,MAAM,CAAC,aAAa;YAC7B,OAAO,EAAE,WAAW,CAAC,OAAO;AAC5B,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,iBAAiB;AACjD,YAAA,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,sBAAsB;YAC5D,QAAQ,EAAE,MAAM,CAAC,QAAQ;AAC1B,SAAA,CAAC;;QAGF,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAC,UAAU,EAAE,UAAU,EAAC,CAAC;AAE7C,QAAA,OAAO,IAAI,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;IAC3F;AAEQ,IAAA,OAAO,4BAA4B,CACzC,eAAkC,EAClC,QAAgB,EAAA;QAEhB,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;AAChD,QAAA,IAAI,CAAC,UAAU;AAAE,YAAA,OAAO,IAAI;;AAG5B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AACzC,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC/E,QAAA,IAAI,aAAa,IAAI,GAAG,EAAE;AACxB,YAAA,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;AAChC,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,UAAU;IACnB;AAEQ,IAAA,aAAa,iBAAiB,CACpC,WAAiC,EAAA;QAEjC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC;AAC1D,YAAA,KAAK,EAAE,CAAC;oBACN,EAAE,EAAE,WAAW,CAAC,OAAO;AACvB,oBAAA,KAAK,EAAE,EAAE;AACT,oBAAA,IAAI,EAAE;iBACP,CAAC;AACF,YAAA,SAAS,EAAE;AACZ,SAAA,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,2BAA2B,CAAC;AACnE,YAAA,IAAI,EAAE;AACP,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,yCAAA,EAA4C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,CAAE,CAAC;QACxF;IACF;AAEA,IAAA,WAAA,CACE,eAAuC,EACvC,oBAAiD,EACjD,MAAe,EACf,iBAA0B,EAC1B,QAA6B,EAC7B,OAAA,GAAkB,IAAI,CAAC,EAAE,EAAA;QAEzB,IAAI,oBAAoB,EAAE;;YAExB,IAAI,CAAC,eAAe,EAAE;AACpB,gBAAA,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC;YAC3E;AACA,YAAA,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC,OAAO;YAC7C,IAAI,CAAC,aAAa,GAAG;gBACnB,MAAM,EAAE,IAAI,mBAAmB,CAAC,eAAe,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,CAAC;aACxF;QACH;aAAO;;AAEL,YAAA,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,EAAE;AACnC,gBAAA,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC;YACvF;AACA,YAAA,IAAI,CAAC,SAAS,GAAG,iBAAiB;YAClC,IAAI,CAAC,aAAa,GAAG;gBACnB,MAAM,EAAE,IAAI,sBAAsB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;aACjF;QACH;IACF;AAEA;;;;AAIG;AAEH,IAAA,OAAO,kBAAkB,CAAC,iBAAyB,EAAE,KAAsB,EAAA;;QAEzE,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE;;AAEvC,YAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,gBAAA,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC;YACvG;YACA,KAAK,GAAG,YAAY;QACtB;QAEA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAClD;AACD;;;;"}
@@ -1,4 +1,5 @@
1
- import { USDC_CONTRACT_ADDRESS_BASE } from '@atxp/client';
1
+ import { getBaseUSDCAddress } from '@atxp/client';
2
+ import { base } from 'viem/chains';
2
3
  import { ConsoleLogger, constructEIP1271Message, createEIP1271AuthData, createEIP1271JWT } from '@atxp/common';
3
4
  import { encodeFunctionData, parseEther } from 'viem';
4
5
  import { prepareSpendCallData } from './spendPermissionShim.js';
@@ -39,7 +40,7 @@ async function waitForTransactionConfirmations(smartWallet, txHash, confirmation
39
40
  }
40
41
  }
41
42
  class BaseAppPaymentMaker {
42
- constructor(spendPermission, smartWallet, logger) {
43
+ constructor(spendPermission, smartWallet, logger, chainId = base.id) {
43
44
  if (!spendPermission) {
44
45
  throw new Error('Spend permission is required');
45
46
  }
@@ -49,6 +50,8 @@ class BaseAppPaymentMaker {
49
50
  this.logger = logger ?? new ConsoleLogger();
50
51
  this.spendPermission = spendPermission;
51
52
  this.smartWallet = smartWallet;
53
+ this.chainId = chainId;
54
+ this.usdcAddress = getBaseUSDCAddress(chainId);
52
55
  }
53
56
  async generateJWT({ paymentRequestId, codeChallenge }) {
54
57
  // Generate EIP-1271 auth data for smart wallet authentication
@@ -104,7 +107,7 @@ class BaseAppPaymentMaker {
104
107
  this.logger.info(`Added memo "${memo.trim()}" to transfer call`);
105
108
  }
106
109
  const transferCall = {
107
- to: USDC_CONTRACT_ADDRESS_BASE,
110
+ to: this.usdcAddress,
108
111
  data: transferCallData,
109
112
  value: '0x0'
110
113
  };
@@ -1 +1 @@
1
- {"version":3,"file":"baseAppPaymentMaker.js","sources":["../src/baseAppPaymentMaker.ts"],"sourcesContent":[null],"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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"}
package/dist/index.cjs CHANGED
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var client = require('@atxp/client');
4
+ var chains = require('viem/chains');
4
5
  var common = require('@atxp/common');
5
6
  var viem = require('viem');
6
- var chains = require('viem/chains');
7
7
  var accounts = require('viem/accounts');
8
8
  var accountAbstraction = require('viem/account-abstraction');
9
9
 
@@ -73,12 +73,24 @@ const ERC20_ABI$1 = [
73
73
  "type": "function"
74
74
  }
75
75
  ];
76
- async function requestSpendPermission(params) {
77
- if (params.chainId !== chains.base.id) {
78
- throw new Error(`Chain ID ${params.chainId} is not supported`);
76
+ /**
77
+ * Get Base chain configuration by chain ID
78
+ */
79
+ function getBaseChainConfig(chainId) {
80
+ switch (chainId) {
81
+ case 8453: // Base mainnet
82
+ return chains.base;
83
+ case 84532: // Base Sepolia
84
+ return chains.baseSepolia;
85
+ default:
86
+ throw new Error(`Unsupported Base Chain ID: ${chainId}. Supported chains: 8453 (mainnet), 84532 (sepolia)`);
79
87
  }
88
+ }
89
+ async function requestSpendPermission(params) {
90
+ // Validate chain ID and get chain config
91
+ const chainConfig = getBaseChainConfig(params.chainId);
80
92
  const client = viem.createWalletClient({
81
- chain: chains.base,
93
+ chain: chainConfig,
82
94
  transport: viem.custom(params.provider)
83
95
  });
84
96
  // Use the client
@@ -158,7 +170,7 @@ async function waitForTransactionConfirmations(smartWallet, txHash, confirmation
158
170
  }
159
171
  }
160
172
  class BaseAppPaymentMaker {
161
- constructor(spendPermission, smartWallet, logger) {
173
+ constructor(spendPermission, smartWallet, logger, chainId = chains.base.id) {
162
174
  if (!spendPermission) {
163
175
  throw new Error('Spend permission is required');
164
176
  }
@@ -168,6 +180,8 @@ class BaseAppPaymentMaker {
168
180
  this.logger = logger ?? new common.ConsoleLogger();
169
181
  this.spendPermission = spendPermission;
170
182
  this.smartWallet = smartWallet;
183
+ this.chainId = chainId;
184
+ this.usdcAddress = client.getBaseUSDCAddress(chainId);
171
185
  }
172
186
  async generateJWT({ paymentRequestId, codeChallenge }) {
173
187
  // Generate EIP-1271 auth data for smart wallet authentication
@@ -223,7 +237,7 @@ class BaseAppPaymentMaker {
223
237
  this.logger.info(`Added memo "${memo.trim()}" to transfer call`);
224
238
  }
225
239
  const transferCall = {
226
- to: client.USDC_CONTRACT_ADDRESS_BASE,
240
+ to: this.usdcAddress,
227
241
  data: transferCallData,
228
242
  value: '0x0'
229
243
  };
@@ -262,10 +276,12 @@ class BaseAppPaymentMaker {
262
276
 
263
277
  const USDC_DECIMALS = 6;
264
278
  class MainWalletPaymentMaker {
265
- constructor(walletAddress, provider, logger) {
279
+ constructor(walletAddress, provider, logger, chainId = chains.base.id) {
266
280
  this.walletAddress = walletAddress;
267
281
  this.provider = provider;
268
282
  this.logger = logger || new common.ConsoleLogger();
283
+ this.chainId = chainId;
284
+ this.usdcAddress = client.getBaseUSDCAddress(chainId);
269
285
  }
270
286
  async generateJWT(payload) {
271
287
  this.logger.info(`codeChallenge: ${payload.codeChallenge}`);
@@ -338,7 +354,7 @@ class MainWalletPaymentMaker {
338
354
  method: 'eth_sendTransaction',
339
355
  params: [{
340
356
  from: this.walletAddress,
341
- to: client.USDC_CONTRACT_ADDRESS_BASE,
357
+ to: this.usdcAddress,
342
358
  data: transferData,
343
359
  value: '0x0'
344
360
  }]
@@ -393,19 +409,61 @@ class MainWalletPaymentMaker {
393
409
  class IntermediaryCache extends common.JsonCache {
394
410
  }
395
411
 
396
- // Coinbase CDP Paymaster and Bundler endpoints
397
- const COINBASE_BUNDLER_URL = 'https://api.developer.coinbase.com/rpc/v1/base';
398
- const COINBASE_PAYMASTER_URL = 'https://api.developer.coinbase.com/rpc/v1/base';
412
+ // Coinbase CDP API Key
399
413
  const COINBASE_API_KEY = 'snPdXqIzOGhRkGNJvEHM5bl9Hm3yRO3m';
414
+ /**
415
+ * Get Coinbase CDP Bundler URL for a given chain
416
+ */
417
+ function getCoinbaseBundlerUrl(chainId) {
418
+ switch (chainId) {
419
+ case 8453: // Base mainnet
420
+ return 'https://api.developer.coinbase.com/rpc/v1/base';
421
+ case 84532: // Base Sepolia
422
+ return 'https://api.developer.coinbase.com/rpc/v1/base-sepolia';
423
+ default:
424
+ throw new Error(`Unsupported chain ID for Coinbase bundler: ${chainId}`);
425
+ }
426
+ }
427
+ /**
428
+ * Get Coinbase CDP Paymaster URL for a given chain
429
+ */
430
+ function getCoinbasePaymasterUrl(chainId) {
431
+ switch (chainId) {
432
+ case 8453: // Base mainnet
433
+ return 'https://api.developer.coinbase.com/rpc/v1/base';
434
+ case 84532: // Base Sepolia
435
+ return 'https://api.developer.coinbase.com/rpc/v1/base-sepolia';
436
+ default:
437
+ throw new Error(`Unsupported chain ID for Coinbase paymaster: ${chainId}`);
438
+ }
439
+ }
440
+ /**
441
+ * Get Base chain configuration by chain ID
442
+ */
443
+ function getBaseChain(chainId) {
444
+ switch (chainId) {
445
+ case 8453:
446
+ return chains.base;
447
+ case 84532:
448
+ return chains.baseSepolia;
449
+ default:
450
+ throw new Error(`Unsupported Base chain ID: ${chainId}. Supported: 8453 (mainnet), 84532 (sepolia)`);
451
+ }
452
+ }
400
453
  /**
401
454
  * Creates an ephemeral smart wallet with paymaster support
455
+ * @param privateKey - Private key for the wallet signer
456
+ * @param chainId - Chain ID (defaults to 8453 for Base mainnet, can be 84532 for Base Sepolia)
402
457
  */
403
- async function toEphemeralSmartWallet(privateKey) {
458
+ async function toEphemeralSmartWallet(privateKey, chainId = chains.base.id) {
404
459
  const apiKey = COINBASE_API_KEY;
405
460
  const signer = accounts.privateKeyToAccount(privateKey);
461
+ const chain = getBaseChain(chainId);
462
+ const bundlerUrl = getCoinbaseBundlerUrl(chainId);
463
+ const paymasterUrl = getCoinbasePaymasterUrl(chainId);
406
464
  const publicClient = viem.createPublicClient({
407
- chain: chains.base,
408
- transport: viem.http(`${COINBASE_BUNDLER_URL}/${apiKey}`)
465
+ chain,
466
+ transport: viem.http(`${bundlerUrl}/${apiKey}`)
409
467
  });
410
468
  // Create the Coinbase smart wallet
411
469
  const account = await accountAbstraction.toCoinbaseSmartAccount({
@@ -417,11 +475,11 @@ async function toEphemeralSmartWallet(privateKey) {
417
475
  const bundlerClient = accountAbstraction.createBundlerClient({
418
476
  account,
419
477
  client: publicClient,
420
- transport: viem.http(`${COINBASE_BUNDLER_URL}/${apiKey}`),
421
- chain: chains.base,
478
+ transport: viem.http(`${bundlerUrl}/${apiKey}`),
479
+ chain,
422
480
  paymaster: true, // Enable paymaster sponsorship
423
481
  paymasterContext: {
424
- transport: viem.http(`${COINBASE_PAYMASTER_URL}/${apiKey}`)
482
+ transport: viem.http(`${paymasterUrl}/${apiKey}`)
425
483
  }
426
484
  });
427
485
  return {
@@ -441,7 +499,10 @@ class BaseAppAccount {
441
499
  static async initialize(config) {
442
500
  const logger = config.logger || new common.ConsoleLogger();
443
501
  const useEphemeralWallet = config.useEphemeralWallet ?? true; // Default to true for backward compatibility
444
- // Some wallets don't support wallet_connect, so
502
+ const chainId = config.chainId || chains.base.id; // Default to Base mainnet
503
+ // Get USDC address for the specified chain
504
+ const usdcAddress = client.getBaseUSDCAddress(chainId);
505
+ // Some wallets don't support wallet_connect, so
445
506
  // will just continue if it fails
446
507
  try {
447
508
  await config.provider.request({ method: 'wallet_connect' });
@@ -455,7 +516,7 @@ class BaseAppAccount {
455
516
  logger.info(`Using main wallet mode for address: ${config.walletAddress}`);
456
517
  return new BaseAppAccount(null, // No spend permission in main wallet mode
457
518
  null, // No ephemeral wallet in main wallet mode
458
- logger, config.walletAddress, config.provider);
519
+ logger, config.walletAddress, config.provider, chainId);
459
520
  }
460
521
  // Initialize cache
461
522
  const baseCache = config?.cache || new common.BrowserCache();
@@ -464,26 +525,26 @@ class BaseAppAccount {
464
525
  // Try to load existing permission
465
526
  const existingData = this.loadSavedWalletAndPermission(cache, cacheKey);
466
527
  if (existingData) {
467
- const ephemeralSmartWallet = await toEphemeralSmartWallet(existingData.privateKey);
468
- return new BaseAppAccount(existingData.permission, ephemeralSmartWallet, logger);
528
+ const ephemeralSmartWallet = await toEphemeralSmartWallet(existingData.privateKey, chainId);
529
+ return new BaseAppAccount(existingData.permission, ephemeralSmartWallet, logger, undefined, undefined, chainId);
469
530
  }
470
531
  const privateKey = accounts.generatePrivateKey();
471
- const smartWallet = await toEphemeralSmartWallet(privateKey);
532
+ const smartWallet = await toEphemeralSmartWallet(privateKey, chainId);
472
533
  logger.info(`Generated ephemeral wallet: ${smartWallet.address}`);
473
534
  await this.deploySmartWallet(smartWallet);
474
535
  logger.info(`Deployed smart wallet: ${smartWallet.address}`);
475
536
  const permission = await requestSpendPermission({
476
537
  account: config.walletAddress,
477
538
  spender: smartWallet.address,
478
- token: client.USDC_CONTRACT_ADDRESS_BASE,
479
- chainId: chains.base.id,
539
+ token: usdcAddress,
540
+ chainId: chainId,
480
541
  allowance: config?.allowance ?? DEFAULT_ALLOWANCE,
481
542
  periodInDays: config?.periodInDays ?? DEFAULT_PERIOD_IN_DAYS,
482
543
  provider: config.provider,
483
544
  });
484
545
  // Save wallet and permission
485
546
  cache.set(cacheKey, { privateKey, permission });
486
- return new BaseAppAccount(permission, smartWallet, logger);
547
+ return new BaseAppAccount(permission, smartWallet, logger, undefined, undefined, chainId);
487
548
  }
488
549
  static loadSavedWalletAndPermission(permissionCache, cacheKey) {
489
550
  const cachedData = permissionCache.get(cacheKey);
@@ -514,7 +575,7 @@ class BaseAppAccount {
514
575
  throw new Error(`Smart wallet deployment failed. Receipt: ${JSON.stringify(receipt)}`);
515
576
  }
516
577
  }
517
- constructor(spendPermission, ephemeralSmartWallet, logger, mainWalletAddress, provider) {
578
+ constructor(spendPermission, ephemeralSmartWallet, logger, mainWalletAddress, provider, chainId = chains.base.id) {
518
579
  if (ephemeralSmartWallet) {
519
580
  // Ephemeral wallet mode
520
581
  if (!spendPermission) {
@@ -522,7 +583,7 @@ class BaseAppAccount {
522
583
  }
523
584
  this.accountId = ephemeralSmartWallet.address;
524
585
  this.paymentMakers = {
525
- 'base': new BaseAppPaymentMaker(spendPermission, ephemeralSmartWallet, logger),
586
+ 'base': new BaseAppPaymentMaker(spendPermission, ephemeralSmartWallet, logger, chainId),
526
587
  };
527
588
  }
528
589
  else {
@@ -532,7 +593,7 @@ class BaseAppAccount {
532
593
  }
533
594
  this.accountId = mainWalletAddress;
534
595
  this.paymentMakers = {
535
- 'base': new MainWalletPaymentMaker(mainWalletAddress, provider, logger),
596
+ 'base': new MainWalletPaymentMaker(mainWalletAddress, provider, logger, chainId),
536
597
  };
537
598
  }
538
599
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/spendPermissionShim.ts","../src/baseAppPaymentMaker.ts","../src/mainWalletPaymentMaker.ts","../src/cache.ts","../src/smartWalletHelpers.ts","../src/baseAppAccount.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["ERC20_ABI","base","createWalletClient","custom","encodeFunctionData","USDC_DECIMALS","ConsoleLogger","constructEIP1271Message","createEIP1271AuthData","createEIP1271JWT","USDC_CONTRACT_ADDRESS_BASE","parseEther","toHex","JsonCache","privateKeyToAccount","createPublicClient","http","toCoinbaseSmartAccount","createBundlerClient","BrowserCache","generatePrivateKey"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/spendPermissionShim.ts","../src/baseAppPaymentMaker.ts","../src/mainWalletPaymentMaker.ts","../src/cache.ts","../src/smartWalletHelpers.ts","../src/baseAppAccount.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["ERC20_ABI","base","baseSepolia","createWalletClient","custom","encodeFunctionData","USDC_DECIMALS","ConsoleLogger","getBaseUSDCAddress","constructEIP1271Message","createEIP1271AuthData","createEIP1271JWT","parseEther","toHex","JsonCache","privateKeyToAccount","createPublicClient","http","toCoinbaseSmartAccount","createBundlerClient","BrowserCache","generatePrivateKey"],"mappings":";;;;;;;;;AAKA;;;;;;;;;AASE;AAEF;AACA;AACA;AAEA;AACA,MAAMA,WAAS,GAAG;AAChB,IAAA;AACE,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,QAAQ,EAAE;AACN,YAAA;AACI,gBAAA,MAAM,EAAE,UAAU;AAClB,gBAAA,MAAM,EAAE;AACX,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,MAAM,EAAE;AACX;AACJ,SAAA;AACD,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,SAAS,EAAE;AACP,YAAA;AACI,gBAAA,MAAM,EAAE,EAAE;AACV,gBAAA,MAAM,EAAE;AACX;AACJ,SAAA;AACD,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,iBAAiB,EAAE,YAAY;AAC/B,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACI,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,QAAQ,EAAE;AACN,YAAA;AACI,gBAAA,MAAM,EAAE,OAAO;AACf,gBAAA,MAAM,EAAE;AACX,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,MAAM,EAAE;AACX,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,MAAM,EAAE;AACX;AACJ,SAAA;AACD,QAAA,MAAM,EAAE,cAAc;AACtB,QAAA,SAAS,EAAE;AACP,YAAA;AACI,gBAAA,MAAM,EAAE,EAAE;AACV,gBAAA,MAAM,EAAE;AACX;AACJ,SAAA;AACD,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,iBAAiB,EAAE,YAAY;AAC/B,QAAA,MAAM,EAAE;AACX;CACO;AAEV;;AAEG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAA;IACzC,QAAQ,OAAO;QACb,KAAK,IAAI;AACP,YAAA,OAAOC,WAAI;QACb,KAAK,KAAK;AACR,YAAA,OAAOC,kBAAW;AACpB,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,CAAA,mDAAA,CAAqD,CAAC;;AAEjH;AAEO,eAAe,sBAAsB,CAAC,MAQ5C,EAAA;;IAEC,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC;IAEtD,MAAM,MAAM,GAAGC,uBAAkB,CAAC;AAChC,QAAA,KAAK,EAAE,WAAW;AAClB,QAAA,SAAS,EAAEC,WAAM,CAAC,MAAM,CAAC,QAAQ;AAClC,KAAA,CAAC;;AAGF,IAAA,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;QACxC,OAAO,EAAE,MAAM,CAAC,OAAwB;QACxC,EAAE,EAAE,MAAM,CAAC,KAAsB;QACjC,IAAI,EAAEC,uBAAkB,CAAC;AACvB,YAAA,GAAG,EAAEL,WAAS;AACd,YAAA,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE,CAAC,MAAM,CAAC,OAAwB,EAAE,MAAM,CAAC,SAAS;SACzD;AACF,KAAA,CAAC;IAEF,OAAO;AACL,QAAA,UAAU,EAAE;YACV,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;AACnB,YAAA,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;YACtC,MAAM,EAAE,MAAM,CAAC,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;YAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACpC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACvE,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,SAAS,EAAE;AACZ,SAAA;AACD,QAAA,SAAS,EAAE;KACZ;AACH;AAEO,eAAe,oBAAoB,CAAC,MAG1C,EAAA;;;IAGC,OAAO;AACL,QAAA;AACE,YAAA,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAsB;YACvD,IAAI,EAAEK,uBAAkB,CAAC;AACvB,gBAAA,GAAG,EAAEL,WAAS;AACd,gBAAA,YAAY,EAAE,cAAc;gBAC5B,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAwB,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAwB,EAAE,MAAM,CAAC,MAAM;aACnI,CAAC;AACF,YAAA,KAAK,EAAE,MAAM,CAAC,CAAC;AAChB;KACF;AACH;;ACxIA,MAAMM,eAAa,GAAG,CAAC;AAEvB;AACA,MAAM,SAAS,GAAG;AAChB,IAAA;AACE,QAAA,MAAM,EAAE;AACN,YAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;AAC/B,YAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS;AAClC,SAAA;AACD,QAAA,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACrC,QAAA,eAAe,EAAE,YAAY;AAC7B,QAAA,IAAI,EAAE;AACP;CACO;AAEV,eAAe,+BAA+B,CAC5C,WAAiC,EACjC,MAAc,EACd,aAAqB,EACrB,MAAc,EAAA;AAEd,IAAA,IAAI;QACF,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM;AACvD,QAAA,IAAI,YAAY,IAAI,2BAA2B,IAAI,YAAY,EAAE;AAC/D,YAAA,MAAM,CAAC,IAAI,CAAC,eAAe,aAAa,CAAA,iBAAA,CAAmB,CAAC;;YAE5D,MAAO,YAAoB,CAAC,yBAAyB,CAAC;AACpD,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,aAAa,EAAE;AAChB,aAAA,CAAC;AACF,YAAA,MAAM,CAAC,IAAI,CAAC,8BAA8B,aAAa,CAAA,cAAA,CAAgB,CAAC;QAC1E;aAAO;AACL,YAAA,MAAM,CAAC,IAAI,CAAC,qFAAqF,CAAC;QACpG;IACF;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,CAAC,IAAI,CAAC,gDAAgD,KAAK,CAAA,CAAE,CAAC;;IAEtE;AACF;MAEa,mBAAmB,CAAA;IAO9B,WAAA,CACE,eAAgC,EAChC,WAAiC,EACjC,MAAe,EACf,OAAA,GAAkBL,WAAI,CAAC,EAAE,EAAA;QAEzB,IAAI,CAAC,eAAe,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC;QACjD;QACA,IAAI,CAAC,WAAW,EAAE;AAChB,YAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC;QAC7C;QACA,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAIM,oBAAa,EAAE;AAC3C,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe;AACtC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW;AAC9B,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,WAAW,GAAGC,yBAAkB,CAAC,OAAO,CAAC;IAChD;AAEA,IAAA,MAAM,WAAW,CAAC,EAAC,gBAAgB,EAAE,aAAa,EAAoD,EAAA;;AAEpG,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAE/C,MAAM,OAAO,GAAGC,8BAAuB,CAAC;AACtC,YAAA,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO;YAC/C,SAAS;YACT,aAAa;YACb;AACD,SAAA,CAAC;;QAGF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC;AAC3D,YAAA,OAAO,EAAE;AACV,SAAA,CAAC;QAEF,MAAM,QAAQ,GAAGC,4BAAqB,CAAC;AACrC,YAAA,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO;YAC/C,OAAO;YACP,SAAS;YACT,SAAS;YACT,aAAa;YACb;AACD,SAAA,CAAC;AAEF,QAAA,MAAM,QAAQ,GAAGC,uBAAgB,CAAC,QAAQ,CAAC;QAE3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,eAAA,EAAkB,aAAa,CAAA,CAAE,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,kBAAA,EAAqB,gBAAgB,CAAA,CAAE,CAAC;AACzD,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,eAAA,EAAkB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAA,CAAE,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,wBAAA,EAA2B,QAAQ,CAAA,CAAE,CAAC;AAEvD,QAAA,OAAO,QAAQ;IACjB;IAEA,MAAM,WAAW,CAAC,MAAiB,EAAE,QAAkB,EAAE,QAAgB,EAAE,IAAY,EAAA;AACrF,QAAA,IAAI,QAAQ,KAAK,MAAM,EAAE;AACvB,YAAA,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,QAAQ,CAAC;QAC1E;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,kCAAA,EAAqC,MAAM,CAAA,CAAA,EAAI,QAAQ,OAAO,QAAQ,CAAA,oBAAA,EAAuB,IAAI,CAAA,CAAE,CAAC;;AAGrH,QAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,IAAIL,eAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACrF,QAAA,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;;QAG9G,IAAI,gBAAgB,GAAGD,uBAAkB,CAAC;AACxC,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,YAAY,EAAE,UAAU;AACxB,YAAA,IAAI,EAAE,CAAC,QAAmB,EAAE,iBAAiB,CAAC;AAC/C,SAAA,CAAC;;;;;;;AAQF,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;AACvB,YAAA,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;AAChE,YAAA,gBAAgB,IAAI,gBAAgB,GAAG,OAAO,CAAQ;AACtD,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,IAAI,EAAE,CAAA,kBAAA,CAAoB,CAAC;QAClE;AAEA,QAAA,MAAM,YAAY,GAAG;YACnB,EAAE,EAAE,IAAI,CAAC,WAAkB;AAC3B,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,KAAK,EAAE;SACR;;QAGD,MAAM,QAAQ,GAAG,CAAC,GAAG,UAAU,EAAE,YAAY,CAAC;AAE9C,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,UAAA,EAAa,QAAQ,CAAC,MAAM,WAAW,UAAU,CAAC,MAAM,CAAA,+BAAA,CAAiC,CAAC;QAC3G,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC;AAC3D,YAAA,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO;AACjC,YAAA,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAG;gBACzB,OAAO;oBACL,EAAE,EAAE,IAAI,CAAC,EAAS;oBAClB,IAAI,EAAE,IAAI,CAAC,IAAW;oBACtB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK;iBAClC;AACH,YAAA,CAAC,CAAC;AACF,YAAA,oBAAoB,EAAEO,eAAU,CAAC,aAAa;AAC/C,SAAA,CAAC;AAEF,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,CAAC;QACnF,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;QAC1C;;AAGA,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe;QAE9C,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC;QAC9G;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,gDAAA,EAAmD,OAAO,CAAC,UAAU,CAAA,UAAA,EAAa,MAAM,CAAA,CAAE,CAAC;;;AAI5G,QAAA,MAAM,+BAA+B,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;;;AAI/E,QAAA,OAAO,MAAM;IACf;AAMD;;ACtLD,MAAM,aAAa,GAAG,CAAC;MASV,sBAAsB,CAAA;IAKjC,WAAA,CACU,aAAqB,EACrB,QAA4B,EACpC,MAAe,EACf,OAAA,GAAkBX,WAAI,CAAC,EAAE,EAAA;QAHjB,IAAA,CAAA,aAAa,GAAb,aAAa;QACb,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAIhB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAIM,oBAAa,EAAE;AAC3C,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,WAAW,GAAGC,yBAAkB,CAAC,OAAO,CAAC;IAChD;IAEA,MAAM,WAAW,CAAC,OAGjB,EAAA;QACC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,eAAA,EAAkB,OAAO,CAAC,aAAa,CAAA,CAAE,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,kBAAA,EAAqB,OAAO,CAAC,gBAAgB,CAAA,CAAE,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,eAAA,EAAkB,IAAI,CAAC,aAAa,CAAA,CAAE,CAAC;;AAGxD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAE/C,MAAM,OAAO,GAAGC,8BAAuB,CAAC;YACtC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS;YACT,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,gBAAgB,EAAE,OAAO,CAAC;AAC3B,SAAA,CAAC;;;AAIF,QAAA,IAAI,aAAqB;;AAGzB,QAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAGjC;AACD,QAAA,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,gBAAgB;YACtC,oBAAoB,CAAC,iBAAiB;QAE9D,IAAI,gBAAgB,EAAE;;AAEpB,YAAA,aAAa,GAAGI,UAAK,CAAC,OAAO,CAAC;AAC9B,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC;QACnE;aAAO;;YAEL,aAAa,GAAG,OAAO;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC;QAC3D;QAEA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC5C,YAAA,MAAM,EAAE,eAAe;AACvB,YAAA,MAAM,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa;AAC3C,SAAA,CAAC;QAEF,MAAM,QAAQ,GAAGH,4BAAqB,CAAC;YACrC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,OAAO;YACP,SAAS;YACT,SAAS;YACT,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,gBAAgB,EAAE,OAAO,CAAC;AAC3B,SAAA,CAAC;AAEF,QAAA,MAAM,QAAQ,GAAGC,uBAAgB,CAAC,QAAQ,CAAC;QAE3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,wBAAA,EAA2B,QAAQ,CAAA,CAAE,CAAC;AAEvD,QAAA,OAAO,QAAQ;IACjB;IAEA,MAAM,WAAW,CACf,MAAiB,EACjB,QAAkB,EAClB,QAAgB,EAChB,OAAe,EAAA;AAEf,QAAA,IAAI,QAAQ,KAAK,MAAM,EAAE;AACvB,YAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC;QACpD;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,yBAAA,EAA4B,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAA,IAAA,EAAO,QAAQ,CAAA,QAAA,CAAU,CAAC;;AAGzF,QAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;;QAGrF,MAAM,YAAY,GAAGN,uBAAkB,CAAC;AACtC,YAAA,GAAG,EAAE,CAAC;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,MAAM,EAAE;AACN,wBAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;AAC/B,wBAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS;AAClC,qBAAA;oBACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;iBACrC,CAAC;AACF,YAAA,YAAY,EAAE,UAAU;AACxB,YAAA,IAAI,EAAE,CAAC,QAAe,EAAE,iBAAiB;AAC1C,SAAA,CAAC;;QAGF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACzC,YAAA,MAAM,EAAE,qBAAqB;AAC7B,YAAA,MAAM,EAAE,CAAC;oBACP,IAAI,EAAE,IAAI,CAAC,aAAa;oBACxB,EAAE,EAAE,IAAI,CAAC,WAAW;AACpB,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,KAAK,EAAE;iBACR;AACF,SAAA,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,+BAAA,EAAkC,MAAM,CAAA,CAAE,CAAC;;QAG5D,MAAM,aAAa,GAAG,CAAC;QACvB,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,aAAa,CAAC;AAEjE,QAAA,OAAO,MAAM;IACf;AAEQ,IAAA,MAAM,+BAA+B,CAAC,MAAc,EAAE,aAAqB,EAAA;QACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,YAAA,EAAe,aAAa,CAAA,iBAAA,CAAmB,CAAC;;QAGjE,IAAI,OAAO,GAAG,IAAI;QAClB,OAAO,CAAC,OAAO,EAAE;AACf,YAAA,IAAI;AACF,gBAAA,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACpC,oBAAA,MAAM,EAAE,2BAA2B;oBACnC,MAAM,EAAE,CAAC,MAAM;AAChB,iBAAA,CAAC;gBAEF,IAAI,CAAC,OAAO,EAAE;AACZ,oBAAA,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACzD;YACF;YAAE,OAAO,KAAK,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,uBAAA,EAA0B,KAAK,CAAA,CAAE,CAAC;AACnD,gBAAA,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACzD;QACF;;AAGA,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;AAC5B,YAAA,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAA,CAAE,CAAC;QAC1D;;QAGA,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACpD,IAAI,YAAY,GAAG,UAAU;QAE7B,OAAO,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,CAAC,EAAE;AACpD,YAAA,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEvD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC9C,gBAAA,MAAM,EAAE,iBAAiB;AACzB,gBAAA,MAAM,EAAE;AACT,aAAA,CAAC;AAEF,YAAA,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1C;QAEA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,2BAAA,EAA8B,aAAa,CAAA,cAAA,CAAgB,CAAC;IAC/E;AAED;;AClLD;;AAEG;AACG,MAAO,iBAAkB,SAAQS,gBAAuB,CAAA;AAAG;;ACAjE;AACA,MAAM,gBAAgB,GAAG,kCAAkC;AAE3D;;AAEG;AACH,SAAS,qBAAqB,CAAC,OAAe,EAAA;IAC5C,QAAQ,OAAO;QACb,KAAK,IAAI;AACP,YAAA,OAAO,gDAAgD;QACzD,KAAK,KAAK;AACR,YAAA,OAAO,wDAAwD;AACjE,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,CAAA,CAAE,CAAC;;AAE9E;AAEA;;AAEG;AACH,SAAS,uBAAuB,CAAC,OAAe,EAAA;IAC9C,QAAQ,OAAO;QACb,KAAK,IAAI;AACP,YAAA,OAAO,gDAAgD;QACzD,KAAK,KAAK;AACR,YAAA,OAAO,wDAAwD;AACjE,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,OAAO,CAAA,CAAE,CAAC;;AAEhF;AAEA;;AAEG;AACH,SAAS,YAAY,CAAC,OAAe,EAAA;IACnC,QAAQ,OAAO;AACb,QAAA,KAAK,IAAI;AACP,YAAA,OAAOb,WAAI;AACb,QAAA,KAAK,KAAK;AACR,YAAA,OAAOC,kBAAW;AACpB,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,CAAA,4CAAA,CAA8C,CAAC;;AAE1G;AASA;;;;AAIG;AACI,eAAe,sBAAsB,CAC1C,UAAe,EACf,OAAA,GAAkBD,WAAI,CAAC,EAAE,EAAA;IAEzB,MAAM,MAAM,GAAG,gBAAgB;AAC/B,IAAA,MAAM,MAAM,GAAGc,4BAAmB,CAAC,UAAU,CAAC;AAC9C,IAAA,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC;AACnC,IAAA,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC;AACjD,IAAA,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,CAAC;IAErD,MAAM,YAAY,GAAGC,uBAAkB,CAAC;QACtC,KAAK;QACL,SAAS,EAAEC,SAAI,CAAC,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,MAAM,EAAE;AAC1C,KAAA,CAAC;;AAGF,IAAA,MAAM,OAAO,GAAG,MAAMC,yCAAsB,CAAC;AAC3C,QAAA,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,CAAC,MAAM,CAAC;AAChB,QAAA,OAAO,EAAE;AACV,KAAA,CAAC;;IAGF,MAAM,aAAa,GAAGC,sCAAmB,CAAC;QACxC,OAAO;AACP,QAAA,MAAM,EAAE,YAAY;QACpB,SAAS,EAAEF,SAAI,CAAC,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,MAAM,EAAE,CAAC;QAC1C,KAAK;QACL,SAAS,EAAE,IAAI;AACf,QAAA,gBAAgB,EAAE;YAChB,SAAS,EAAEA,SAAI,CAAC,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,MAAM,EAAE;AAC5C;AACF,KAAA,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;AACxB,QAAA,MAAM,EAAE,aAAa;QACrB,OAAO;QACP,MAAM;KACP;AACH;;ACrGA,MAAM,iBAAiB,GAAG,GAAG;AAC7B,MAAM,sBAAsB,GAAG,CAAC;MAEnB,cAAc,CAAA;IAIjB,OAAO,UAAU,CAAC,iBAAyB,EAAA;QACjD,OAAO,CAAA,qBAAA,EAAwB,iBAAiB,CAAA,CAAE;IACpD;AAEA,IAAA,aAAa,UAAU,CAAC,MASrB,EAAA;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAIV,oBAAa,EAAE;QACnD,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAIN,WAAI,CAAC,EAAE,CAAC;;AAG1C,QAAA,MAAM,WAAW,GAAGO,yBAAkB,CAAC,OAAO,CAAC;;;AAI/C,QAAA,IAAI;AACF,YAAA,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QAC7D;QAAE,OAAO,KAAK,EAAE;;AAEd,YAAA,MAAM,CAAC,IAAI,CAAC,iEAAiE,KAAK,CAAA,CAAE,CAAC;QACvF;;QAGA,IAAI,CAAC,kBAAkB,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,CAAA,oCAAA,EAAuC,MAAM,CAAC,aAAa,CAAA,CAAE,CAAC;AAC1E,YAAA,OAAO,IAAI,cAAc,CACvB,IAAI;AACJ,YAAA,IAAI;YACJ,MAAM,EACN,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,QAAQ,EACf,OAAO,CACR;QACH;;QAGA,MAAM,SAAS,GAAG,MAAM,EAAE,KAAK,IAAI,IAAIY,mBAAY,EAAE;AACrD,QAAA,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,SAAS,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC;;QAGtD,MAAM,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC;QACvE,IAAI,YAAY,EAAE;YAChB,MAAM,oBAAoB,GAAG,MAAM,sBAAsB,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC;AAC3F,YAAA,OAAO,IAAI,cAAc,CAAC,YAAY,CAAC,UAAU,EAAE,oBAAoB,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;QACjH;AAEA,QAAA,MAAM,UAAU,GAAGC,2BAAkB,EAAE;QACvC,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC,CAAA,4BAAA,EAA+B,WAAW,CAAC,OAAO,CAAA,CAAE,CAAC;AACjE,QAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,CAAA,uBAAA,EAA0B,WAAW,CAAC,OAAO,CAAA,CAAE,CAAC;AAE5D,QAAA,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC;YAC9C,OAAO,EAAE,MAAM,CAAC,aAAa;YAC7B,OAAO,EAAE,WAAW,CAAC,OAAO;AAC5B,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,iBAAiB;AACjD,YAAA,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,sBAAsB;YAC5D,QAAQ,EAAE,MAAM,CAAC,QAAQ;AAC1B,SAAA,CAAC;;QAGF,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAC,UAAU,EAAE,UAAU,EAAC,CAAC;AAE7C,QAAA,OAAO,IAAI,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;IAC3F;AAEQ,IAAA,OAAO,4BAA4B,CACzC,eAAkC,EAClC,QAAgB,EAAA;QAEhB,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;AAChD,QAAA,IAAI,CAAC,UAAU;AAAE,YAAA,OAAO,IAAI;;AAG5B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AACzC,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC/E,QAAA,IAAI,aAAa,IAAI,GAAG,EAAE;AACxB,YAAA,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;AAChC,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,UAAU;IACnB;AAEQ,IAAA,aAAa,iBAAiB,CACpC,WAAiC,EAAA;QAEjC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC;AAC1D,YAAA,KAAK,EAAE,CAAC;oBACN,EAAE,EAAE,WAAW,CAAC,OAAO;AACvB,oBAAA,KAAK,EAAE,EAAE;AACT,oBAAA,IAAI,EAAE;iBACP,CAAC;AACF,YAAA,SAAS,EAAE;AACZ,SAAA,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,2BAA2B,CAAC;AACnE,YAAA,IAAI,EAAE;AACP,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,yCAAA,EAA4C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,CAAE,CAAC;QACxF;IACF;AAEA,IAAA,WAAA,CACE,eAAuC,EACvC,oBAAiD,EACjD,MAAe,EACf,iBAA0B,EAC1B,QAA6B,EAC7B,OAAA,GAAkBpB,WAAI,CAAC,EAAE,EAAA;QAEzB,IAAI,oBAAoB,EAAE;;YAExB,IAAI,CAAC,eAAe,EAAE;AACpB,gBAAA,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC;YAC3E;AACA,YAAA,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC,OAAO;YAC7C,IAAI,CAAC,aAAa,GAAG;gBACnB,MAAM,EAAE,IAAI,mBAAmB,CAAC,eAAe,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,CAAC;aACxF;QACH;aAAO;;AAEL,YAAA,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,EAAE;AACnC,gBAAA,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC;YACvF;AACA,YAAA,IAAI,CAAC,SAAS,GAAG,iBAAiB;YAClC,IAAI,CAAC,aAAa,GAAG;gBACnB,MAAM,EAAE,IAAI,sBAAsB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;aACjF;QACH;IACF;AAEA;;;;AAIG;AAEH,IAAA,OAAO,kBAAkB,CAAC,iBAAyB,EAAE,KAAsB,EAAA;;QAEzE,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,MAAM,YAAY,GAAG,IAAImB,mBAAY,EAAE;;AAEvC,YAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,gBAAA,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC;YACvG;YACA,KAAK,GAAG,YAAY;QACtB;QAEA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAClD;AACD;;;;;;;;;;;;;;;"}
package/dist/index.d.ts CHANGED
@@ -15,7 +15,9 @@ declare class MainWalletPaymentMaker implements PaymentMaker {
15
15
  private walletAddress;
16
16
  private provider;
17
17
  private logger;
18
- constructor(walletAddress: string, provider: MainWalletProvider, logger?: Logger);
18
+ private chainId;
19
+ private usdcAddress;
20
+ constructor(walletAddress: string, provider: MainWalletProvider, logger?: Logger, chainId?: number);
19
21
  generateJWT(payload: {
20
22
  paymentRequestId: string;
21
23
  codeChallenge: string;
@@ -101,10 +103,11 @@ declare class BaseAppAccount implements Account$1 {
101
103
  periodInDays?: number;
102
104
  cache?: ICache<string>;
103
105
  logger?: Logger;
106
+ chainId?: number;
104
107
  }): Promise<BaseAppAccount>;
105
108
  private static loadSavedWalletAndPermission;
106
109
  private static deploySmartWallet;
107
- constructor(spendPermission: SpendPermission | null, ephemeralSmartWallet: EphemeralSmartWallet | null, logger?: Logger, mainWalletAddress?: string, provider?: MainWalletProvider);
110
+ constructor(spendPermission: SpendPermission | null, ephemeralSmartWallet: EphemeralSmartWallet | null, logger?: Logger, mainWalletAddress?: string, provider?: MainWalletProvider, chainId?: number);
108
111
  /**
109
112
  * Dynamically import the appropriate spend-permission module based on environment.
110
113
  * Uses browser version as requestSpendPermission only exists there.
@@ -117,7 +120,9 @@ declare class BaseAppPaymentMaker implements PaymentMaker {
117
120
  private logger;
118
121
  private spendPermission;
119
122
  private smartWallet;
120
- constructor(spendPermission: SpendPermission, smartWallet: EphemeralSmartWallet, logger?: Logger);
123
+ private chainId;
124
+ private usdcAddress;
125
+ constructor(spendPermission: SpendPermission, smartWallet: EphemeralSmartWallet, logger?: Logger, chainId?: number);
121
126
  generateJWT({ paymentRequestId, codeChallenge }: {
122
127
  paymentRequestId: string;
123
128
  codeChallenge: string;
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import { USDC_CONTRACT_ADDRESS_BASE } from '@atxp/client';
1
+ import { getBaseUSDCAddress } from '@atxp/client';
2
+ import { baseSepolia, base } from 'viem/chains';
2
3
  import { ConsoleLogger, constructEIP1271Message, createEIP1271AuthData, createEIP1271JWT, JsonCache, BrowserCache } from '@atxp/common';
3
4
  export { BrowserCache, MemoryCache } from '@atxp/common';
4
5
  import { createWalletClient, custom, encodeFunctionData, parseEther, toHex, createPublicClient, http } from 'viem';
5
- import { base } from 'viem/chains';
6
6
  import { privateKeyToAccount, generatePrivateKey } from 'viem/accounts';
7
7
  import { toCoinbaseSmartAccount, createBundlerClient } from 'viem/account-abstraction';
8
8
 
@@ -72,12 +72,24 @@ const ERC20_ABI$1 = [
72
72
  "type": "function"
73
73
  }
74
74
  ];
75
- async function requestSpendPermission(params) {
76
- if (params.chainId !== base.id) {
77
- throw new Error(`Chain ID ${params.chainId} is not supported`);
75
+ /**
76
+ * Get Base chain configuration by chain ID
77
+ */
78
+ function getBaseChainConfig(chainId) {
79
+ switch (chainId) {
80
+ case 8453: // Base mainnet
81
+ return base;
82
+ case 84532: // Base Sepolia
83
+ return baseSepolia;
84
+ default:
85
+ throw new Error(`Unsupported Base Chain ID: ${chainId}. Supported chains: 8453 (mainnet), 84532 (sepolia)`);
78
86
  }
87
+ }
88
+ async function requestSpendPermission(params) {
89
+ // Validate chain ID and get chain config
90
+ const chainConfig = getBaseChainConfig(params.chainId);
79
91
  const client = createWalletClient({
80
- chain: base,
92
+ chain: chainConfig,
81
93
  transport: custom(params.provider)
82
94
  });
83
95
  // Use the client
@@ -157,7 +169,7 @@ async function waitForTransactionConfirmations(smartWallet, txHash, confirmation
157
169
  }
158
170
  }
159
171
  class BaseAppPaymentMaker {
160
- constructor(spendPermission, smartWallet, logger) {
172
+ constructor(spendPermission, smartWallet, logger, chainId = base.id) {
161
173
  if (!spendPermission) {
162
174
  throw new Error('Spend permission is required');
163
175
  }
@@ -167,6 +179,8 @@ class BaseAppPaymentMaker {
167
179
  this.logger = logger ?? new ConsoleLogger();
168
180
  this.spendPermission = spendPermission;
169
181
  this.smartWallet = smartWallet;
182
+ this.chainId = chainId;
183
+ this.usdcAddress = getBaseUSDCAddress(chainId);
170
184
  }
171
185
  async generateJWT({ paymentRequestId, codeChallenge }) {
172
186
  // Generate EIP-1271 auth data for smart wallet authentication
@@ -222,7 +236,7 @@ class BaseAppPaymentMaker {
222
236
  this.logger.info(`Added memo "${memo.trim()}" to transfer call`);
223
237
  }
224
238
  const transferCall = {
225
- to: USDC_CONTRACT_ADDRESS_BASE,
239
+ to: this.usdcAddress,
226
240
  data: transferCallData,
227
241
  value: '0x0'
228
242
  };
@@ -261,10 +275,12 @@ class BaseAppPaymentMaker {
261
275
 
262
276
  const USDC_DECIMALS = 6;
263
277
  class MainWalletPaymentMaker {
264
- constructor(walletAddress, provider, logger) {
278
+ constructor(walletAddress, provider, logger, chainId = base.id) {
265
279
  this.walletAddress = walletAddress;
266
280
  this.provider = provider;
267
281
  this.logger = logger || new ConsoleLogger();
282
+ this.chainId = chainId;
283
+ this.usdcAddress = getBaseUSDCAddress(chainId);
268
284
  }
269
285
  async generateJWT(payload) {
270
286
  this.logger.info(`codeChallenge: ${payload.codeChallenge}`);
@@ -337,7 +353,7 @@ class MainWalletPaymentMaker {
337
353
  method: 'eth_sendTransaction',
338
354
  params: [{
339
355
  from: this.walletAddress,
340
- to: USDC_CONTRACT_ADDRESS_BASE,
356
+ to: this.usdcAddress,
341
357
  data: transferData,
342
358
  value: '0x0'
343
359
  }]
@@ -392,19 +408,61 @@ class MainWalletPaymentMaker {
392
408
  class IntermediaryCache extends JsonCache {
393
409
  }
394
410
 
395
- // Coinbase CDP Paymaster and Bundler endpoints
396
- const COINBASE_BUNDLER_URL = 'https://api.developer.coinbase.com/rpc/v1/base';
397
- const COINBASE_PAYMASTER_URL = 'https://api.developer.coinbase.com/rpc/v1/base';
411
+ // Coinbase CDP API Key
398
412
  const COINBASE_API_KEY = 'snPdXqIzOGhRkGNJvEHM5bl9Hm3yRO3m';
413
+ /**
414
+ * Get Coinbase CDP Bundler URL for a given chain
415
+ */
416
+ function getCoinbaseBundlerUrl(chainId) {
417
+ switch (chainId) {
418
+ case 8453: // Base mainnet
419
+ return 'https://api.developer.coinbase.com/rpc/v1/base';
420
+ case 84532: // Base Sepolia
421
+ return 'https://api.developer.coinbase.com/rpc/v1/base-sepolia';
422
+ default:
423
+ throw new Error(`Unsupported chain ID for Coinbase bundler: ${chainId}`);
424
+ }
425
+ }
426
+ /**
427
+ * Get Coinbase CDP Paymaster URL for a given chain
428
+ */
429
+ function getCoinbasePaymasterUrl(chainId) {
430
+ switch (chainId) {
431
+ case 8453: // Base mainnet
432
+ return 'https://api.developer.coinbase.com/rpc/v1/base';
433
+ case 84532: // Base Sepolia
434
+ return 'https://api.developer.coinbase.com/rpc/v1/base-sepolia';
435
+ default:
436
+ throw new Error(`Unsupported chain ID for Coinbase paymaster: ${chainId}`);
437
+ }
438
+ }
439
+ /**
440
+ * Get Base chain configuration by chain ID
441
+ */
442
+ function getBaseChain(chainId) {
443
+ switch (chainId) {
444
+ case 8453:
445
+ return base;
446
+ case 84532:
447
+ return baseSepolia;
448
+ default:
449
+ throw new Error(`Unsupported Base chain ID: ${chainId}. Supported: 8453 (mainnet), 84532 (sepolia)`);
450
+ }
451
+ }
399
452
  /**
400
453
  * Creates an ephemeral smart wallet with paymaster support
454
+ * @param privateKey - Private key for the wallet signer
455
+ * @param chainId - Chain ID (defaults to 8453 for Base mainnet, can be 84532 for Base Sepolia)
401
456
  */
402
- async function toEphemeralSmartWallet(privateKey) {
457
+ async function toEphemeralSmartWallet(privateKey, chainId = base.id) {
403
458
  const apiKey = COINBASE_API_KEY;
404
459
  const signer = privateKeyToAccount(privateKey);
460
+ const chain = getBaseChain(chainId);
461
+ const bundlerUrl = getCoinbaseBundlerUrl(chainId);
462
+ const paymasterUrl = getCoinbasePaymasterUrl(chainId);
405
463
  const publicClient = createPublicClient({
406
- chain: base,
407
- transport: http(`${COINBASE_BUNDLER_URL}/${apiKey}`)
464
+ chain,
465
+ transport: http(`${bundlerUrl}/${apiKey}`)
408
466
  });
409
467
  // Create the Coinbase smart wallet
410
468
  const account = await toCoinbaseSmartAccount({
@@ -416,11 +474,11 @@ async function toEphemeralSmartWallet(privateKey) {
416
474
  const bundlerClient = createBundlerClient({
417
475
  account,
418
476
  client: publicClient,
419
- transport: http(`${COINBASE_BUNDLER_URL}/${apiKey}`),
420
- chain: base,
477
+ transport: http(`${bundlerUrl}/${apiKey}`),
478
+ chain,
421
479
  paymaster: true, // Enable paymaster sponsorship
422
480
  paymasterContext: {
423
- transport: http(`${COINBASE_PAYMASTER_URL}/${apiKey}`)
481
+ transport: http(`${paymasterUrl}/${apiKey}`)
424
482
  }
425
483
  });
426
484
  return {
@@ -440,7 +498,10 @@ class BaseAppAccount {
440
498
  static async initialize(config) {
441
499
  const logger = config.logger || new ConsoleLogger();
442
500
  const useEphemeralWallet = config.useEphemeralWallet ?? true; // Default to true for backward compatibility
443
- // Some wallets don't support wallet_connect, so
501
+ const chainId = config.chainId || base.id; // Default to Base mainnet
502
+ // Get USDC address for the specified chain
503
+ const usdcAddress = getBaseUSDCAddress(chainId);
504
+ // Some wallets don't support wallet_connect, so
444
505
  // will just continue if it fails
445
506
  try {
446
507
  await config.provider.request({ method: 'wallet_connect' });
@@ -454,7 +515,7 @@ class BaseAppAccount {
454
515
  logger.info(`Using main wallet mode for address: ${config.walletAddress}`);
455
516
  return new BaseAppAccount(null, // No spend permission in main wallet mode
456
517
  null, // No ephemeral wallet in main wallet mode
457
- logger, config.walletAddress, config.provider);
518
+ logger, config.walletAddress, config.provider, chainId);
458
519
  }
459
520
  // Initialize cache
460
521
  const baseCache = config?.cache || new BrowserCache();
@@ -463,26 +524,26 @@ class BaseAppAccount {
463
524
  // Try to load existing permission
464
525
  const existingData = this.loadSavedWalletAndPermission(cache, cacheKey);
465
526
  if (existingData) {
466
- const ephemeralSmartWallet = await toEphemeralSmartWallet(existingData.privateKey);
467
- return new BaseAppAccount(existingData.permission, ephemeralSmartWallet, logger);
527
+ const ephemeralSmartWallet = await toEphemeralSmartWallet(existingData.privateKey, chainId);
528
+ return new BaseAppAccount(existingData.permission, ephemeralSmartWallet, logger, undefined, undefined, chainId);
468
529
  }
469
530
  const privateKey = generatePrivateKey();
470
- const smartWallet = await toEphemeralSmartWallet(privateKey);
531
+ const smartWallet = await toEphemeralSmartWallet(privateKey, chainId);
471
532
  logger.info(`Generated ephemeral wallet: ${smartWallet.address}`);
472
533
  await this.deploySmartWallet(smartWallet);
473
534
  logger.info(`Deployed smart wallet: ${smartWallet.address}`);
474
535
  const permission = await requestSpendPermission({
475
536
  account: config.walletAddress,
476
537
  spender: smartWallet.address,
477
- token: USDC_CONTRACT_ADDRESS_BASE,
478
- chainId: base.id,
538
+ token: usdcAddress,
539
+ chainId: chainId,
479
540
  allowance: config?.allowance ?? DEFAULT_ALLOWANCE,
480
541
  periodInDays: config?.periodInDays ?? DEFAULT_PERIOD_IN_DAYS,
481
542
  provider: config.provider,
482
543
  });
483
544
  // Save wallet and permission
484
545
  cache.set(cacheKey, { privateKey, permission });
485
- return new BaseAppAccount(permission, smartWallet, logger);
546
+ return new BaseAppAccount(permission, smartWallet, logger, undefined, undefined, chainId);
486
547
  }
487
548
  static loadSavedWalletAndPermission(permissionCache, cacheKey) {
488
549
  const cachedData = permissionCache.get(cacheKey);
@@ -513,7 +574,7 @@ class BaseAppAccount {
513
574
  throw new Error(`Smart wallet deployment failed. Receipt: ${JSON.stringify(receipt)}`);
514
575
  }
515
576
  }
516
- constructor(spendPermission, ephemeralSmartWallet, logger, mainWalletAddress, provider) {
577
+ constructor(spendPermission, ephemeralSmartWallet, logger, mainWalletAddress, provider, chainId = base.id) {
517
578
  if (ephemeralSmartWallet) {
518
579
  // Ephemeral wallet mode
519
580
  if (!spendPermission) {
@@ -521,7 +582,7 @@ class BaseAppAccount {
521
582
  }
522
583
  this.accountId = ephemeralSmartWallet.address;
523
584
  this.paymentMakers = {
524
- 'base': new BaseAppPaymentMaker(spendPermission, ephemeralSmartWallet, logger),
585
+ 'base': new BaseAppPaymentMaker(spendPermission, ephemeralSmartWallet, logger, chainId),
525
586
  };
526
587
  }
527
588
  else {
@@ -531,7 +592,7 @@ class BaseAppAccount {
531
592
  }
532
593
  this.accountId = mainWalletAddress;
533
594
  this.paymentMakers = {
534
- 'base': new MainWalletPaymentMaker(mainWalletAddress, provider, logger),
595
+ 'base': new MainWalletPaymentMaker(mainWalletAddress, provider, logger, chainId),
535
596
  };
536
597
  }
537
598
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/spendPermissionShim.ts","../src/baseAppPaymentMaker.ts","../src/mainWalletPaymentMaker.ts","../src/cache.ts","../src/smartWalletHelpers.ts","../src/baseAppAccount.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["ERC20_ABI","USDC_DECIMALS"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/spendPermissionShim.ts","../src/baseAppPaymentMaker.ts","../src/mainWalletPaymentMaker.ts","../src/cache.ts","../src/smartWalletHelpers.ts","../src/baseAppAccount.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["ERC20_ABI","USDC_DECIMALS"],"mappings":"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"}
@@ -1,13 +1,16 @@
1
1
  import { toHex, encodeFunctionData } from 'viem';
2
- import { USDC_CONTRACT_ADDRESS_BASE } from '@atxp/client';
2
+ import { getBaseUSDCAddress } from '@atxp/client';
3
+ import { base } from 'viem/chains';
3
4
  import { ConsoleLogger, constructEIP1271Message, createEIP1271AuthData, createEIP1271JWT } from '@atxp/common';
4
5
 
5
6
  const USDC_DECIMALS = 6;
6
7
  class MainWalletPaymentMaker {
7
- constructor(walletAddress, provider, logger) {
8
+ constructor(walletAddress, provider, logger, chainId = base.id) {
8
9
  this.walletAddress = walletAddress;
9
10
  this.provider = provider;
10
11
  this.logger = logger || new ConsoleLogger();
12
+ this.chainId = chainId;
13
+ this.usdcAddress = getBaseUSDCAddress(chainId);
11
14
  }
12
15
  async generateJWT(payload) {
13
16
  this.logger.info(`codeChallenge: ${payload.codeChallenge}`);
@@ -80,7 +83,7 @@ class MainWalletPaymentMaker {
80
83
  method: 'eth_sendTransaction',
81
84
  params: [{
82
85
  from: this.walletAddress,
83
- to: USDC_CONTRACT_ADDRESS_BASE,
86
+ to: this.usdcAddress,
84
87
  data: transferData,
85
88
  value: '0x0'
86
89
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"mainWalletPaymentMaker.js","sources":["../src/mainWalletPaymentMaker.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mainWalletPaymentMaker.js","sources":["../src/mainWalletPaymentMaker.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,21 +1,63 @@
1
1
  import { createPublicClient, http } from 'viem';
2
- import { base } from 'viem/chains';
2
+ import { base, baseSepolia } from 'viem/chains';
3
3
  import { privateKeyToAccount } from 'viem/accounts';
4
4
  import { toCoinbaseSmartAccount, createBundlerClient } from 'viem/account-abstraction';
5
5
 
6
- // Coinbase CDP Paymaster and Bundler endpoints
7
- const COINBASE_BUNDLER_URL = 'https://api.developer.coinbase.com/rpc/v1/base';
8
- const COINBASE_PAYMASTER_URL = 'https://api.developer.coinbase.com/rpc/v1/base';
6
+ // Coinbase CDP API Key
9
7
  const COINBASE_API_KEY = 'snPdXqIzOGhRkGNJvEHM5bl9Hm3yRO3m';
8
+ /**
9
+ * Get Coinbase CDP Bundler URL for a given chain
10
+ */
11
+ function getCoinbaseBundlerUrl(chainId) {
12
+ switch (chainId) {
13
+ case 8453: // Base mainnet
14
+ return 'https://api.developer.coinbase.com/rpc/v1/base';
15
+ case 84532: // Base Sepolia
16
+ return 'https://api.developer.coinbase.com/rpc/v1/base-sepolia';
17
+ default:
18
+ throw new Error(`Unsupported chain ID for Coinbase bundler: ${chainId}`);
19
+ }
20
+ }
21
+ /**
22
+ * Get Coinbase CDP Paymaster URL for a given chain
23
+ */
24
+ function getCoinbasePaymasterUrl(chainId) {
25
+ switch (chainId) {
26
+ case 8453: // Base mainnet
27
+ return 'https://api.developer.coinbase.com/rpc/v1/base';
28
+ case 84532: // Base Sepolia
29
+ return 'https://api.developer.coinbase.com/rpc/v1/base-sepolia';
30
+ default:
31
+ throw new Error(`Unsupported chain ID for Coinbase paymaster: ${chainId}`);
32
+ }
33
+ }
34
+ /**
35
+ * Get Base chain configuration by chain ID
36
+ */
37
+ function getBaseChain(chainId) {
38
+ switch (chainId) {
39
+ case 8453:
40
+ return base;
41
+ case 84532:
42
+ return baseSepolia;
43
+ default:
44
+ throw new Error(`Unsupported Base chain ID: ${chainId}. Supported: 8453 (mainnet), 84532 (sepolia)`);
45
+ }
46
+ }
10
47
  /**
11
48
  * Creates an ephemeral smart wallet with paymaster support
49
+ * @param privateKey - Private key for the wallet signer
50
+ * @param chainId - Chain ID (defaults to 8453 for Base mainnet, can be 84532 for Base Sepolia)
12
51
  */
13
- async function toEphemeralSmartWallet(privateKey) {
52
+ async function toEphemeralSmartWallet(privateKey, chainId = base.id) {
14
53
  const apiKey = COINBASE_API_KEY;
15
54
  const signer = privateKeyToAccount(privateKey);
55
+ const chain = getBaseChain(chainId);
56
+ const bundlerUrl = getCoinbaseBundlerUrl(chainId);
57
+ const paymasterUrl = getCoinbasePaymasterUrl(chainId);
16
58
  const publicClient = createPublicClient({
17
- chain: base,
18
- transport: http(`${COINBASE_BUNDLER_URL}/${apiKey}`)
59
+ chain,
60
+ transport: http(`${bundlerUrl}/${apiKey}`)
19
61
  });
20
62
  // Create the Coinbase smart wallet
21
63
  const account = await toCoinbaseSmartAccount({
@@ -27,11 +69,11 @@ async function toEphemeralSmartWallet(privateKey) {
27
69
  const bundlerClient = createBundlerClient({
28
70
  account,
29
71
  client: publicClient,
30
- transport: http(`${COINBASE_BUNDLER_URL}/${apiKey}`),
31
- chain: base,
72
+ transport: http(`${bundlerUrl}/${apiKey}`),
73
+ chain,
32
74
  paymaster: true, // Enable paymaster sponsorship
33
75
  paymasterContext: {
34
- transport: http(`${COINBASE_PAYMASTER_URL}/${apiKey}`)
76
+ transport: http(`${paymasterUrl}/${apiKey}`)
35
77
  }
36
78
  });
37
79
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"smartWalletHelpers.js","sources":["../src/smartWalletHelpers.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAgBA;AACA,MAAM,oBAAoB,GAAG,gDAAgD;AAC7E,MAAM,sBAAsB,GAAG,gDAAgD;AAC/E,MAAM,gBAAgB,GAAG,kCAAkC;AAS3D;;AAEG;AACI,eAAe,sBAAsB,CAC1C,UAAe,EAAA;IAEf,MAAM,MAAM,GAAG,gBAAgB;AAC/B,IAAA,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC;IAE9C,MAAM,YAAY,GAAG,kBAAkB,CAAC;AACtC,QAAA,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI,CAAC,CAAA,EAAG,oBAAoB,CAAA,CAAA,EAAI,MAAM,EAAE;AACpD,KAAA,CAAC;;AAGF,IAAA,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC;AAC3C,QAAA,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,CAAC,MAAM,CAAC;AAChB,QAAA,OAAO,EAAE;AACV,KAAA,CAAC;;IAGF,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACxC,OAAO;AACP,QAAA,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,IAAI,CAAC,CAAA,EAAG,oBAAoB,CAAA,CAAA,EAAI,MAAM,EAAE,CAAC;AACpD,QAAA,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;AACf,QAAA,gBAAgB,EAAE;YAChB,SAAS,EAAE,IAAI,CAAC,CAAA,EAAG,sBAAsB,CAAA,CAAA,EAAI,MAAM,EAAE;AACtD;AACF,KAAA,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;AACxB,QAAA,MAAM,EAAE,aAAa;QACrB,OAAO;QACP,MAAM;KACP;AACH;;;;"}
1
+ {"version":3,"file":"smartWalletHelpers.js","sources":["../src/smartWalletHelpers.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAiBA;AACA,MAAM,gBAAgB,GAAG,kCAAkC;AAE3D;;AAEG;AACH,SAAS,qBAAqB,CAAC,OAAe,EAAA;IAC5C,QAAQ,OAAO;QACb,KAAK,IAAI;AACP,YAAA,OAAO,gDAAgD;QACzD,KAAK,KAAK;AACR,YAAA,OAAO,wDAAwD;AACjE,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,CAAA,CAAE,CAAC;;AAE9E;AAEA;;AAEG;AACH,SAAS,uBAAuB,CAAC,OAAe,EAAA;IAC9C,QAAQ,OAAO;QACb,KAAK,IAAI;AACP,YAAA,OAAO,gDAAgD;QACzD,KAAK,KAAK;AACR,YAAA,OAAO,wDAAwD;AACjE,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,OAAO,CAAA,CAAE,CAAC;;AAEhF;AAEA;;AAEG;AACH,SAAS,YAAY,CAAC,OAAe,EAAA;IACnC,QAAQ,OAAO;AACb,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,IAAI;AACb,QAAA,KAAK,KAAK;AACR,YAAA,OAAO,WAAW;AACpB,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,CAAA,4CAAA,CAA8C,CAAC;;AAE1G;AASA;;;;AAIG;AACI,eAAe,sBAAsB,CAC1C,UAAe,EACf,OAAA,GAAkB,IAAI,CAAC,EAAE,EAAA;IAEzB,MAAM,MAAM,GAAG,gBAAgB;AAC/B,IAAA,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC;AAC9C,IAAA,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC;AACnC,IAAA,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC;AACjD,IAAA,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,CAAC;IAErD,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK;QACL,SAAS,EAAE,IAAI,CAAC,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,MAAM,EAAE;AAC1C,KAAA,CAAC;;AAGF,IAAA,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC;AAC3C,QAAA,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,CAAC,MAAM,CAAC;AAChB,QAAA,OAAO,EAAE;AACV,KAAA,CAAC;;IAGF,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACxC,OAAO;AACP,QAAA,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,IAAI,CAAC,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,MAAM,EAAE,CAAC;QAC1C,KAAK;QACL,SAAS,EAAE,IAAI;AACf,QAAA,gBAAgB,EAAE;YAChB,SAAS,EAAE,IAAI,CAAC,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,MAAM,EAAE;AAC5C;AACF,KAAA,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;AACxB,QAAA,MAAM,EAAE,aAAa;QACrB,OAAO;QACP,MAAM;KACP;AACH;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { createWalletClient, custom, encodeFunctionData } from 'viem';
2
- import { base } from 'viem/chains';
2
+ import { baseSepolia, base } from 'viem/chains';
3
3
 
4
4
  /*
5
5
  This shim replaces the Base Account SDK's requestSpendPermission and prepareSpendCallData functions with
@@ -67,12 +67,24 @@ const ERC20_ABI = [
67
67
  "type": "function"
68
68
  }
69
69
  ];
70
- async function requestSpendPermission(params) {
71
- if (params.chainId !== base.id) {
72
- throw new Error(`Chain ID ${params.chainId} is not supported`);
70
+ /**
71
+ * Get Base chain configuration by chain ID
72
+ */
73
+ function getBaseChainConfig(chainId) {
74
+ switch (chainId) {
75
+ case 8453: // Base mainnet
76
+ return base;
77
+ case 84532: // Base Sepolia
78
+ return baseSepolia;
79
+ default:
80
+ throw new Error(`Unsupported Base Chain ID: ${chainId}. Supported chains: 8453 (mainnet), 84532 (sepolia)`);
73
81
  }
82
+ }
83
+ async function requestSpendPermission(params) {
84
+ // Validate chain ID and get chain config
85
+ const chainConfig = getBaseChainConfig(params.chainId);
74
86
  const client = createWalletClient({
75
- chain: base,
87
+ chain: chainConfig,
76
88
  transport: custom(params.provider)
77
89
  });
78
90
  // Use the client
@@ -1 +1 @@
1
- {"version":3,"file":"spendPermissionShim.js","sources":["../src/spendPermissionShim.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA;;;;;;;;;AASE;AAEF;AACA;AACA;AAEA;AACA,MAAM,SAAS,GAAG;AAChB,IAAA;AACE,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,QAAQ,EAAE;AACN,YAAA;AACI,gBAAA,MAAM,EAAE,UAAU;AAClB,gBAAA,MAAM,EAAE;AACX,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,MAAM,EAAE;AACX;AACJ,SAAA;AACD,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,SAAS,EAAE;AACP,YAAA;AACI,gBAAA,MAAM,EAAE,EAAE;AACV,gBAAA,MAAM,EAAE;AACX;AACJ,SAAA;AACD,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,iBAAiB,EAAE,YAAY;AAC/B,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACI,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,QAAQ,EAAE;AACN,YAAA;AACI,gBAAA,MAAM,EAAE,OAAO;AACf,gBAAA,MAAM,EAAE;AACX,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,MAAM,EAAE;AACX,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,MAAM,EAAE;AACX;AACJ,SAAA;AACD,QAAA,MAAM,EAAE,cAAc;AACtB,QAAA,SAAS,EAAE;AACP,YAAA;AACI,gBAAA,MAAM,EAAE,EAAE;AACV,gBAAA,MAAM,EAAE;AACX;AACJ,SAAA;AACD,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,iBAAiB,EAAE,YAAY;AAC/B,QAAA,MAAM,EAAE;AACX;CACO;AAEH,eAAe,sBAAsB,CAAC,MAQ5C,EAAA;IACC,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,CAAA,SAAA,EAAY,MAAM,CAAC,OAAO,CAAA,iBAAA,CAAmB,CAAC;IAChE;IAEA,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAChC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;AAClC,KAAA,CAAC;;AAGF,IAAA,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;QACxC,OAAO,EAAE,MAAM,CAAC,OAAwB;QACxC,EAAE,EAAE,MAAM,CAAC,KAAsB;QACjC,IAAI,EAAE,kBAAkB,CAAC;AACvB,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE,CAAC,MAAM,CAAC,OAAwB,EAAE,MAAM,CAAC,SAAS;SACzD;AACF,KAAA,CAAC;IAEF,OAAO;AACL,QAAA,UAAU,EAAE;YACV,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;AACnB,YAAA,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;YACtC,MAAM,EAAE,MAAM,CAAC,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;YAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACpC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACvE,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,SAAS,EAAE;AACZ,SAAA;AACD,QAAA,SAAS,EAAE;KACZ;AACH;AAEO,eAAe,oBAAoB,CAAC,MAG1C,EAAA;;;IAGC,OAAO;AACL,QAAA;AACE,YAAA,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAsB;YACvD,IAAI,EAAE,kBAAkB,CAAC;AACvB,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,YAAY,EAAE,cAAc;gBAC5B,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAwB,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAwB,EAAE,MAAM,CAAC,MAAM;aACnI,CAAC;AACF,YAAA,KAAK,EAAE,MAAM,CAAC,CAAC;AAChB;KACF;AACH;;;;"}
1
+ {"version":3,"file":"spendPermissionShim.js","sources":["../src/spendPermissionShim.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Loads the browser-only spend permission module.
3
+ * Throws an error if called in a server environment.
4
+ *
5
+ * Both BaseAppAccount and BaseAppPaymentMaker should only run in browser environments
6
+ * since they require wallet interaction and browser APIs.
7
+ */
8
+ async function getSpendPermissionModule() {
9
+ // Check if we're in a browser environment
10
+ if (typeof window === 'undefined') {
11
+ throw new Error('Spend permission operations require browser environment. ' +
12
+ 'BaseAppAccount and BaseAppPaymentMaker should only be used client-side in Next.js apps.');
13
+ }
14
+ // Use browser version since both classes require browser environment
15
+ return await import('@base-org/account/spend-permission/browser');
16
+ }
17
+
18
+ export { getSpendPermissionModule };
19
+ //# sourceMappingURL=spendPermissionUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spendPermissionUtils.js","sources":["../src/spendPermissionUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;AAMG;AACI,eAAe,wBAAwB,GAAA;;AAE5C,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,MAAM,IAAI,KAAK,CACb,2DAA2D;AAC3D,YAAA,yFAAyF,CAC1F;IACH;;AAGA,IAAA,OAAO,MAAM,OAAO,4CAA4C,CAAC;AACnE;;;;"}
@@ -0,0 +1,11 @@
1
+ import { JsonCache } from '@atxp/common';
2
+ export { BrowserCache, MemoryCache } from '@atxp/common';
3
+
4
+ /**
5
+ * Type-safe cache wrapper for permission data
6
+ */
7
+ class IntermediaryCache extends JsonCache {
8
+ }
9
+
10
+ export { IntermediaryCache };
11
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sources":["../src/storage.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAcA;;AAEG;AACG,MAAO,iBAAkB,SAAQ,SAAuB,CAAA;AAAG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atxp/base",
3
- "version": "0.7.1",
3
+ "version": "0.7.2",
4
4
  "description": "ATXP for Base Mini Apps",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -33,8 +33,8 @@
33
33
  "pack:dry": "npm pack --dry-run"
34
34
  },
35
35
  "dependencies": {
36
- "@atxp/client": "0.7.1",
37
- "@atxp/common": "0.7.1",
36
+ "@atxp/client": "0.7.2",
37
+ "@atxp/common": "0.7.2",
38
38
  "bignumber.js": "^9.3.0"
39
39
  },
40
40
  "peerDependencies": {