agentwallet-sdk 3.3.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -536
- package/dist/bridge/abis.d.ts +48 -171
- package/dist/bridge/abis.d.ts.map +1 -1
- package/dist/bridge/abis.js.map +1 -1
- package/dist/bridge/client.d.ts +2 -41
- package/dist/bridge/client.d.ts.map +1 -1
- package/dist/bridge/client.js +35 -168
- package/dist/bridge/client.js.map +1 -1
- package/dist/bridge/index.d.ts +2 -4
- package/dist/bridge/index.d.ts.map +1 -1
- package/dist/bridge/index.js +1 -8
- package/dist/bridge/index.js.map +1 -1
- package/dist/bridge/types.d.ts +15 -134
- package/dist/bridge/types.d.ts.map +1 -1
- package/dist/bridge/types.js +16 -170
- package/dist/bridge/types.js.map +1 -1
- package/dist/identity/erc8004.d.ts +2 -240
- package/dist/identity/erc8004.d.ts.map +1 -1
- package/dist/identity/erc8004.js +58 -334
- package/dist/identity/erc8004.js.map +1 -1
- package/dist/index.d.ts +313 -136
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -59
- package/dist/index.js.map +1 -1
- package/dist/swap/SwapModule.d.ts +6 -50
- package/dist/swap/SwapModule.d.ts.map +1 -1
- package/dist/swap/SwapModule.js +25 -153
- package/dist/swap/SwapModule.js.map +1 -1
- package/dist/swap/abi.d.ts +47 -165
- package/dist/swap/abi.d.ts.map +1 -1
- package/dist/swap/abi.js.map +1 -1
- package/dist/swap/index.d.ts +2 -3
- package/dist/swap/index.d.ts.map +1 -1
- package/dist/swap/index.js +1 -4
- package/dist/swap/index.js.map +1 -1
- package/dist/swap/types.d.ts +6 -36
- package/dist/swap/types.d.ts.map +1 -1
- package/dist/swap/types.js +0 -1
- package/dist/swap/types.js.map +1 -1
- package/dist/types.d.ts +1 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/dist/types.js.map +1 -1
- package/dist/x402/__tests__/budget.test.d.ts +2 -0
- package/dist/x402/__tests__/budget.test.d.ts.map +1 -0
- package/dist/x402/__tests__/budget.test.js +114 -0
- package/dist/x402/__tests__/budget.test.js.map +1 -0
- package/dist/x402/__tests__/client.test.d.ts +2 -0
- package/dist/x402/__tests__/client.test.d.ts.map +1 -0
- package/dist/x402/__tests__/client.test.js +107 -0
- package/dist/x402/__tests__/client.test.js.map +1 -0
- package/dist/x402/chains/abstract/index.d.ts +135 -0
- package/dist/x402/chains/abstract/index.d.ts.map +1 -0
- package/dist/x402/chains/abstract/index.js +190 -0
- package/dist/x402/chains/abstract/index.js.map +1 -0
- package/dist/x402/client.d.ts +1 -4
- package/dist/x402/client.d.ts.map +1 -1
- package/dist/x402/client.js +2 -16
- package/dist/x402/client.js.map +1 -1
- package/dist/x402/index.d.ts +3 -1
- package/dist/x402/index.d.ts.map +1 -1
- package/dist/x402/index.js +3 -1
- package/dist/x402/index.js.map +1 -1
- package/dist/x402/types.d.ts +3 -5
- package/dist/x402/types.d.ts.map +1 -1
- package/dist/x402/types.js +2 -17
- package/dist/x402/types.js.map +1 -1
- package/package.json +12 -32
- package/dist/ap2/index.d.ts +0 -185
- package/dist/ap2/index.d.ts.map +0 -1
- package/dist/ap2/index.js +0 -255
- package/dist/ap2/index.js.map +0 -1
- package/dist/bridge/unified.d.ts +0 -101
- package/dist/bridge/unified.d.ts.map +0 -1
- package/dist/bridge/unified.js +0 -284
- package/dist/bridge/unified.js.map +0 -1
- package/dist/chains.d.ts +0 -62
- package/dist/chains.d.ts.map +0 -1
- package/dist/chains.js +0 -108
- package/dist/chains.js.map +0 -1
- package/dist/fiat/index.d.ts +0 -10
- package/dist/fiat/index.d.ts.map +0 -1
- package/dist/fiat/index.js +0 -9
- package/dist/fiat/index.js.map +0 -1
- package/dist/fiat/onramp.d.ts +0 -101
- package/dist/fiat/onramp.d.ts.map +0 -1
- package/dist/fiat/onramp.js +0 -155
- package/dist/fiat/onramp.js.map +0 -1
- package/dist/fiat/providers/index.d.ts +0 -16
- package/dist/fiat/providers/index.d.ts.map +0 -1
- package/dist/fiat/providers/index.js +0 -30
- package/dist/fiat/providers/index.js.map +0 -1
- package/dist/fiat/providers/moonpay.d.ts +0 -22
- package/dist/fiat/providers/moonpay.d.ts.map +0 -1
- package/dist/fiat/providers/moonpay.js +0 -107
- package/dist/fiat/providers/moonpay.js.map +0 -1
- package/dist/fiat/providers/stripe.d.ts +0 -26
- package/dist/fiat/providers/stripe.d.ts.map +0 -1
- package/dist/fiat/providers/stripe.js +0 -135
- package/dist/fiat/providers/stripe.js.map +0 -1
- package/dist/fiat/providers/transak.d.ts +0 -26
- package/dist/fiat/providers/transak.d.ts.map +0 -1
- package/dist/fiat/providers/transak.js +0 -119
- package/dist/fiat/providers/transak.js.map +0 -1
- package/dist/fiat/types.d.ts +0 -106
- package/dist/fiat/types.d.ts.map +0 -1
- package/dist/fiat/types.js +0 -13
- package/dist/fiat/types.js.map +0 -1
- package/dist/flash/executor.d.ts +0 -119
- package/dist/flash/executor.d.ts.map +0 -1
- package/dist/flash/executor.js +0 -195
- package/dist/flash/executor.js.map +0 -1
- package/dist/flash/index.d.ts +0 -28
- package/dist/flash/index.d.ts.map +0 -1
- package/dist/flash/index.js +0 -25
- package/dist/flash/index.js.map +0 -1
- package/dist/flash/scanner.d.ts +0 -133
- package/dist/flash/scanner.d.ts.map +0 -1
- package/dist/flash/scanner.js +0 -212
- package/dist/flash/scanner.js.map +0 -1
- package/dist/flash/types.d.ts +0 -136
- package/dist/flash/types.d.ts.map +0 -1
- package/dist/flash/types.js +0 -23
- package/dist/flash/types.js.map +0 -1
- package/dist/gas/index.d.ts +0 -4
- package/dist/gas/index.d.ts.map +0 -1
- package/dist/gas/index.js +0 -3
- package/dist/gas/index.js.map +0 -1
- package/dist/gas/sponsor.d.ts +0 -70
- package/dist/gas/sponsor.d.ts.map +0 -1
- package/dist/gas/sponsor.js +0 -193
- package/dist/gas/sponsor.js.map +0 -1
- package/dist/gas/types.d.ts +0 -76
- package/dist/gas/types.d.ts.map +0 -1
- package/dist/gas/types.js +0 -21
- package/dist/gas/types.js.map +0 -1
- package/dist/identity/agent-identity.d.ts +0 -276
- package/dist/identity/agent-identity.d.ts.map +0 -1
- package/dist/identity/agent-identity.js +0 -300
- package/dist/identity/agent-identity.js.map +0 -1
- package/dist/identity/erc6551.d.ts +0 -441
- package/dist/identity/erc6551.d.ts.map +0 -1
- package/dist/identity/erc6551.js +0 -517
- package/dist/identity/erc6551.js.map +0 -1
- package/dist/mev/index.d.ts +0 -4
- package/dist/mev/index.d.ts.map +0 -1
- package/dist/mev/index.js +0 -4
- package/dist/mev/index.js.map +0 -1
- package/dist/mev/protection.d.ts +0 -54
- package/dist/mev/protection.d.ts.map +0 -1
- package/dist/mev/protection.js +0 -185
- package/dist/mev/protection.js.map +0 -1
- package/dist/mev/risk.d.ts +0 -19
- package/dist/mev/risk.d.ts.map +0 -1
- package/dist/mev/risk.js +0 -95
- package/dist/mev/risk.js.map +0 -1
- package/dist/mev/types.d.ts +0 -49
- package/dist/mev/types.d.ts.map +0 -1
- package/dist/mev/types.js +0 -2
- package/dist/mev/types.js.map +0 -1
- package/dist/settlement/index.d.ts +0 -4
- package/dist/settlement/index.d.ts.map +0 -1
- package/dist/settlement/index.js +0 -3
- package/dist/settlement/index.js.map +0 -1
- package/dist/settlement/types.d.ts +0 -66
- package/dist/settlement/types.d.ts.map +0 -1
- package/dist/settlement/types.js +0 -37
- package/dist/settlement/types.js.map +0 -1
- package/dist/settlement/verifier.d.ts +0 -75
- package/dist/settlement/verifier.d.ts.map +0 -1
- package/dist/settlement/verifier.js +0 -354
- package/dist/settlement/verifier.js.map +0 -1
- package/dist/solana/bridge.d.ts +0 -144
- package/dist/solana/bridge.d.ts.map +0 -1
- package/dist/solana/bridge.js +0 -352
- package/dist/solana/bridge.js.map +0 -1
- package/dist/solana/index.d.ts +0 -8
- package/dist/solana/index.d.ts.map +0 -1
- package/dist/solana/index.js +0 -6
- package/dist/solana/index.js.map +0 -1
- package/dist/solana/swap.d.ts +0 -85
- package/dist/solana/swap.d.ts.map +0 -1
- package/dist/solana/swap.js +0 -173
- package/dist/solana/swap.js.map +0 -1
- package/dist/solana/types.d.ts +0 -126
- package/dist/solana/types.d.ts.map +0 -1
- package/dist/solana/types.js +0 -10
- package/dist/solana/types.js.map +0 -1
- package/dist/solana/wallet.d.ts +0 -83
- package/dist/solana/wallet.d.ts.map +0 -1
- package/dist/solana/wallet.js +0 -164
- package/dist/solana/wallet.js.map +0 -1
- package/dist/solana/x402.d.ts +0 -69
- package/dist/solana/x402.d.ts.map +0 -1
- package/dist/solana/x402.js +0 -154
- package/dist/solana/x402.js.map +0 -1
- package/dist/solver/adapter.d.ts +0 -47
- package/dist/solver/adapter.d.ts.map +0 -1
- package/dist/solver/adapter.js +0 -138
- package/dist/solver/adapter.js.map +0 -1
- package/dist/solver/analyzer.d.ts +0 -48
- package/dist/solver/analyzer.d.ts.map +0 -1
- package/dist/solver/analyzer.js +0 -89
- package/dist/solver/analyzer.js.map +0 -1
- package/dist/solver/builder.d.ts +0 -31
- package/dist/solver/builder.d.ts.map +0 -1
- package/dist/solver/builder.js +0 -60
- package/dist/solver/builder.js.map +0 -1
- package/dist/solver/index.d.ts +0 -22
- package/dist/solver/index.d.ts.map +0 -1
- package/dist/solver/index.js +0 -21
- package/dist/solver/index.js.map +0 -1
- package/dist/solver/types.d.ts +0 -115
- package/dist/solver/types.d.ts.map +0 -1
- package/dist/solver/types.js +0 -10
- package/dist/solver/types.js.map +0 -1
- package/dist/spend-guard/index.d.ts +0 -125
- package/dist/spend-guard/index.d.ts.map +0 -1
- package/dist/spend-guard/index.js +0 -150
- package/dist/spend-guard/index.js.map +0 -1
- package/dist/swap/router/cache.d.ts +0 -13
- package/dist/swap/router/cache.d.ts.map +0 -1
- package/dist/swap/router/cache.js +0 -30
- package/dist/swap/router/cache.js.map +0 -1
- package/dist/swap/router/flashbots.d.ts +0 -10
- package/dist/swap/router/flashbots.d.ts.map +0 -1
- package/dist/swap/router/flashbots.js +0 -43
- package/dist/swap/router/flashbots.js.map +0 -1
- package/dist/swap/router/health.d.ts +0 -17
- package/dist/swap/router/health.d.ts.map +0 -1
- package/dist/swap/router/health.js +0 -38
- package/dist/swap/router/health.js.map +0 -1
- package/dist/swap/router/index.d.ts +0 -10
- package/dist/swap/router/index.d.ts.map +0 -1
- package/dist/swap/router/index.js +0 -10
- package/dist/swap/router/index.js.map +0 -1
- package/dist/swap/router/providers/cowswap.d.ts +0 -11
- package/dist/swap/router/providers/cowswap.d.ts.map +0 -1
- package/dist/swap/router/providers/cowswap.js +0 -79
- package/dist/swap/router/providers/cowswap.js.map +0 -1
- package/dist/swap/router/providers/index.d.ts +0 -20
- package/dist/swap/router/providers/index.d.ts.map +0 -1
- package/dist/swap/router/providers/index.js +0 -32
- package/dist/swap/router/providers/index.js.map +0 -1
- package/dist/swap/router/providers/jupiter.d.ts +0 -12
- package/dist/swap/router/providers/jupiter.d.ts.map +0 -1
- package/dist/swap/router/providers/jupiter.js +0 -73
- package/dist/swap/router/providers/jupiter.js.map +0 -1
- package/dist/swap/router/providers/lifi.d.ts +0 -11
- package/dist/swap/router/providers/lifi.d.ts.map +0 -1
- package/dist/swap/router/providers/lifi.js +0 -123
- package/dist/swap/router/providers/lifi.js.map +0 -1
- package/dist/swap/router/providers/oneinch.d.ts +0 -13
- package/dist/swap/router/providers/oneinch.d.ts.map +0 -1
- package/dist/swap/router/providers/oneinch.js +0 -71
- package/dist/swap/router/providers/oneinch.js.map +0 -1
- package/dist/swap/router/providers/paraswap.d.ts +0 -11
- package/dist/swap/router/providers/paraswap.d.ts.map +0 -1
- package/dist/swap/router/providers/paraswap.js +0 -73
- package/dist/swap/router/providers/paraswap.js.map +0 -1
- package/dist/swap/router/providers/uniswap.d.ts +0 -31
- package/dist/swap/router/providers/uniswap.d.ts.map +0 -1
- package/dist/swap/router/providers/uniswap.js +0 -116
- package/dist/swap/router/providers/uniswap.js.map +0 -1
- package/dist/swap/router/providers/zerox.d.ts +0 -13
- package/dist/swap/router/providers/zerox.d.ts.map +0 -1
- package/dist/swap/router/providers/zerox.js +0 -94
- package/dist/swap/router/providers/zerox.js.map +0 -1
- package/dist/swap/router/router.d.ts +0 -86
- package/dist/swap/router/router.d.ts.map +0 -1
- package/dist/swap/router/router.js +0 -224
- package/dist/swap/router/router.js.map +0 -1
- package/dist/swap/router/rsi/engine.d.ts +0 -60
- package/dist/swap/router/rsi/engine.d.ts.map +0 -1
- package/dist/swap/router/rsi/engine.js +0 -483
- package/dist/swap/router/rsi/engine.js.map +0 -1
- package/dist/swap/router/rsi/index.d.ts +0 -3
- package/dist/swap/router/rsi/index.d.ts.map +0 -1
- package/dist/swap/router/rsi/index.js +0 -3
- package/dist/swap/router/rsi/index.js.map +0 -1
- package/dist/swap/router/rsi/types.d.ts +0 -106
- package/dist/swap/router/rsi/types.d.ts.map +0 -1
- package/dist/swap/router/rsi/types.js +0 -3
- package/dist/swap/router/rsi/types.js.map +0 -1
- package/dist/swap/router/types.d.ts +0 -120
- package/dist/swap/router/types.d.ts.map +0 -1
- package/dist/swap/router/types.js +0 -16
- package/dist/swap/router/types.js.map +0 -1
- package/dist/tax/engine.d.ts +0 -131
- package/dist/tax/engine.d.ts.map +0 -1
- package/dist/tax/engine.js +0 -307
- package/dist/tax/engine.js.map +0 -1
- package/dist/tax/index.d.ts +0 -9
- package/dist/tax/index.d.ts.map +0 -1
- package/dist/tax/index.js +0 -8
- package/dist/tax/index.js.map +0 -1
- package/dist/tax/lots.d.ts +0 -60
- package/dist/tax/lots.d.ts.map +0 -1
- package/dist/tax/lots.js +0 -129
- package/dist/tax/lots.js.map +0 -1
- package/dist/tax/types.d.ts +0 -113
- package/dist/tax/types.d.ts.map +0 -1
- package/dist/tax/types.js +0 -18
- package/dist/tax/types.js.map +0 -1
- package/dist/yield/index.d.ts +0 -26
- package/dist/yield/index.d.ts.map +0 -1
- package/dist/yield/index.js +0 -25
- package/dist/yield/index.js.map +0 -1
- package/dist/yield/rates.d.ts +0 -114
- package/dist/yield/rates.d.ts.map +0 -1
- package/dist/yield/rates.js +0 -351
- package/dist/yield/rates.js.map +0 -1
- package/dist/yield/types.d.ts +0 -134
- package/dist/yield/types.d.ts.map +0 -1
- package/dist/yield/types.js +0 -24
- package/dist/yield/types.js.map +0 -1
- package/dist/yield/vault.d.ts +0 -112
- package/dist/yield/vault.d.ts.map +0 -1
- package/dist/yield/vault.js +0 -264
- package/dist/yield/vault.js.map +0 -1
package/dist/bridge/client.js
CHANGED
|
@@ -1,90 +1,23 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Expanded: 4 chains → 16 EVM chains (Solana handled by SolanaCCTPBridge + UnifiedBridge)
|
|
3
|
-
//
|
|
4
|
-
// Architecture:
|
|
5
|
-
// 1. Approve USDC to TokenMessengerV2 on source chain (EOA-level signing)
|
|
6
|
-
// 2. Call depositForBurn → extracts MessageSent bytes + messageHash
|
|
7
|
-
// 3. Poll Circle IRIS API for attestation (~8–20s fast, ~15min finalized)
|
|
8
|
-
// 4. Call receiveMessage on destination MessageTransmitterV2 to mint USDC
|
|
9
|
-
//
|
|
1
|
+
// BridgeModule — CCTP V2 cross-chain USDC bridge for AgentWallet
|
|
10
2
|
// Non-custodial: all signing is done locally via the agent's WalletClient.
|
|
11
|
-
// Contract addresses verified: https://developers.circle.com/cctp/references/contract-addresses
|
|
12
3
|
import { createPublicClient, http, keccak256, pad, getContract, } from 'viem';
|
|
13
|
-
import { mainnet, optimism, arbitrum
|
|
4
|
+
import { base, mainnet, optimism, arbitrum } from 'viem/chains';
|
|
14
5
|
import { TokenMessengerV2Abi, MessageTransmitterV2Abi, ERC20BridgeAbi, } from './abis.js';
|
|
15
|
-
import { CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS,
|
|
16
|
-
|
|
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 */
|
|
29
|
-
const VIEM_CHAINS = {
|
|
30
|
-
ethereum: mainnet,
|
|
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),
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* BridgeModule — CCTP V2 cross-chain USDC bridge (16 EVM chains).
|
|
50
|
-
*
|
|
51
|
-
* For EVM↔Solana bridges, use UnifiedBridge instead.
|
|
52
|
-
*
|
|
53
|
-
* Usage:
|
|
54
|
-
* ```ts
|
|
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);
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
6
|
+
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';
|
|
7
|
+
const VIEM_CHAINS = { base, ethereum: mainnet, optimism, arbitrum };
|
|
60
8
|
export class BridgeModule {
|
|
61
9
|
constructor(walletClient, fromChain = 'base', options = {}) {
|
|
62
10
|
if (!walletClient.account) {
|
|
63
|
-
throw new BridgeError('NO_WALLET_CLIENT', 'WalletClient must have an account attached. '
|
|
64
|
-
'Use privateKeyToAccount() or similar to attach a signer.');
|
|
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(', ')}`);
|
|
11
|
+
throw new BridgeError('NO_WALLET_CLIENT', 'WalletClient must have an account attached. Use privateKeyToAccount() or similar to attach a signer.');
|
|
68
12
|
}
|
|
69
13
|
this.walletClient = walletClient;
|
|
70
14
|
this.fromChain = fromChain;
|
|
71
15
|
this.fromRpcUrl = options.rpcUrl;
|
|
72
16
|
this.publicClient = createPublicClient({
|
|
73
17
|
chain: VIEM_CHAINS[fromChain],
|
|
74
|
-
transport: http(options.rpcUrl
|
|
18
|
+
transport: http(options.rpcUrl),
|
|
75
19
|
});
|
|
76
20
|
}
|
|
77
|
-
// ─── Public API ───
|
|
78
|
-
/**
|
|
79
|
-
* Bridge USDC from the source chain to any of the 16 supported EVM destination chains.
|
|
80
|
-
*
|
|
81
|
-
* Full CCTP V2 flow: approve → burn → attest → mint.
|
|
82
|
-
* Platform fee: 0.1% of amount (collected on source chain).
|
|
83
|
-
*
|
|
84
|
-
* @param amount - Amount in USDC base units (6 decimals). e.g. 1_000_000n = 1 USDC
|
|
85
|
-
* @param toChain - Destination EVM chain
|
|
86
|
-
* @param options - Optional overrides (finality, fees, destination address)
|
|
87
|
-
*/
|
|
88
21
|
async bridge(amount, toChain, options = {}) {
|
|
89
22
|
const startMs = Date.now();
|
|
90
23
|
this.validateBridgeParams(amount, toChain);
|
|
@@ -93,19 +26,14 @@ export class BridgeModule {
|
|
|
93
26
|
const minFinalityThreshold = options.minFinalityThreshold ?? FINALITY_THRESHOLD.FAST;
|
|
94
27
|
const maxFee = options.maxFee ?? 0n;
|
|
95
28
|
const attestationApiUrl = options.attestationApiUrl ?? CIRCLE_ATTESTATION_API;
|
|
96
|
-
|
|
97
|
-
const
|
|
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);
|
|
29
|
+
await this.approveUsdc(amount);
|
|
30
|
+
const burnResult = await this.depositForBurn(amount, toChain, recipient, minFinalityThreshold, maxFee);
|
|
102
31
|
const attestation = await this.pollForAttestation(burnResult.messageHash, this.fromChain, attestationApiUrl);
|
|
103
32
|
const mintTxHash = await this.receiveMessage(burnResult.messageBytes, attestation, toChain, options.destinationRpcUrl);
|
|
104
33
|
return {
|
|
105
34
|
burnTxHash: burnResult.burnTxHash,
|
|
106
35
|
mintTxHash,
|
|
107
|
-
amount
|
|
108
|
-
platformFee,
|
|
36
|
+
amount,
|
|
109
37
|
fromChain: this.fromChain,
|
|
110
38
|
toChain,
|
|
111
39
|
recipient,
|
|
@@ -113,10 +41,6 @@ export class BridgeModule {
|
|
|
113
41
|
elapsedMs: Date.now() - startMs,
|
|
114
42
|
};
|
|
115
43
|
}
|
|
116
|
-
/**
|
|
117
|
-
* Step 1 of 3: Burn USDC on the source chain.
|
|
118
|
-
* Returns burn result for manual/split-phase bridging.
|
|
119
|
-
*/
|
|
120
44
|
async burn(amount, toChain, options = {}) {
|
|
121
45
|
this.validateBridgeParams(amount, toChain);
|
|
122
46
|
const account = this.walletClient.account;
|
|
@@ -126,19 +50,12 @@ export class BridgeModule {
|
|
|
126
50
|
await this.approveUsdc(amount);
|
|
127
51
|
return this.depositForBurn(amount, toChain, recipient, minFinalityThreshold, maxFee);
|
|
128
52
|
}
|
|
129
|
-
/**
|
|
130
|
-
* Step 2 of 3: Poll Circle IRIS API for attestation.
|
|
131
|
-
*/
|
|
132
53
|
async waitForAttestation(messageHash, apiUrl = CIRCLE_ATTESTATION_API) {
|
|
133
54
|
return this.pollForAttestation(messageHash, this.fromChain, apiUrl);
|
|
134
55
|
}
|
|
135
|
-
/**
|
|
136
|
-
* Step 3 of 3: Mint USDC on the destination chain using the attestation.
|
|
137
|
-
*/
|
|
138
56
|
async mint(messageBytes, attestation, toChain, destinationRpcUrl) {
|
|
139
57
|
return this.receiveMessage(messageBytes, attestation, toChain, destinationRpcUrl);
|
|
140
58
|
}
|
|
141
|
-
/** Get USDC balance on the source chain */
|
|
142
59
|
async getUsdcBalance() {
|
|
143
60
|
const account = this.walletClient.account;
|
|
144
61
|
const usdc = getContract({
|
|
@@ -148,7 +65,6 @@ export class BridgeModule {
|
|
|
148
65
|
});
|
|
149
66
|
return usdc.read.balanceOf([account.address]);
|
|
150
67
|
}
|
|
151
|
-
/** Get USDC allowance for the TokenMessengerV2 on source chain */
|
|
152
68
|
async getUsdcAllowance() {
|
|
153
69
|
const account = this.walletClient.account;
|
|
154
70
|
const usdc = getContract({
|
|
@@ -156,25 +72,13 @@ export class BridgeModule {
|
|
|
156
72
|
abi: ERC20BridgeAbi,
|
|
157
73
|
client: this.publicClient,
|
|
158
74
|
});
|
|
159
|
-
return usdc.read.allowance([
|
|
160
|
-
account.address,
|
|
161
|
-
TOKEN_MESSENGER_V2[this.fromChain],
|
|
162
|
-
]);
|
|
163
|
-
}
|
|
164
|
-
/** Get the source chain name */
|
|
165
|
-
getFromChain() {
|
|
166
|
-
return this.fromChain;
|
|
75
|
+
return usdc.read.allowance([account.address, TOKEN_MESSENGER_V2[this.fromChain]]);
|
|
167
76
|
}
|
|
168
|
-
// ─── Internal Implementation ───
|
|
169
77
|
async approveUsdc(amount) {
|
|
170
78
|
const account = this.walletClient.account;
|
|
171
79
|
const spender = TOKEN_MESSENGER_V2[this.fromChain];
|
|
172
80
|
const usdcAddress = USDC_CONTRACT[this.fromChain];
|
|
173
|
-
const usdc = getContract({
|
|
174
|
-
address: usdcAddress,
|
|
175
|
-
abi: ERC20BridgeAbi,
|
|
176
|
-
client: this.publicClient,
|
|
177
|
-
});
|
|
81
|
+
const usdc = getContract({ address: usdcAddress, abi: ERC20BridgeAbi, client: this.publicClient });
|
|
178
82
|
const currentAllowance = await usdc.read.allowance([account.address, spender]);
|
|
179
83
|
if (currentAllowance >= amount)
|
|
180
84
|
return;
|
|
@@ -183,13 +87,13 @@ export class BridgeModule {
|
|
|
183
87
|
abi: ERC20BridgeAbi,
|
|
184
88
|
client: { public: this.publicClient, wallet: this.walletClient },
|
|
185
89
|
});
|
|
186
|
-
const approveTxHash = await usdcWrite.write.approve([spender, amount], {
|
|
187
|
-
|
|
188
|
-
|
|
90
|
+
const approveTxHash = await usdcWrite.write.approve([spender, amount], {
|
|
91
|
+
account,
|
|
92
|
+
chain: VIEM_CHAINS[this.fromChain],
|
|
189
93
|
});
|
|
94
|
+
const approveReceipt = await this.publicClient.waitForTransactionReceipt({ hash: approveTxHash });
|
|
190
95
|
if (approveReceipt.status !== 'success') {
|
|
191
|
-
throw new BridgeError('INSUFFICIENT_ALLOWANCE', `USDC approve failed (tx: ${approveTxHash})
|
|
192
|
-
`Check that the account has sufficient gas and USDC on ${this.fromChain}.`);
|
|
96
|
+
throw new BridgeError('INSUFFICIENT_ALLOWANCE', `USDC approve failed (tx: ${approveTxHash}).`);
|
|
193
97
|
}
|
|
194
98
|
}
|
|
195
99
|
async depositForBurn(amount, toChain, recipient, minFinalityThreshold, maxFee) {
|
|
@@ -206,39 +110,19 @@ export class BridgeModule {
|
|
|
206
110
|
});
|
|
207
111
|
let burnTxHash;
|
|
208
112
|
try {
|
|
209
|
-
burnTxHash = await messenger.write.depositForBurn([
|
|
210
|
-
amount,
|
|
211
|
-
destinationDomain,
|
|
212
|
-
mintRecipient,
|
|
213
|
-
usdcAddress,
|
|
214
|
-
destinationCaller,
|
|
215
|
-
maxFee,
|
|
216
|
-
minFinalityThreshold,
|
|
217
|
-
], { account, chain: VIEM_CHAINS[this.fromChain] });
|
|
113
|
+
burnTxHash = await messenger.write.depositForBurn([amount, destinationDomain, mintRecipient, usdcAddress, destinationCaller, maxFee, minFinalityThreshold], { account, chain: VIEM_CHAINS[this.fromChain] });
|
|
218
114
|
}
|
|
219
115
|
catch (err) {
|
|
220
116
|
const msg = err instanceof Error ? err.message : String(err);
|
|
221
|
-
throw new BridgeError('BURN_FAILED', `CCTP depositForBurn failed
|
|
222
|
-
`Ensure the wallet has sufficient USDC and gas.`);
|
|
117
|
+
throw new BridgeError('BURN_FAILED', `CCTP depositForBurn failed: ${msg}.`);
|
|
223
118
|
}
|
|
224
119
|
const receipt = await this.publicClient.waitForTransactionReceipt({ hash: burnTxHash });
|
|
225
120
|
if (receipt.status !== 'success') {
|
|
226
|
-
throw new BridgeError('BURN_FAILED', `depositForBurn reverted (tx: ${burnTxHash})
|
|
227
|
-
`Check USDC balance, allowance, and gas.`);
|
|
121
|
+
throw new BridgeError('BURN_FAILED', `depositForBurn transaction reverted (tx: ${burnTxHash}).`);
|
|
228
122
|
}
|
|
229
123
|
const { messageBytes, messageHash, nonce } = this.extractMessageSent(receipt);
|
|
230
|
-
return {
|
|
231
|
-
burnTxHash,
|
|
232
|
-
nonce,
|
|
233
|
-
messageHash,
|
|
234
|
-
messageBytes,
|
|
235
|
-
sourceDomain: CCTP_DOMAIN_IDS[this.fromChain],
|
|
236
|
-
destinationDomain,
|
|
237
|
-
};
|
|
124
|
+
return { burnTxHash, nonce, messageHash, messageBytes, sourceDomain: CCTP_DOMAIN_IDS[this.fromChain], destinationDomain };
|
|
238
125
|
}
|
|
239
|
-
/**
|
|
240
|
-
* Extract the CCTP MessageSent event from a transaction receipt.
|
|
241
|
-
*/
|
|
242
126
|
extractMessageSent(receipt) {
|
|
243
127
|
const MESSAGE_SENT_TOPIC = '0x8c5261668696ce22758910d05bab8f186d6eb247ceac2af2e82c7dc17669b036';
|
|
244
128
|
for (const log of receipt.logs) {
|
|
@@ -254,14 +138,12 @@ export class BridgeModule {
|
|
|
254
138
|
const messageBytesHex = dataHex.slice(128, 128 + messageLength * 2);
|
|
255
139
|
const messageBytes = ('0x' + messageBytesHex);
|
|
256
140
|
const messageHash = keccak256(messageBytes);
|
|
257
|
-
// Nonce: bytes 12–19 of message (after version[4] + sourceDomain[4] + destDomain[4])
|
|
258
141
|
const nonceBytesHex = messageBytesHex.slice(24, 40);
|
|
259
142
|
const nonce = BigInt('0x' + nonceBytesHex);
|
|
260
143
|
return { messageBytes, messageHash, nonce };
|
|
261
144
|
}
|
|
262
145
|
}
|
|
263
|
-
throw new BridgeError('BURN_FAILED', 'Could not find MessageSent event in burn transaction receipt.
|
|
264
|
-
'Check the transaction on the block explorer.');
|
|
146
|
+
throw new BridgeError('BURN_FAILED', 'Could not find MessageSent event in burn transaction receipt.');
|
|
265
147
|
}
|
|
266
148
|
async pollForAttestation(messageHash, fromChain, apiUrl) {
|
|
267
149
|
const sourceDomain = CCTP_DOMAIN_IDS[fromChain];
|
|
@@ -269,14 +151,14 @@ export class BridgeModule {
|
|
|
269
151
|
for (let attempt = 0; attempt < MAX_ATTESTATION_POLLS; attempt++) {
|
|
270
152
|
let response;
|
|
271
153
|
try {
|
|
272
|
-
const res = await fetch(url, { headers: {
|
|
154
|
+
const res = await fetch(url, { headers: { Accept: 'application/json' } });
|
|
273
155
|
if (!res.ok) {
|
|
274
156
|
if (res.status === 404) {
|
|
275
157
|
await this.sleep(ATTESTATION_POLL_INTERVAL_MS);
|
|
276
158
|
continue;
|
|
277
159
|
}
|
|
278
160
|
const body = await res.text().catch(() => '');
|
|
279
|
-
throw new BridgeError('ATTESTATION_ERROR', `Circle API HTTP ${res.status}: ${body}
|
|
161
|
+
throw new BridgeError('ATTESTATION_ERROR', `Circle API returned HTTP ${res.status}: ${body}.`);
|
|
280
162
|
}
|
|
281
163
|
response = await res.json();
|
|
282
164
|
}
|
|
@@ -284,28 +166,22 @@ export class BridgeModule {
|
|
|
284
166
|
if (err instanceof BridgeError)
|
|
285
167
|
throw err;
|
|
286
168
|
const msg = err instanceof Error ? err.message : String(err);
|
|
287
|
-
throw new BridgeError('ATTESTATION_ERROR', `Failed to reach Circle IRIS API: ${msg}
|
|
169
|
+
throw new BridgeError('ATTESTATION_ERROR', `Failed to reach Circle IRIS API: ${msg}.`);
|
|
288
170
|
}
|
|
289
|
-
if (response.status === 'complete' && response.attestation)
|
|
171
|
+
if (response.status === 'complete' && response.attestation)
|
|
290
172
|
return response.attestation;
|
|
291
|
-
}
|
|
292
173
|
if (response.status === 'error') {
|
|
293
|
-
throw new BridgeError('ATTESTATION_ERROR', `Circle attestation failed: ${response.error ?? 'unknown'}
|
|
174
|
+
throw new BridgeError('ATTESTATION_ERROR', `Circle attestation failed: ${response.error ?? 'unknown error'}.`);
|
|
294
175
|
}
|
|
295
176
|
await this.sleep(ATTESTATION_POLL_INTERVAL_MS);
|
|
296
177
|
}
|
|
297
|
-
throw new BridgeError('ATTESTATION_TIMEOUT', `Attestation not received after ${MAX_ATTESTATION_POLLS} attempts
|
|
298
|
-
`(${(MAX_ATTESTATION_POLLS * ATTESTATION_POLL_INTERVAL_MS) / 1000}s). ` +
|
|
299
|
-
`Hash: ${messageHash}. Retry with mint() manually.`);
|
|
178
|
+
throw new BridgeError('ATTESTATION_TIMEOUT', `Attestation not received after ${MAX_ATTESTATION_POLLS} attempts. Message hash: ${messageHash}.`);
|
|
300
179
|
}
|
|
301
180
|
async receiveMessage(messageBytes, attestation, toChain, destinationRpcUrl) {
|
|
302
181
|
const account = this.walletClient.account;
|
|
303
182
|
const transmitterAddress = MESSAGE_TRANSMITTER_V2[toChain];
|
|
304
183
|
const destChain = VIEM_CHAINS[toChain];
|
|
305
|
-
const destPublicClient = createPublicClient({
|
|
306
|
-
chain: destChain,
|
|
307
|
-
transport: http(destinationRpcUrl ?? BRIDGE_RPC_URLS[toChain]),
|
|
308
|
-
});
|
|
184
|
+
const destPublicClient = createPublicClient({ chain: destChain, transport: http(destinationRpcUrl) });
|
|
309
185
|
const transmitter = getContract({
|
|
310
186
|
address: transmitterAddress,
|
|
311
187
|
abi: MessageTransmitterV2Abi,
|
|
@@ -317,37 +193,29 @@ export class BridgeModule {
|
|
|
317
193
|
}
|
|
318
194
|
catch (err) {
|
|
319
195
|
const msg = err instanceof Error ? err.message : String(err);
|
|
320
|
-
throw new BridgeError('MINT_FAILED', `CCTP receiveMessage failed on ${toChain}: ${msg}
|
|
321
|
-
`Ensure the wallet has sufficient gas on ${toChain}.`);
|
|
196
|
+
throw new BridgeError('MINT_FAILED', `CCTP receiveMessage failed on ${toChain}: ${msg}.`);
|
|
322
197
|
}
|
|
323
198
|
const mintReceipt = await destPublicClient.waitForTransactionReceipt({ hash: mintTxHash });
|
|
324
199
|
if (mintReceipt.status !== 'success') {
|
|
325
|
-
throw new BridgeError('MINT_FAILED', `receiveMessage reverted on ${toChain} (tx: ${mintTxHash})
|
|
326
|
-
`Possible nonce replay — check block explorer.`);
|
|
200
|
+
throw new BridgeError('MINT_FAILED', `receiveMessage reverted on ${toChain} (tx: ${mintTxHash}).`);
|
|
327
201
|
}
|
|
328
202
|
return mintTxHash;
|
|
329
203
|
}
|
|
330
|
-
// ─── Validation ───
|
|
331
204
|
validateBridgeParams(amount, toChain) {
|
|
332
205
|
if (amount <= 0n) {
|
|
333
|
-
throw new BridgeError('INVALID_AMOUNT', `Bridge amount must be
|
|
334
|
-
`Amount is in USDC base units (6 decimals): 1 USDC = 1_000_000.`);
|
|
206
|
+
throw new BridgeError('INVALID_AMOUNT', `Bridge amount must be greater than 0. Received: ${amount}.`);
|
|
335
207
|
}
|
|
336
|
-
if (!(toChain in
|
|
337
|
-
|
|
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.`);
|
|
208
|
+
if (!(toChain in CCTP_DOMAIN_IDS)) {
|
|
209
|
+
throw new BridgeError('UNSUPPORTED_CHAIN', `Chain '${toChain}' is not supported.`);
|
|
341
210
|
}
|
|
342
211
|
if (toChain === this.fromChain) {
|
|
343
|
-
throw new BridgeError('
|
|
212
|
+
throw new BridgeError('UNSUPPORTED_CHAIN', `Source and destination chains must be different.`);
|
|
344
213
|
}
|
|
345
214
|
}
|
|
346
215
|
sleep(ms) {
|
|
347
216
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
348
217
|
}
|
|
349
218
|
}
|
|
350
|
-
// ─── BridgeError ───
|
|
351
219
|
export class BridgeError extends Error {
|
|
352
220
|
constructor(code, message) {
|
|
353
221
|
super(`[BridgeModule:${code}] ${message}`);
|
|
@@ -355,9 +223,8 @@ export class BridgeError extends Error {
|
|
|
355
223
|
this.name = 'BridgeError';
|
|
356
224
|
}
|
|
357
225
|
}
|
|
358
|
-
// ─── Factory Helper ───
|
|
359
226
|
export function createBridge(walletClient, fromChain = 'base', options = {}) {
|
|
360
227
|
return new BridgeModule(walletClient, fromChain, options);
|
|
361
228
|
}
|
|
362
|
-
export { CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2,
|
|
229
|
+
export { CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, FINALITY_THRESHOLD, };
|
|
363
230
|
//# 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,6 +1,4 @@
|
|
|
1
|
-
export { BridgeModule, BridgeError, createBridge, CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2,
|
|
2
|
-
export {
|
|
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';
|
|
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';
|
|
5
3
|
export { TokenMessengerV2Abi, MessageTransmitterV2Abi, ERC20BridgeAbi } from './abis.js';
|
|
6
4
|
//# 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":"AAAA,OAAO,EACL,YAAY,EAAE,WAAW,EAAE,YAAY,EACvC,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAChD,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,GAC/D,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,GAC7F,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/bridge/index.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
|
|
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
|
|
1
|
+
export { BridgeModule, BridgeError, createBridge, CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, FINALITY_THRESHOLD, } from './client.js';
|
|
9
2
|
export { TokenMessengerV2Abi, MessageTransmitterV2Abi, ERC20BridgeAbi } from './abis.js';
|
|
10
3
|
//# 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,OAAO,EACL,YAAY,EAAE,WAAW,EAAE,YAAY,EACvC,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAChD,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,GAC/D,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
|