@atxp/worldchain 0.7.3 → 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.
@@ -0,0 +1,19 @@
1
+ import { SpendPermission } from './types.js';
2
+ import { Hex } from '@atxp/client';
3
+ import { type ICache, JsonCache, BrowserCache, MemoryCache } from '@atxp/common';
4
+ /**
5
+ * Stored permission data structure
6
+ */
7
+ export interface Intermediary {
8
+ /** Ephemeral wallet private key */
9
+ privateKey: Hex;
10
+ /** Spend permission from World Chain */
11
+ permission: SpendPermission;
12
+ }
13
+ /**
14
+ * Type-safe cache wrapper for permission data
15
+ */
16
+ export declare class IntermediaryCache extends JsonCache<Intermediary> {
17
+ }
18
+ export { type ICache, BrowserCache, MemoryCache };
19
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,KAAK,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,UAAU,EAAE,GAAG,CAAC;IAChB,wCAAwC;IACxC,UAAU,EAAE,eAAe,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,SAAS,CAAC,YAAY,CAAC;CAAG;AAGjE,OAAO,EAAE,KAAK,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC"}
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var client = require('@atxp/client');
4
3
  var common = require('@atxp/common');
4
+ var client = require('@atxp/client');
5
5
  var viem = require('viem');
6
6
  var accounts = require('viem/accounts');
7
7
  var accountAbstraction = require('viem/account-abstraction');
@@ -234,14 +234,18 @@ class WorldchainPaymentMaker {
234
234
  this.customRpcUrl = customRpcUrl;
235
235
  this.confirmationDelays = finalDelays;
236
236
  }
