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.
- package/README.md +218 -0
- package/dist/bridge/client.d.ts +17 -49
- package/dist/bridge/client.d.ts.map +1 -1
- package/dist/bridge/client.js +94 -124
- package/dist/bridge/client.js.map +1 -1
- package/dist/bridge/index.d.ts +4 -2
- package/dist/bridge/index.d.ts.map +1 -1
- package/dist/bridge/index.js +8 -2
- package/dist/bridge/index.js.map +1 -1
- package/dist/bridge/types.d.ts +100 -19
- package/dist/bridge/types.d.ts.map +1 -1
- package/dist/bridge/types.js +167 -18
- package/dist/bridge/types.js.map +1 -1
- package/dist/bridge/unified.d.ts +101 -0
- package/dist/bridge/unified.d.ts.map +1 -0
- package/dist/bridge/unified.js +284 -0
- package/dist/bridge/unified.js.map +1 -0
- package/dist/chains.d.ts +25 -0
- package/dist/chains.d.ts.map +1 -1
- package/dist/chains.js +33 -0
- package/dist/chains.js.map +1 -1
- package/dist/index.d.ts +13 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -3
- package/dist/index.js.map +1 -1
- package/dist/solana/bridge.d.ts +144 -0
- package/dist/solana/bridge.d.ts.map +1 -0
- package/dist/solana/bridge.js +352 -0
- package/dist/solana/bridge.js.map +1 -0
- package/dist/solana/index.d.ts +8 -0
- package/dist/solana/index.d.ts.map +1 -0
- package/dist/solana/index.js +6 -0
- package/dist/solana/index.js.map +1 -0
- package/dist/solana/swap.d.ts +85 -0
- package/dist/solana/swap.d.ts.map +1 -0
- package/dist/solana/swap.js +173 -0
- package/dist/solana/swap.js.map +1 -0
- package/dist/solana/types.d.ts +126 -0
- package/dist/solana/types.d.ts.map +1 -0
- package/dist/solana/types.js +10 -0
- package/dist/solana/types.js.map +1 -0
- package/dist/solana/wallet.d.ts +83 -0
- package/dist/solana/wallet.d.ts.map +1 -0
- package/dist/solana/wallet.js +164 -0
- package/dist/solana/wallet.js.map +1 -0
- package/dist/solana/x402.d.ts +69 -0
- package/dist/solana/x402.d.ts.map +1 -0
- package/dist/solana/x402.js +154 -0
- package/dist/solana/x402.js.map +1 -0
- package/dist/x402/index.d.ts +1 -1
- package/dist/x402/index.d.ts.map +1 -1
- package/dist/x402/index.js +1 -1
- package/dist/x402/index.js.map +1 -1
- package/dist/x402/types.d.ts +4 -2
- package/dist/x402/types.d.ts.map +1 -1
- package/dist/x402/types.js +12 -1
- package/dist/x402/types.js.map +1 -1
- package/package.json +8 -3
package/dist/bridge/client.js
CHANGED
|
@@ -1,33 +1,60 @@
|
|
|
1
|
-
// [MAX-
|
|
2
|
-
//
|
|
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 (~
|
|
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
|
-
//
|
|
11
|
+
// Contract addresses verified: https://developers.circle.com/cctp/references/contract-addresses
|
|
12
12
|
import { createPublicClient, http, keccak256, pad, getContract, } from 'viem';
|
|
13
|
-
import {
|
|
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
|
-
//
|
|
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'
|
|
29
|
-
* const result = await bridge.bridge(1_000_000n, '
|
|
30
|
-
* console.log('Minted on
|
|
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
|
|
79
|
+
* Bridge USDC from the source chain to any of the 16 supported EVM destination chains.
|
|
50
80
|
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
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
|
|
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
|
-
//
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const
|
|
73
|
-
|
|
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
|
|
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;
|
|
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
|
|
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
|
|
215
|
-
`Check USDC balance, allowance, and gas
|
|
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;
|
|
243
|
-
|
|
244
|
-
const
|
|
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
|
-
//
|
|
254
|
-
const nonceBytesHex = messageBytesHex.slice(24, 40);
|
|
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
|
|
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
|
|
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
|
-
`
|
|
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
|
|
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
|
-
`
|
|
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
|
|
350
|
-
`
|
|
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
|
|
353
|
-
const supported = Object.keys(
|
|
354
|
-
throw new BridgeError('UNSUPPORTED_CHAIN', `Chain '${toChain}' is not supported
|
|
355
|
-
`
|
|
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('
|
|
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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"}
|
package/dist/bridge/index.d.ts
CHANGED
|
@@ -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
|
|
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":"
|
|
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"}
|
package/dist/bridge/index.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
// [MAX-
|
|
2
|
-
|
|
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
|
package/dist/bridge/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,
|
|
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"}
|