agentwallet-sdk 2.5.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +218 -0
  2. package/dist/bridge/client.d.ts +17 -49
  3. package/dist/bridge/client.d.ts.map +1 -1
  4. package/dist/bridge/client.js +94 -124
  5. package/dist/bridge/client.js.map +1 -1
  6. package/dist/bridge/index.d.ts +4 -2
  7. package/dist/bridge/index.d.ts.map +1 -1
  8. package/dist/bridge/index.js +8 -2
  9. package/dist/bridge/index.js.map +1 -1
  10. package/dist/bridge/types.d.ts +100 -19
  11. package/dist/bridge/types.d.ts.map +1 -1
  12. package/dist/bridge/types.js +167 -18
  13. package/dist/bridge/types.js.map +1 -1
  14. package/dist/bridge/unified.d.ts +101 -0
  15. package/dist/bridge/unified.d.ts.map +1 -0
  16. package/dist/bridge/unified.js +284 -0
  17. package/dist/bridge/unified.js.map +1 -0
  18. package/dist/chains.d.ts +25 -0
  19. package/dist/chains.d.ts.map +1 -1
  20. package/dist/chains.js +33 -0
  21. package/dist/chains.js.map +1 -1
  22. package/dist/index.d.ts +13 -9
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +10 -3
  25. package/dist/index.js.map +1 -1
  26. package/dist/solana/bridge.d.ts +144 -0
  27. package/dist/solana/bridge.d.ts.map +1 -0
  28. package/dist/solana/bridge.js +352 -0
  29. package/dist/solana/bridge.js.map +1 -0
  30. package/dist/solana/index.d.ts +8 -0
  31. package/dist/solana/index.d.ts.map +1 -0
  32. package/dist/solana/index.js +6 -0
  33. package/dist/solana/index.js.map +1 -0
  34. package/dist/solana/swap.d.ts +85 -0
  35. package/dist/solana/swap.d.ts.map +1 -0
  36. package/dist/solana/swap.js +173 -0
  37. package/dist/solana/swap.js.map +1 -0
  38. package/dist/solana/types.d.ts +126 -0
  39. package/dist/solana/types.d.ts.map +1 -0
  40. package/dist/solana/types.js +10 -0
  41. package/dist/solana/types.js.map +1 -0
  42. package/dist/solana/wallet.d.ts +83 -0
  43. package/dist/solana/wallet.d.ts.map +1 -0
  44. package/dist/solana/wallet.js +164 -0
  45. package/dist/solana/wallet.js.map +1 -0
  46. package/dist/solana/x402.d.ts +69 -0
  47. package/dist/solana/x402.d.ts.map +1 -0
  48. package/dist/solana/x402.js +154 -0
  49. package/dist/solana/x402.js.map +1 -0
  50. package/dist/x402/index.d.ts +1 -1
  51. package/dist/x402/index.d.ts.map +1 -1
  52. package/dist/x402/index.js +1 -1
  53. package/dist/x402/index.js.map +1 -1
  54. package/dist/x402/types.d.ts +4 -2
  55. package/dist/x402/types.d.ts.map +1 -1
  56. package/dist/x402/types.js +12 -1
  57. package/dist/x402/types.js.map +1 -1
  58. package/package.json +8 -3
@@ -1,33 +1,60 @@
1
- // [MAX-ADDED] BridgeModule — CCTP V2 cross-chain USDC bridge for AgentWallet
2
- // Supports: BaseEthereum, Base Optimism (extensible to any CCTP V2 chain)
1
+ // [MAX-UPDATED] BridgeModule — CCTP V2 cross-chain USDC bridge for AgentWallet
2
+ // Expanded: 4 chains 16 EVM chains (Solana handled by SolanaCCTPBridge + UnifiedBridge)
3
3
  //
4
4
  // Architecture:
5
5
  // 1. Approve USDC to TokenMessengerV2 on source chain (EOA-level signing)
6
6
  // 2. Call depositForBurn → extracts MessageSent bytes + messageHash