237
- async generateJWT({ paymentRequestId, codeChallenge }) {
237
+ getSourceAddress(_params) {
238
+ return this.smartWallet.account.address;
239
+ }
240
+ async generateJWT({ paymentRequestId, codeChallenge, accountId }) {
238
241
  // Generate EIP-1271 auth data for smart wallet authentication
239
242
  const timestamp = Math.floor(Date.now() / 1000);
240
243
  const message = common.constructEIP1271Message({
241
244
  walletAddress: this.smartWallet.account.address,
242
245
  timestamp,
243
246
  codeChallenge,
244
- paymentRequestId
247
+ paymentRequestId,
248
+ ...(accountId ? { accountId } : {}),
245
249
  });
246
250
  // Sign the message - this will return an ABI-encoded signature from the smart wallet
247
251
  const signature = await this.smartWallet.account.signMessage({
@@ -253,11 +257,22 @@ class WorldchainPaymentMaker {
253
257
  signature,
254
258
  timestamp,
255
259
  codeChallenge,
256
- paymentRequestId
260
+ paymentRequestId,
261
+ ...(accountId ? { accountId } : {}),
257
262
  });
258
263
  return common.createEIP1271JWT(authData);
259
264
  }
260
- async makePayment(amount, currency, receiver, memo) {
265
+ async makePayment(destinations, memo, _paymentRequestId) {
266
+ // Filter to world/base chain destinations
267
+ const worldDestinations = destinations.filter(d => d.chain === 'world' || d.chain === 'base');
268
+ if (worldDestinations.length === 0) {
269
+ this.logger.debug('WorldchainPaymentMaker: No world/base destinations found, cannot handle payment');
270
+ return null;
271
+ }
272
+ // For now, handle only the first destination
273
+ // TODO: Support multiple destinations in a single transaction
274
+ const dest = worldDestinations[0];
275
+ const { amount, currency, address: receiver } = dest;
261
276
  if (currency !== 'USDC') {
262
277
  throw new Error('Only usdc currency is supported; received ' + currency);
263
278
  }
@@ -315,9 +330,14 @@ class WorldchainPaymentMaker {
315
330
  // Wait for additional confirmations to ensure the transaction is well-propagated
316
331
  // This helps avoid the "Transaction receipt could not be found" error
317
332
  await waitForTransactionConfirmations(this.smartWallet, txHash, 2, this.logger, this.confirmationDelays);
318
- // Return the actual transaction hash, not the user operation hash
319
- // The payment verification system needs the on-chain transaction hash
320
- return txHash;
333
+ // For bundled EVM transactions (ERC-4337), transactionId is the on-chain txHash (for backwards compatibility)
334
+ // and transactionSubId is the userOpHash (identifies the specific user operation within the bundle)
335
+ return {
336
+ transactionId: txHash,
337
+ transactionSubId: receipt.userOpHash,
338
+ chain: dest.chain,
339
+ currency: dest.currency
340
+ };
321
341
  }
322
342
  }
323
343
 
@@ -343,7 +363,10 @@ class MainWalletPaymentMaker {
343
363
  this.chainId = chainId;
344
364
  this.customRpcUrl = customRpcUrl;
345
365
  }
346
- async generateJWT({ paymentRequestId, codeChallenge }) {
366
+ getSourceAddress(_params) {
367
+ return this.walletAddress;
368
+ }
369
+ async generateJWT({ paymentRequestId, codeChallenge, accountId }) {
347
370
  const timestamp = Math.floor(Date.now() / 1000);
348
371
  // Create proper JWT header and payload for ES256K
349
372
  const header = {
@@ -358,7 +381,8 @@ class MainWalletPaymentMaker {
358
381
  exp: timestamp + 3600, // 1 hour expiration
359
382
  payment_request_id: paymentRequestId,
360
383
  code_challenge: codeChallenge,
361
- chain_id: this.chainId
384
+ chain_id: this.chainId,
385
+ ...(accountId ? { account_id: accountId } : {}),
362
386
  };
363
387
  // Encode header and payload to base64url
364
388
  const encodedHeader = Buffer.from(JSON.stringify(header)).toString('base64url');
@@ -377,7 +401,17 @@ class MainWalletPaymentMaker {
377
401
  this.logger.info(`Generated ES256K JWT for main wallet: ${this.walletAddress}`);
378
402
  return jwt;
379
403
  }
380
- async makePayment(amount, currency, receiver, memo) {
404
+ async makePayment(destinations, memo, _paymentRequestId) {
405
+ // Filter to world/base chain destinations
406
+ const worldDestinations = destinations.filter(d => d.chain === 'world' || d.chain === 'base');
407
+ if (worldDestinations.length === 0) {
408
+ this.logger.debug('MainWalletPaymentMaker: No world/base destinations found, cannot handle payment');
409
+ return null;
410
+ }
411
+ // For now, handle only the first destination
412
+ // TODO: Support multiple destinations in a single transaction
413
+ const dest = worldDestinations[0];
414
+ const { amount, currency, address: receiver } = dest;
381
415
  if (currency !== 'USDC') {
382
416
  throw new Error('Only USDC currency is supported; received ' + currency);
383
417
  }
@@ -447,7 +481,12 @@ class MainWalletPaymentMaker {
447
481
  this.logger.info('Confirmation failed, adding delay for transaction to propagate...');
448
482
  await new Promise(resolve => setTimeout(resolve, 30000));
449
483
  }
450
- return txHash;
484
+ // Return payment identifier with all required fields
485
+ return {
486
+ transactionId: txHash,
487
+ chain: dest.chain,
488
+ currency: dest.currency
489
+ };
451
490
  }
452
491
  }
453
492
 
@@ -601,30 +640,48 @@ class WorldchainAccount {
601
640
  }
602
641
  }
603
642
  constructor(spendPermission, ephemeralSmartWallet, logger, mainWalletAddress, provider, chainId = client.WORLD_CHAIN_MAINNET.id, customRpcUrl) {
643
+ this.chainId = chainId;
604
644
  if (ephemeralSmartWallet) {
605
645
  // Ephemeral wallet mode
606
646
  if (!spendPermission) {
607
647
  throw new Error('Spend permission is required for ephemeral wallet mode');
608
648
  }
609
- this.accountId = ephemeralSmartWallet.address;
610
- this.paymentMakers = {
611
- 'world': new WorldchainPaymentMaker(spendPermission, ephemeralSmartWallet, {
649
+ // Format accountId as network:address
650
+ this.accountId = `world:${ephemeralSmartWallet.address}`;
651
+ this.ephemeralSmartWallet = ephemeralSmartWallet;
652
+ this.paymentMakers = [
653
+ new WorldchainPaymentMaker(spendPermission, ephemeralSmartWallet, {
612
654
  logger,
613
655
  chainId,
614
656
  customRpcUrl
615
- }),
616
- };
657
+ })
658
+ ];
617
659
  }
618
660
  else {
619
661
  // Main wallet mode
620
662
  if (!mainWalletAddress || !provider) {
621
663
  throw new Error('Main wallet address and provider are required for main wallet mode');
622
664
  }
623
- this.accountId = mainWalletAddress;
624
- this.paymentMakers = {
625
- 'world': new MainWalletPaymentMaker(mainWalletAddress, provider, logger, chainId, customRpcUrl),
626
- };
665
+ // Format accountId as network:address
666
+ this.accountId = `world:${mainWalletAddress}`;
667
+ this.mainWalletAddress = mainWalletAddress;
668
+ this.paymentMakers = [
669
+ new MainWalletPaymentMaker(mainWalletAddress, provider, logger, chainId, customRpcUrl)
670
+ ];
671
+ }
672
+ }
673
+ async getSources() {
674
+ const address = this.ephemeralSmartWallet?.address || this.mainWalletAddress;
675
+ if (!address) {
676
+ return [];
627
677
  }
678
+ // Determine chain based on chainId
679
+ const chain = this.chainId === 11155420 ? common.ChainEnum.WorldSepolia : common.ChainEnum.World;
680
+ return [{
681
+ address,
682
+ chain,
683
+ walletType: this.ephemeralSmartWallet ? common.WalletTypeEnum.Smart : common.WalletTypeEnum.EOA
684
+ }];
628
685
  }
629
686
  static clearAllCachedData(userWalletAddress, cache) {
630
687
  // In non-browser environments, require an explicit cache parameter
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/spendPermissionShim.ts","../src/worldchainPaymentMaker.ts","../src/mainWalletPaymentMaker.ts","../src/cache.ts","../src/smartWalletHelpers.ts","../src/worldchainAccount.ts","../src/minikit.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["ERC20_ABI","getWorldChainByChainId","client","createWalletClient","custom","encodeFunctionData","USDC_DECIMALS","WORLD_CHAIN_MAINNET","ConsoleLogger","constructEIP1271Message","createEIP1271AuthData","createEIP1271JWT","USDC_CONTRACT_ADDRESS_WORLD_MAINNET","parseEther","getWorldChainMainnetWithRPC","createPublicClient","http","JsonCache","privateKeyToAccount","toCoinbaseSmartAccount","createBundlerClient","getWorldChainUSDCAddress","BrowserCache","generatePrivateKey","parseUnits"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/spendPermissionShim.ts","../src/worldchainPaymentMaker.ts","../src/mainWalletPaymentMaker.ts","../src/cache.ts","../src/smartWalletHelpers.ts","../src/worldchainAccount.ts","../src/minikit.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["ERC20_ABI","getWorldChainByChainId","client","createWalletClient","custom","encodeFunctionData","USDC_DECIMALS","WORLD_CHAIN_MAINNET","ConsoleLogger","constructEIP1271Message","createEIP1271AuthData","createEIP1271JWT","USDC_CONTRACT_ADDRESS_WORLD_MAINNET","parseEther","getWorldChainMainnetWithRPC","createPublicClient","http","JsonCache","privateKeyToAccount","toCoinbaseSmartAccount","createBundlerClient","getWorldChainUSDCAddress","BrowserCache","generatePrivateKey","ChainEnum","WalletTypeEnum","parseUnits"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { PaymentMaker, Hex, Account as Account$1 } from '@atxp/client';
2
- import { Logger, Currency, JsonCache, ICache } from '@atxp/common';
1
+ import { PaymentMaker, Logger, Currency, AccountId, Destination, PaymentIdentifier, JsonCache, Account as Account$1, ICache, Source } from '@atxp/common';
3
2
  export { BrowserCache, ICache, MemoryCache } from '@atxp/common';
4
3
  import BigNumber from 'bignumber.js';
5
4
  import { Address, Account } from 'viem';
6
5
  import { BundlerClient, SmartAccount } from 'viem/account-abstraction';
6
+ import { Hex } from '@atxp/client';
7
7
  import { MiniKit } from '@worldcoin/minikit-js';
8
8
 
9
9
  type MainWalletProvider = {
@@ -19,11 +19,18 @@ declare class MainWalletPaymentMaker implements PaymentMaker {
19
19
  private chainId;
20
20
  private customRpcUrl?;
21
21
  constructor(walletAddress: string, provider: MainWalletProvider, logger?: Logger, chainId?: number, customRpcUrl?: string);
22
- generateJWT({ paymentRequestId, codeChallenge }: {
22
+ getSourceAddress(_params: {
23
+ amount: BigNumber;
24
+ currency: Currency;
25
+ receiver: string;
26
+ memo: string;
27
+ }): string;
28
+ generateJWT({ paymentRequestId, codeChallenge, accountId }: {
23
29
  paymentRequestId: string;
24
30
  codeChallenge: string;
31
+ accountId?: AccountId | null;
25
32
  }): Promise<string>;
26
- makePayment(amount: BigNumber, currency: Currency, receiver: string, memo: string): Promise<string>;
33
+ makePayment(destinations: Destination[], memo: string, _paymentRequestId?: string): Promise<PaymentIdentifier | null>;
27
34
  }
28
35
 
29
36
  /**
@@ -90,10 +97,11 @@ interface EphemeralSmartWallet {
90
97
  }
91
98
 
92
99
  declare class WorldchainAccount implements Account$1 {
93
- accountId: string;
94
- paymentMakers: {
95
- [key: string]: PaymentMaker;
96
- };
100
+ accountId: AccountId;
101
+ paymentMakers: PaymentMaker[];
102
+ private mainWalletAddress?;
103
+ private ephemeralSmartWallet?;
104
+ private chainId;
97
105
  private static toCacheKey;
98
106
  static initialize(config: {
99
107
  walletAddress: string;
@@ -109,6 +117,7 @@ declare class WorldchainAccount implements Account$1 {
109
117
  private static loadSavedWalletAndPermission;
110
118
  private static deploySmartWallet;
111
119
  constructor(spendPermission: SpendPermission | null, ephemeralSmartWallet: EphemeralSmartWallet | null, logger?: Logger, mainWalletAddress?: string, provider?: MainWalletProvider, chainId?: number, customRpcUrl?: string);
120
+ getSources(): Promise<Source[]>;
112
121
  static clearAllCachedData(userWalletAddress: string, cache?: ICache<string>): void;
113
122
  }
114
123
 
@@ -170,11 +179,18 @@ declare class WorldchainPaymentMaker implements PaymentMaker {
170
179
  * @param options - Optional configuration
171
180
  */
172
181
  constructor(spendPermission: SpendPermission, smartWallet: EphemeralSmartWallet, options?: WorldchainPaymentMakerOptions);
173
- generateJWT({ paymentRequestId, codeChallenge }: {
182
+ getSourceAddress(_params: {
183
+ amount: BigNumber;
184
+ currency: Currency;
185
+ receiver: string;
186
+ memo: string;
187
+ }): string;
188
+ generateJWT({ paymentRequestId, codeChallenge, accountId }: {
174
189
  paymentRequestId: string;
175
190
  codeChallenge: string;
191
+ accountId?: AccountId | null;
176
192
  }): Promise<string>;
177
- makePayment(amount: BigNumber, currency: Currency, receiver: string, memo: string): Promise<string>;
193
+ makePayment(destinations: Destination[], memo: string, _paymentRequestId?: string): Promise<PaymentIdentifier | null>;
178
194
  }
179
195
 
180
196
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC9F,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,YAAY,IAAI,oBAAoB,EACzC,iBAAiB,IAAI,eAAe,EACpC,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { getWorldChainByChainId, WORLD_CHAIN_MAINNET, USDC_CONTRACT_ADDRESS_WORLD_MAINNET, getWorldChainMainnetWithRPC, getWorldChainUSDCAddress } from '@atxp/client';
2
- import { ConsoleLogger, constructEIP1271Message, createEIP1271AuthData, createEIP1271JWT, JsonCache, BrowserCache } from '@atxp/common';
1
+ import { ConsoleLogger, constructEIP1271Message, createEIP1271AuthData, createEIP1271JWT, JsonCache, BrowserCache, ChainEnum, WalletTypeEnum } from '@atxp/common';
3
2
  export { BrowserCache, MemoryCache } from '@atxp/common';
3
+ import { getWorldChainByChainId, WORLD_CHAIN_MAINNET, USDC_CONTRACT_ADDRESS_WORLD_MAINNET, getWorldChainMainnetWithRPC, getWorldChainUSDCAddress } from '@atxp/client';
4
4
  import { createWalletClient, custom, encodeFunctionData, parseEther, createPublicClient, http, parseUnits } from 'viem';
5
5
  import { privateKeyToAccount, generatePrivateKey } from 'viem/accounts';
6
6
  import { toCoinbaseSmartAccount, createBundlerClient } from 'viem/account-abstraction';
@@ -233,14 +233,18 @@ class WorldchainPaymentMaker {
233
233
  this.customRpcUrl = customRpcUrl;
234
234
  this.confirmationDelays = finalDelays;
235
235
  }
236
- async generateJWT({ paymentRequestId, codeChallenge }) {
236
+ getSourceAddress(_params) {
237
+ return this.smartWallet.account.address;
238
+ }
239
+ async generateJWT({ paymentRequestId, codeChallenge, accountId }) {
237
240
  // Generate EIP-1271 auth data for smart wallet authentication
238
241
  const timestamp = Math.floor(Date.now() / 1000);
239
242
  const message = constructEIP1271Message({
240
243
  walletAddress: this.smartWallet.account.address,
241
244
  timestamp,
242
245
  codeChallenge,
243
- paymentRequestId
246
+ paymentRequestId,
247
+ ...(accountId ? { accountId } : {}),
244
248
  });
245
249
  // Sign the message - this will return an ABI-encoded signature from the smart wallet
246
250
  const signature = await this.smartWallet.account.signMessage({
@@ -252,11 +256,22 @@ class WorldchainPaymentMaker {
252
256
  signature,
253
257
  timestamp,
254
258
  codeChallenge,
255
- paymentRequestId
259
+ paymentRequestId,
260
+ ...(accountId ? { accountId } : {}),
256
261
  });
257
262
  return createEIP1271JWT(authData);
258
263
  }
259
- async makePayment(amount, currency, receiver, memo) {
264
+ async makePayment(destinations, memo, _paymentRequestId) {
265
+ // Filter to world/base chain destinations
266
+ const worldDestinations = destinations.filter(d => d.chain === 'world' || d.chain === 'base');
267
+ if (worldDestinations.length === 0) {
268
+ this.logger.debug('WorldchainPaymentMaker: No world/base destinations found, cannot handle payment');
269
+ return null;
270
+ }
271
+ // For now, handle only the first destination
272
+ // TODO: Support multiple destinations in a single transaction
273
+ const dest = worldDestinations[0];
274
+ const { amount, currency, address: receiver } = dest;
260
275
  if (currency !== 'USDC') {
261
276
  throw new Error('Only usdc currency is supported; received ' + currency);
262
277
  }
@@ -314,9 +329,14 @@ class WorldchainPaymentMaker {
314
329
  // Wait for additional confirmations to ensure the transaction is well-propagated
315
330
  // This helps avoid the "Transaction receipt could not be found" error
316
331
  await waitForTransactionConfirmations(this.smartWallet, txHash, 2, this.logger, this.confirmationDelays);
317
- // Return the actual transaction hash, not the user operation hash
318
- // The payment verification system needs the on-chain transaction hash
319
- return txHash;
332
+ // For bundled EVM transactions (ERC-4337), transactionId is the on-chain txHash (for backwards compatibility)
333
+ // and transactionSubId is the userOpHash (identifies the specific user operation within the bundle)
334
+ return {
335
+ transactionId: txHash,
336
+ transactionSubId: receipt.userOpHash,
337
+ chain: dest.chain,
338
+ currency: dest.currency
339
+ };
320
340
  }
321
341
  }
322
342
 
@@ -342,7 +362,10 @@ class MainWalletPaymentMaker {
342
362
  this.chainId = chainId;
343
363
  this.customRpcUrl = customRpcUrl;
344
364
  }
345
- async generateJWT({ paymentRequestId, codeChallenge }) {
365
+ getSourceAddress(_params) {
366
+ return this.walletAddress;
367
+ }
368
+ async generateJWT({ paymentRequestId, codeChallenge, accountId }) {
346
369
  const timestamp = Math.floor(Date.now() / 1000);
347
370
  // Create proper JWT header and payload for ES256K
348
371
  const header = {
@@ -357,7 +380,8 @@ class MainWalletPaymentMaker {
357
380
  exp: timestamp + 3600, // 1 hour expiration
358
381
  payment_request_id: paymentRequestId,
359
382
  code_challenge: codeChallenge,
360
- chain_id: this.chainId
383
+ chain_id: this.chainId,
384
+ ...(accountId ? { account_id: accountId } : {}),
361
385
  };
362
386
  // Encode header and payload to base64url
363
387
  const encodedHeader = Buffer.from(JSON.stringify(header)).toString('base64url');
@@ -376,7 +400,17 @@ class MainWalletPaymentMaker {
376
400
  this.logger.info(`Generated ES256K JWT for main wallet: ${this.walletAddress}`);
377
401
  return jwt;
378
402
  }
379
- async makePayment(amount, currency, receiver, memo) {
403
+ async makePayment(destinations, memo, _paymentRequestId) {
404
+ // Filter to world/base chain destinations
405
+ const worldDestinations = destinations.filter(d => d.chain === 'world' || d.chain === 'base');
406
+ if (worldDestinations.length === 0) {
407
+ this.logger.debug('MainWalletPaymentMaker: No world/base destinations found, cannot handle payment');
408
+ return null;
409
+ }
410
+ // For now, handle only the first destination
411
+ // TODO: Support multiple destinations in a single transaction
412
+ const dest = worldDestinations[0];
413
+ const { amount, currency, address: receiver } = dest;
380
414
  if (currency !== 'USDC') {
381
415
  throw new Error('Only USDC currency is supported; received ' + currency);
382
416
  }
@@ -446,7 +480,12 @@ class MainWalletPaymentMaker {
446
480
  this.logger.info('Confirmation failed, adding delay for transaction to propagate...');
447
481
  await new Promise(resolve => setTimeout(resolve, 30000));
448
482
  }
449
- return txHash;
483
+ // Return payment identifier with all required fields
484
+ return {
485
+ transactionId: txHash,
486
+ chain: dest.chain,
487
+ currency: dest.currency
488
+ };
450
489
  }
451
490
  }
452
491
 
@@ -600,30 +639,48 @@ class WorldchainAccount {
600
639
  }
601
640
  }
602
641
  constructor(spendPermission, ephemeralSmartWallet, logger, mainWalletAddress, provider, chainId = WORLD_CHAIN_MAINNET.id, customRpcUrl) {
642
+ this.chainId = chainId;
603
643
  if (ephemeralSmartWallet) {
604
644
  // Ephemeral wallet mode
605
645
  if (!spendPermission) {
606
646
  throw new Error('Spend permission is required for ephemeral wallet mode');
607
647
  }
608
- this.accountId = ephemeralSmartWallet.address;
609
- this.paymentMakers = {
610
- 'world': new WorldchainPaymentMaker(spendPermission, ephemeralSmartWallet, {
648
+ // Format accountId as network:address
649
+ this.accountId = `world:${ephemeralSmartWallet.address}`;
650
+ this.ephemeralSmartWallet = ephemeralSmartWallet;
651
+ this.paymentMakers = [
652
+ new WorldchainPaymentMaker(spendPermission, ephemeralSmartWallet, {
611
653
  logger,
612
654
  chainId,
613
655
  customRpcUrl
614
- }),
615
- };
656
+ })
657
+ ];
616
658
  }
617
659
  else {
618
660
  // Main wallet mode
619
661
  if (!mainWalletAddress || !provider) {
620
662
  throw new Error('Main wallet address and provider are required for main wallet mode');
621
663
  }
622
- this.accountId = mainWalletAddress;
623
- this.paymentMakers = {
624
- 'world': new MainWalletPaymentMaker(mainWalletAddress, provider, logger, chainId, customRpcUrl),
625
- };
664
+ // Format accountId as network:address
665
+ this.accountId = `world:${mainWalletAddress}`;
666
+ this.mainWalletAddress = mainWalletAddress;
667
+ this.paymentMakers = [
668
+ new MainWalletPaymentMaker(mainWalletAddress, provider, logger, chainId, customRpcUrl)
669
+ ];
670
+ }
671
+ }
672
+ async getSources() {
673
+ const address = this.ephemeralSmartWallet?.address || this.mainWalletAddress;
674
+ if (!address) {
675
+ return [];
626
676
  }
677
+ // Determine chain based on chainId
678
+ const chain = this.chainId === 11155420 ? ChainEnum.WorldSepolia : ChainEnum.World;
679
+ return [{
680
+ address,
681
+ chain,
682
+ walletType: this.ephemeralSmartWallet ? WalletTypeEnum.Smart : WalletTypeEnum.EOA
683
+ }];
627
684
  }
628
685
  static clearAllCachedData(userWalletAddress, cache) {
629
686
  // In non-browser environments, require an explicit cache parameter