7
- // 3. Poll Circle IRIS API for attestation (~12s for fast, ~15min for finalized)
7
+ // 3. Poll Circle IRIS API for attestation (~8–20s fast, ~15min finalized)
8
8
  // 4. Call receiveMessage on destination MessageTransmitterV2 to mint USDC
9
9
  //
10
10
  // Non-custodial: all signing is done locally via the agent's WalletClient.
11
- // No private keys ever leave the caller's environment.
11
+ // Contract addresses verified: https://developers.circle.com/cctp/references/contract-addresses
12
12
  import { createPublicClient, http, keccak256, pad, getContract, } from 'viem';
13
- import { base, mainnet, optimism, arbitrum } from 'viem/chains';
13
+ import { mainnet, optimism, arbitrum, base, } from 'viem/chains';
14
14
  import { TokenMessengerV2Abi, MessageTransmitterV2Abi, ERC20BridgeAbi, } from './abis.js';
15
- import { CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, FINALITY_THRESHOLD, CIRCLE_ATTESTATION_API, MAX_ATTESTATION_POLLS, ATTESTATION_POLL_INTERVAL_MS, } from './types.js';
16
- // Viem chain objects indexed by BridgeChain
15
+ import { CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, BRIDGE_RPC_URLS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, FINALITY_THRESHOLD, CIRCLE_ATTESTATION_API, MAX_ATTESTATION_POLLS, ATTESTATION_POLL_INTERVAL_MS, calcBridgeFee, } from './types.js';
16
+ // ─── Chain Object Registry ───
17
+ // Viem requires Chain objects (with rpc, chainId, etc.) for wallet/public clients.
18
+ // Chains in viem's export list are imported directly. New chains use minimal custom objects.
19
+ /** Build a minimal viem Chain object for chains not in viem/chains */
20
+ function buildChain(name, id, rpcUrl) {
21
+ return {
22
+ id,
23
+ name,
24
+ nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
25
+ rpcUrls: { default: { http: [rpcUrl] } },
26
+ };
27
+ }
28
+ /** All 16 EVM bridge chains mapped to viem Chain objects */
17
29
  const VIEM_CHAINS = {
18
- base,
19
30
  ethereum: mainnet,
20
- optimism,
21
- arbitrum,
31
+ optimism: optimism,
32
+ arbitrum: arbitrum,
33
+ base: base,
34
+ // Avalanche — available in viem but import is optional; define directly to avoid dependency issues
35
+ avalanche: buildChain('Avalanche C-Chain', 43114, BRIDGE_RPC_URLS.avalanche),
36
+ polygon: buildChain('Polygon PoS', 137, BRIDGE_RPC_URLS.polygon),
37
+ unichain: buildChain('Unichain', 130, BRIDGE_RPC_URLS.unichain),
38
+ linea: buildChain('Linea', 59144, BRIDGE_RPC_URLS.linea),
39
+ codex: buildChain('Codex', 81224, BRIDGE_RPC_URLS.codex),
40
+ sonic: buildChain('Sonic', 146, BRIDGE_RPC_URLS.sonic),
41
+ worldchain: buildChain('World Chain', 480, BRIDGE_RPC_URLS.worldchain),
42
+ sei: buildChain('Sei EVM', 1329, BRIDGE_RPC_URLS.sei),
43
+ xdc: buildChain('XDC Network', 50, BRIDGE_RPC_URLS.xdc),
44
+ hyperevm: buildChain('HyperEVM', 999, BRIDGE_RPC_URLS.hyperevm),
45
+ ink: buildChain('Ink', 57073, BRIDGE_RPC_URLS.ink),
46
+ plume: buildChain('Plume', 98866, BRIDGE_RPC_URLS.plume),
22
47
  };
23
48
  /**
24
- * BridgeModule — CCTP V2 cross-chain USDC bridge.
49
+ * BridgeModule — CCTP V2 cross-chain USDC bridge (16 EVM chains).
50
+ *
51
+ * For EVM↔Solana bridges, use UnifiedBridge instead.
25
52
  *
26
53
  * Usage:
27
54
  * ```ts
28
- * const bridge = new BridgeModule(walletClient, 'base', { rpcUrl: '...' });
29
- * const result = await bridge.bridge(1_000_000n, 'optimism');
30
- * console.log('Minted on Optimism:', result.mintTxHash);
55
+ * const bridge = new BridgeModule(walletClient, 'base');
56
+ * const result = await bridge.bridge(1_000_000n, 'polygon');
57
+ * console.log('Minted on Polygon:', result.mintTxHash);
31
58
  * ```
32
59
  */
33
60
  export class BridgeModule {
@@ -36,48 +63,49 @@ export class BridgeModule {
36
63
  throw new BridgeError('NO_WALLET_CLIENT', 'WalletClient must have an account attached. ' +
37
64
  'Use privateKeyToAccount() or similar to attach a signer.');
38
65
  }
66
+ if (!(fromChain in BRIDGE_CHAIN_IDS)) {
67
+ throw new BridgeError('UNSUPPORTED_CHAIN', `Source chain '${fromChain}' is not supported. Supported: ${Object.keys(BRIDGE_CHAIN_IDS).join(', ')}`);
68
+ }
39
69
  this.walletClient = walletClient;
40
70
  this.fromChain = fromChain;
41
71
  this.fromRpcUrl = options.rpcUrl;
42
72
  this.publicClient = createPublicClient({
43
73
  chain: VIEM_CHAINS[fromChain],
44
- transport: http(options.rpcUrl),
74
+ transport: http(options.rpcUrl ?? BRIDGE_RPC_URLS[fromChain]),
45
75
  });
46
76
  }
47
77
  // ─── Public API ───
48
78
  /**
49
- * Bridge USDC from the source chain to the destination chain.
79
+ * Bridge USDC from the source chain to any of the 16 supported EVM destination chains.
50
80
  *
51
- * This is the primary method. It orchestrates the full CCTP V2 flow:
52
- * approve burn attest mint.
81
+ * Full CCTP V2 flow: approve burn attest mint.
82
+ * Platform fee: 0.1% of amount (collected on source chain).
53
83
  *
54
84
  * @param amount - Amount in USDC base units (6 decimals). e.g. 1_000_000n = 1 USDC
55
- * @param toChain - Destination chain ('ethereum' | 'optimism' | 'arbitrum')
85
+ * @param toChain - Destination EVM chain
56
86
  * @param options - Optional overrides (finality, fees, destination address)
57
- *
58
- * @throws BridgeError with actionable message if anything fails
59
87
  */
60
88
  async bridge(amount, toChain, options = {}) {
61
89
  const startMs = Date.now();
62
- // 1. Validate inputs
63
90
  this.validateBridgeParams(amount, toChain);
64
91
  const account = this.walletClient.account;
65
92
  const recipient = options.destinationAddress ?? account.address;
66
93
  const minFinalityThreshold = options.minFinalityThreshold ?? FINALITY_THRESHOLD.FAST;
67
94
  const maxFee = options.maxFee ?? 0n;
68
95
  const attestationApiUrl = options.attestationApiUrl ?? CIRCLE_ATTESTATION_API;
69
- // 2. Approve USDC to TokenMessengerV2 on source chain
70
- await this.approveUsdc(amount);
71
- // 3. Burn USDC on source chain
72
- const burnResult = await this.depositForBurn(amount, toChain, recipient, minFinalityThreshold, maxFee);
73
- // 4. Poll for Circle attestation
96
+ // Platform fee: collected locally (agent deducts before bridging)
97
+ const applyFee = options.applyPlatformFee !== false;
98
+ const platformFee = applyFee ? calcBridgeFee(amount) : 0n;
99
+ const bridgeAmount = amount - platformFee;
100
+ await this.approveUsdc(amount); // approve full amount (fee stays in wallet)
101
+ const burnResult = await this.depositForBurn(bridgeAmount, toChain, recipient, minFinalityThreshold, maxFee);
74
102
  const attestation = await this.pollForAttestation(burnResult.messageHash, this.fromChain, attestationApiUrl);
75
- // 5. Mint on destination chain
76
103
  const mintTxHash = await this.receiveMessage(burnResult.messageBytes, attestation, toChain, options.destinationRpcUrl);
77
104
  return {
78
105
  burnTxHash: burnResult.burnTxHash,
79
106
  mintTxHash,
80
- amount,
107
+ amount: bridgeAmount,
108
+ platformFee,
81
109
  fromChain: this.fromChain,
82
110
  toChain,
83
111
  recipient,
@@ -87,8 +115,7 @@ export class BridgeModule {
87
115
  }
88
116
  /**
89
117
  * Step 1 of 3: Burn USDC on the source chain.
90
- * Returns the burn result including message bytes needed for minting.
91
- * Use this for manual/split-phase bridging.
118
+ * Returns burn result for manual/split-phase bridging.
92
119
  */
93
120
  async burn(amount, toChain, options = {}) {
94
121
  this.validateBridgeParams(amount, toChain);
@@ -101,7 +128,6 @@ export class BridgeModule {
101
128
  }
102
129
  /**
103
130
  * Step 2 of 3: Poll Circle IRIS API for attestation.
104
- * Returns the attestation bytes once Circle confirms the message.
105
131
  */
106
132
  async waitForAttestation(messageHash, apiUrl = CIRCLE_ATTESTATION_API) {
107
133
  return this.pollForAttestation(messageHash, this.fromChain, apiUrl);
@@ -112,9 +138,7 @@ export class BridgeModule {
112
138
  async mint(messageBytes, attestation, toChain, destinationRpcUrl) {
113
139
  return this.receiveMessage(messageBytes, attestation, toChain, destinationRpcUrl);
114
140
  }
115
- /**
116
- * Fetch the current USDC balance on the source chain for the signer's address.
117
- */
141
+ /** Get USDC balance on the source chain */
118
142
  async getUsdcBalance() {
119
143
  const account = this.walletClient.account;
120
144
  const usdc = getContract({
@@ -124,9 +148,7 @@ export class BridgeModule {
124
148
  });
125
149
  return usdc.read.balanceOf([account.address]);
126
150
  }
127
- /**
128
- * Fetch the current USDC allowance for the TokenMessengerV2 on source chain.
129
- */
151
+ /** Get USDC allowance for the TokenMessengerV2 on source chain */
130
152
  async getUsdcAllowance() {
131
153
  const account = this.walletClient.account;
132
154
  const usdc = getContract({
@@ -139,26 +161,23 @@ export class BridgeModule {
139
161
  TOKEN_MESSENGER_V2[this.fromChain],
140
162
  ]);
141
163
  }
164
+ /** Get the source chain name */
165
+ getFromChain() {
166
+ return this.fromChain;
167
+ }
142
168
  // ─── Internal Implementation ───
143
- /**
144
- * Approve TokenMessengerV2 to spend USDC on behalf of the signer.
145
- * Skips if existing allowance is sufficient.
146
- */
147
169
  async approveUsdc(amount) {
148
170
  const account = this.walletClient.account;
149
171
  const spender = TOKEN_MESSENGER_V2[this.fromChain];
150
172
  const usdcAddress = USDC_CONTRACT[this.fromChain];
151
- // Check current allowance
152
173
  const usdc = getContract({
153
174
  address: usdcAddress,
154
175
  abi: ERC20BridgeAbi,
155
176
  client: this.publicClient,
156
177
  });
157
178
  const currentAllowance = await usdc.read.allowance([account.address, spender]);
158
- if (currentAllowance >= amount) {
159
- return; // Sufficient allowance, skip approve
160
- }
161
- // Execute approve
179
+ if (currentAllowance >= amount)
180
+ return;
162
181
  const usdcWrite = getContract({
163
182
  address: usdcAddress,
164
183
  abi: ERC20BridgeAbi,
@@ -173,17 +192,12 @@ export class BridgeModule {
173
192
  `Check that the account has sufficient gas and USDC on ${this.fromChain}.`);
174
193
  }
175
194
  }
176
- /**
177
- * Call TokenMessengerV2.depositForBurn and extract MessageSent data.
178
- */
179
195
  async depositForBurn(amount, toChain, recipient, minFinalityThreshold, maxFee) {
180
196
  const account = this.walletClient.account;
181
197
  const destinationDomain = CCTP_DOMAIN_IDS[toChain];
182
198
  const messengerAddress = TOKEN_MESSENGER_V2[this.fromChain];
183
199
  const usdcAddress = USDC_CONTRACT[this.fromChain];
184
- // CCTP requires mintRecipient as a 32-byte left-padded address
185
200
  const mintRecipient = pad(recipient, { size: 32 });
186
- // destinationCaller = bytes32(0) means anyone can call receiveMessage
187
201
  const destinationCaller = pad('0x0', { size: 32 });
188
202
  const messenger = getContract({
189
203
  address: messengerAddress,
@@ -204,17 +218,14 @@ export class BridgeModule {
204
218
  }
205
219
  catch (err) {
206
220
  const msg = err instanceof Error ? err.message : String(err);
207
- throw new BridgeError('BURN_FAILED', `CCTP depositForBurn failed: ${msg}. ` +
208
- `Ensure the wallet has sufficient USDC and ETH for gas on ${this.fromChain}.`);
221
+ throw new BridgeError('BURN_FAILED', `CCTP depositForBurn failed on ${this.fromChain}: ${msg}. ` +
222
+ `Ensure the wallet has sufficient USDC and gas.`);
209
223
  }
210
- const receipt = await this.publicClient.waitForTransactionReceipt({
211
- hash: burnTxHash,
212
- });
224
+ const receipt = await this.publicClient.waitForTransactionReceipt({ hash: burnTxHash });
213
225
  if (receipt.status !== 'success') {
214
- throw new BridgeError('BURN_FAILED', `depositForBurn transaction reverted (tx: ${burnTxHash}). ` +
215
- `Check USDC balance, allowance, and gas on ${this.fromChain}.`);
226
+ throw new BridgeError('BURN_FAILED', `depositForBurn reverted (tx: ${burnTxHash}) on ${this.fromChain}. ` +
227
+ `Check USDC balance, allowance, and gas.`);
216
228
  }
217
- // Extract MessageSent event from the receipt logs
218
229
  const { messageBytes, messageHash, nonce } = this.extractMessageSent(receipt);
219
230
  return {
220
231
  burnTxHash,
@@ -227,63 +238,45 @@ export class BridgeModule {
227
238
  }
228
239
  /**
229
240
  * Extract the CCTP MessageSent event from a transaction receipt.
230
- * The MessageTransmitter emits this event during depositForBurn.
231
241
  */
232
242
  extractMessageSent(receipt) {
233
- // MessageSent event topic: keccak256("MessageSent(bytes)")
234
243
  const MESSAGE_SENT_TOPIC = '0x8c5261668696ce22758910d05bab8f186d6eb247ceac2af2e82c7dc17669b036';
235
244
  for (const log of receipt.logs) {
236
245
  if (log.topics[0]?.toLowerCase() === MESSAGE_SENT_TOPIC.toLowerCase()) {
237
- // The message bytes are ABI-encoded in the log data
238
- // Format: bytes32 offset (0x20) + bytes32 length + data
239
246
  const rawData = log.data;
240
- // Decode: first 32 bytes = offset, next 32 bytes = length, rest = message
241
247
  if (rawData.length < 130)
242
- continue; // sanity check (0x + 64 hex chars minimum)
243
- // Parse length from bytes 32-63 (offset 64-127 in hex string)
244
- const dataHex = rawData.slice(2); // remove 0x
245
- const lengthHex = dataHex.slice(64, 128); // bytes 32-64
248
+ continue;
249
+ const dataHex = rawData.slice(2);
250
+ const lengthHex = dataHex.slice(64, 128);
246
251
  const messageLength = parseInt(lengthHex, 16);
247
252
  if (messageLength === 0)
248
253
  continue;
249
- // Extract message bytes
250
254
  const messageBytesHex = dataHex.slice(128, 128 + messageLength * 2);
251
255
  const messageBytes = ('0x' + messageBytesHex);
252
256
  const messageHash = keccak256(messageBytes);
253
- // Extract nonce from message bytes (bytes 12-19, after version[4] + sourceDomain[4] + destDomain[4])
254
- const nonceBytesHex = messageBytesHex.slice(24, 40); // bytes 12-20
257
+ // Nonce: bytes 12–19 of message (after version[4] + sourceDomain[4] + destDomain[4])
258
+ const nonceBytesHex = messageBytesHex.slice(24, 40);
255
259
  const nonce = BigInt('0x' + nonceBytesHex);
256
260
  return { messageBytes, messageHash, nonce };
257
261
  }
258
262
  }
259
263
  throw new BridgeError('BURN_FAILED', 'Could not find MessageSent event in burn transaction receipt. ' +
260
- 'The transaction may have succeeded but CCTP message was not emitted. ' +
261
264
  'Check the transaction on the block explorer.');
262
265
  }
263
- /**
264
- * Poll the Circle IRIS API until the attestation is ready.
265
- * Fast finality: ~12 seconds. Full finality: ~15 minutes on Ethereum.
266
- */
267
266
  async pollForAttestation(messageHash, fromChain, apiUrl) {
268
267
  const sourceDomain = CCTP_DOMAIN_IDS[fromChain];
269
- // Circle V2 API: GET /v2/messages/{sourceDomain}?transactionHash={hash}
270
- // Note: messageHash and txHash can both be used; we'll use messageHash for direct lookup
271
268
  const url = `${apiUrl}/v2/messages/${sourceDomain}/${messageHash}`;
272
269
  for (let attempt = 0; attempt < MAX_ATTESTATION_POLLS; attempt++) {
273
270
  let response;
274
271
  try {
275
- const res = await fetch(url, {
276
- headers: { 'Accept': 'application/json' },
277
- });
272
+ const res = await fetch(url, { headers: { 'Accept': 'application/json' } });
278
273
  if (!res.ok) {
279
274
  if (res.status === 404) {
280
- // Not yet indexed — keep polling
281
275
  await this.sleep(ATTESTATION_POLL_INTERVAL_MS);
282
276
  continue;
283
277
  }
284
278
  const body = await res.text().catch(() => '');
285
- throw new BridgeError('ATTESTATION_ERROR', `Circle API returned HTTP ${res.status}: ${body}. ` +
286
- `URL: ${url}. Check Circle API status at status.circle.com.`);
279
+ throw new BridgeError('ATTESTATION_ERROR', `Circle API HTTP ${res.status}: ${body}. URL: ${url}`);
287
280
  }
288
281
  response = await res.json();
289
282
  }
@@ -291,33 +284,27 @@ export class BridgeModule {
291
284
  if (err instanceof BridgeError)
292
285
  throw err;
293
286
  const msg = err instanceof Error ? err.message : String(err);
294
- throw new BridgeError('ATTESTATION_ERROR', `Failed to reach Circle IRIS API: ${msg}. ` +
295
- `Ensure network connectivity and try again.`);
287
+ throw new BridgeError('ATTESTATION_ERROR', `Failed to reach Circle IRIS API: ${msg}`);
296
288
  }
297
289
  if (response.status === 'complete' && response.attestation) {
298
290
  return response.attestation;
299
291
  }
300
292
  if (response.status === 'error') {
301
- throw new BridgeError('ATTESTATION_ERROR', `Circle attestation failed: ${response.error ?? 'unknown error'}. ` +
302
- `Message hash: ${messageHash}. Contact Circle support if this persists.`);
293
+ throw new BridgeError('ATTESTATION_ERROR', `Circle attestation failed: ${response.error ?? 'unknown'}. Hash: ${messageHash}`);
303
294
  }
304
- // Status is 'pending_confirmations' — keep waiting
305
295
  await this.sleep(ATTESTATION_POLL_INTERVAL_MS);
306
296
  }
307
297
  throw new BridgeError('ATTESTATION_TIMEOUT', `Attestation not received after ${MAX_ATTESTATION_POLLS} attempts ` +
308
298
  `(${(MAX_ATTESTATION_POLLS * ATTESTATION_POLL_INTERVAL_MS) / 1000}s). ` +
309
- `Message hash: ${messageHash}. You can retry by calling mint() manually with the message bytes.`);
299
+ `Hash: ${messageHash}. Retry with mint() manually.`);
310
300
  }
311
- /**
312
- * Call MessageTransmitterV2.receiveMessage on the destination chain to mint USDC.
313
- */
314
301
  async receiveMessage(messageBytes, attestation, toChain, destinationRpcUrl) {
315
302
  const account = this.walletClient.account;
316
303
  const transmitterAddress = MESSAGE_TRANSMITTER_V2[toChain];
317
304
  const destChain = VIEM_CHAINS[toChain];
318
305
  const destPublicClient = createPublicClient({
319
306
  chain: destChain,
320
- transport: http(destinationRpcUrl),
307
+ transport: http(destinationRpcUrl ?? BRIDGE_RPC_URLS[toChain]),
321
308
  });
322
309
  const transmitter = getContract({
323
310
  address: transmitterAddress,
@@ -331,43 +318,36 @@ export class BridgeModule {
331
318
  catch (err) {
332
319
  const msg = err instanceof Error ? err.message : String(err);
333
320
  throw new BridgeError('MINT_FAILED', `CCTP receiveMessage failed on ${toChain}: ${msg}. ` +
334
- `Ensure the wallet has sufficient ETH for gas on ${toChain}.`);
321
+ `Ensure the wallet has sufficient gas on ${toChain}.`);
335
322
  }
336
- const mintReceipt = await destPublicClient.waitForTransactionReceipt({
337
- hash: mintTxHash,
338
- });
323
+ const mintReceipt = await destPublicClient.waitForTransactionReceipt({ hash: mintTxHash });
339
324
  if (mintReceipt.status !== 'success') {
340
325
  throw new BridgeError('MINT_FAILED', `receiveMessage reverted on ${toChain} (tx: ${mintTxHash}). ` +
341
- `The message may have already been used (nonce replay). ` +
342
- `Check ${toChain} block explorer for details.`);
326
+ `Possible nonce replay check block explorer.`);
343
327
  }
344
328
  return mintTxHash;
345
329
  }
346
330
  // ─── Validation ───
347
331
  validateBridgeParams(amount, toChain) {
348
332
  if (amount <= 0n) {
349
- throw new BridgeError('INVALID_AMOUNT', `Bridge amount must be greater than 0. ` +
350
- `Received: ${amount}. Amount is in USDC base units (6 decimals): 1 USDC = 1_000_000.`);
333
+ throw new BridgeError('INVALID_AMOUNT', `Bridge amount must be > 0. Got: ${amount}. ` +
334
+ `Amount is in USDC base units (6 decimals): 1 USDC = 1_000_000.`);
351
335
  }
352
- if (!(toChain in CCTP_DOMAIN_IDS)) {
353
- const supported = Object.keys(CCTP_DOMAIN_IDS).join(', ');
354
- throw new BridgeError('UNSUPPORTED_CHAIN', `Chain '${toChain}' is not supported. Supported chains: ${supported}. ` +
355
- `To add a new chain, submit a PR to the agentwallet-sdk repository.`);
336
+ if (!(toChain in BRIDGE_CHAIN_IDS)) {
337
+ const supported = Object.keys(BRIDGE_CHAIN_IDS).join(', ');
338
+ throw new BridgeError('UNSUPPORTED_CHAIN', `Chain '${toChain}' is not supported by BridgeModule (EVM only). ` +
339
+ `Supported EVM chains: ${supported}. ` +
340
+ `For Solana routes, use UnifiedBridge instead.`);
356
341
  }
357
342
  if (toChain === this.fromChain) {
358
- throw new BridgeError('UNSUPPORTED_CHAIN', `Source and destination chains must be different. ` +
359
- `Both are set to '${toChain}'. Choose a different destination chain.`);
343
+ throw new BridgeError('SAME_CHAIN', `Source and destination chains must differ. Both are '${toChain}'.`);
360
344
  }
361
345
  }
362
- // ─── Utilities ───
363
346
  sleep(ms) {
364
347
  return new Promise((resolve) => setTimeout(resolve, ms));
365
348
  }
366
349
  }
367
350
  // ─── BridgeError ───
368
- /**
369
- * Structured bridge error with actionable messages and error codes.
370
- */
371
351
  export class BridgeError extends Error {
372
352
  constructor(code, message) {
373
353
  super(`[BridgeModule:${code}] ${message}`);
@@ -376,18 +356,8 @@ export class BridgeError extends Error {
376
356
  }
377
357
  }
378
358
  // ─── Factory Helper ───
379
- /**
380
- * Create a BridgeModule from an existing AgentWallet object.
381
- * Convenience wrapper for wallet.bridge() integration.
382
- *
383
- * @example
384
- * ```ts
385
- * const bridge = createBridge(wallet.walletClient, 'base', { rpcUrl: BASE_RPC });
386
- * const result = await bridge.bridge(5_000_000n, 'optimism');
387
- * ```
388
- */
389
359
  export function createBridge(walletClient, fromChain = 'base', options = {}) {
390
360
  return new BridgeModule(walletClient, fromChain, options);
391
361
  }
392
- export { CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, FINALITY_THRESHOLD, };
362
+ export { CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, BRIDGE_RPC_URLS, FINALITY_THRESHOLD, };
393
363
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/bridge/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/bridge/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- export { BridgeModule, BridgeError, createBridge, CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, FINALITY_THRESHOLD, } from './client.js';
2
- export type { BridgeChain, BridgeOptions, BurnResult, BridgeResult, AttestationResponse, AttestationStatus, } from './types.js';
1
+ export { BridgeModule, BridgeError, createBridge, CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, BRIDGE_RPC_URLS, FINALITY_THRESHOLD, } from './client.js';
2
+ export { UnifiedBridge, type UnifiedBridgeConfig, type UnifiedBridgeParams, } from './unified.js';
3
+ export type { BridgeChain, CCTPSupportedChain, CCTPSolanaChain, BridgeOptions, BurnResult, BridgeResult, BridgeQuote, AttestationResponse, AttestationStatus, BridgeErrorCode, } from './types.js';
4
+ export { SOLANA_CCTP_PROGRAMS, SOLANA_USDC_MINT, SOLANA_CCTP_DOMAIN, PLATFORM_FEE_BPS, calcBridgeFee, calcAmountAfterFee, FAST_TRANSFER_CHAINS, getEstimatedBridgeSeconds, } from './types.js';
3
5
  export { TokenMessengerV2Abi, MessageTransmitterV2Abi, ERC20BridgeAbi } from './abis.js';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,UAAU,EACV,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
@@ -1,4 +1,10 @@
1
- // [MAX-ADDED] Bridge Module — CCTP V2 Cross-Chain USDC Bridge for AgentWallet
2
- export { BridgeModule, BridgeError, createBridge, CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, FINALITY_THRESHOLD, } from './client.js';
1
+ // [MAX-UPDATED] Bridge Module — CCTP V2 Cross-Chain USDC Bridge
2
+ // Expanded: 4 chains 17 chains (16 EVM + Solana)
3
+ // Core EVM bridge
4
+ export { BridgeModule, BridgeError, createBridge, CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, BRIDGE_RPC_URLS, FINALITY_THRESHOLD, } from './client.js';
5
+ // Unified bridge (all 17 chains)
6
+ export { UnifiedBridge, } from './unified.js';
7
+ export { SOLANA_CCTP_PROGRAMS, SOLANA_USDC_MINT, SOLANA_CCTP_DOMAIN, PLATFORM_FEE_BPS, calcBridgeFee, calcAmountAfterFee, FAST_TRANSFER_CHAINS, getEstimatedBridgeSeconds, } from './types.js';
8
+ // ABIs
3
9
  export { TokenMessengerV2Abi, MessageTransmitterV2Abi, ERC20BridgeAbi } from './abis.js';
4
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAWrB,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,mDAAmD;AAEnD,kBAAkB;AAClB,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,iCAAiC;AACjC,OAAO,EACL,aAAa,GAGd,MAAM,cAAc,CAAC;AAgBtB,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO;AACP,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}