agentwallet-sdk 5.1.1 → 6.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/LICENSE +21 -0
- package/README.md +463 -24
- package/dist/bridge/__tests__/solana.test.d.ts +2 -0
- package/dist/bridge/__tests__/solana.test.d.ts.map +1 -0
- package/dist/bridge/__tests__/solana.test.js +106 -0
- package/dist/bridge/__tests__/solana.test.js.map +1 -0
- package/dist/bridge/client.d.ts +21 -7
- package/dist/bridge/client.d.ts.map +1 -1
- package/dist/bridge/client.js +16 -1
- package/dist/bridge/client.js.map +1 -1
- package/dist/bridge/index.d.ts +12 -1
- package/dist/bridge/index.d.ts.map +1 -1
- package/dist/bridge/index.js +11 -0
- package/dist/bridge/index.js.map +1 -1
- package/dist/bridge/solana.d.ts +132 -0
- package/dist/bridge/solana.d.ts.map +1 -0
- package/dist/bridge/solana.js +313 -0
- package/dist/bridge/solana.js.map +1 -0
- package/dist/bridge/types.d.ts +35 -10
- package/dist/bridge/types.d.ts.map +1 -1
- package/dist/bridge/types.js +16 -4
- package/dist/bridge/types.js.map +1 -1
- package/dist/escrow/MutualStakeEscrow.d.ts.map +1 -1
- package/dist/escrow/MutualStakeEscrow.js +3 -5
- package/dist/escrow/MutualStakeEscrow.js.map +1 -1
- package/dist/index.d.ts +192 -469
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -8
- package/dist/index.js.map +1 -1
- package/dist/policy/SpendingPolicy.test.js.map +1 -1
- package/dist/swap/SwapModule.d.ts +17 -3
- package/dist/swap/SwapModule.d.ts.map +1 -1
- package/dist/swap/SwapModule.js +21 -5
- package/dist/swap/SwapModule.js.map +1 -1
- package/dist/swap/index.d.ts +9 -2
- package/dist/swap/index.d.ts.map +1 -1
- package/dist/swap/index.js +8 -1
- package/dist/swap/index.js.map +1 -1
- package/dist/swap/types.d.ts +58 -1
- package/dist/swap/types.d.ts.map +1 -1
- package/dist/swap/types.js +56 -1
- package/dist/swap/types.js.map +1 -1
- package/dist/tokens/__tests__/decimals.test.d.ts +2 -0
- package/dist/tokens/__tests__/decimals.test.d.ts.map +1 -0
- package/dist/tokens/__tests__/decimals.test.js +107 -0
- package/dist/tokens/__tests__/decimals.test.js.map +1 -0
- package/dist/tokens/__tests__/registry.test.d.ts +2 -0
- package/dist/tokens/__tests__/registry.test.d.ts.map +1 -0
- package/dist/tokens/__tests__/registry.test.js +191 -0
- package/dist/tokens/__tests__/registry.test.js.map +1 -0
- package/dist/tokens/__tests__/transfers.test.d.ts +2 -0
- package/dist/tokens/__tests__/transfers.test.d.ts.map +1 -0
- package/dist/tokens/__tests__/transfers.test.js +103 -0
- package/dist/tokens/__tests__/transfers.test.js.map +1 -0
- package/dist/tokens/decimals.d.ts +65 -0
- package/dist/tokens/decimals.d.ts.map +1 -0
- package/dist/tokens/decimals.js +112 -0
- package/dist/tokens/decimals.js.map +1 -0
- package/dist/tokens/index.d.ts +14 -0
- package/dist/tokens/index.d.ts.map +1 -0
- package/dist/tokens/index.js +14 -0
- package/dist/tokens/index.js.map +1 -0
- package/dist/tokens/registry.d.ts +82 -0
- package/dist/tokens/registry.d.ts.map +1 -0
- package/dist/tokens/registry.js +293 -0
- package/dist/tokens/registry.js.map +1 -0
- package/dist/tokens/solana.d.ts +108 -0
- package/dist/tokens/solana.d.ts.map +1 -0
- package/dist/tokens/solana.js +306 -0
- package/dist/tokens/solana.js.map +1 -0
- package/dist/tokens/transfers.d.ts +95 -0
- package/dist/tokens/transfers.d.ts.map +1 -0
- package/dist/tokens/transfers.js +196 -0
- package/dist/tokens/transfers.js.map +1 -0
- package/dist/types.d.ts +20 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -1
- package/dist/x402/__tests__/client.test.js +77 -5
- package/dist/x402/__tests__/client.test.js.map +1 -1
- package/dist/x402/chains/abstract/index.d.ts.map +1 -1
- package/dist/x402/chains/abstract/index.js.map +1 -1
- package/dist/x402/chains/stellar/index.d.ts +149 -0
- package/dist/x402/chains/stellar/index.d.ts.map +1 -0
- package/dist/x402/chains/stellar/index.js +199 -0
- package/dist/x402/chains/stellar/index.js.map +1 -0
- package/dist/x402/client.d.ts +7 -1
- package/dist/x402/client.d.ts.map +1 -1
- package/dist/x402/client.js +24 -13
- package/dist/x402/client.js.map +1 -1
- package/dist/x402/index.d.ts +1 -0
- package/dist/x402/index.d.ts.map +1 -1
- package/dist/x402/index.js +2 -0
- package/dist/x402/index.js.map +1 -1
- package/dist/x402/middleware.d.ts.map +1 -1
- package/dist/x402/middleware.js +0 -3
- package/dist/x402/middleware.js.map +1 -1
- package/dist/x402/multi-asset.d.ts +54 -0
- package/dist/x402/multi-asset.d.ts.map +1 -0
- package/dist/x402/multi-asset.js +123 -0
- package/dist/x402/multi-asset.js.map +1 -0
- package/dist/x402/types.d.ts +22 -3
- package/dist/x402/types.d.ts.map +1 -1
- package/dist/x402/types.js +34 -4
- package/dist/x402/types.js.map +1 -1
- package/package.json +21 -6
- 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 -29
- 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/email-resolver.d.ts +0 -235
- package/dist/identity/email-resolver.js +0 -283
- 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 -8
- 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/plugins/elizaos.d.ts +0 -52
- package/dist/plugins/elizaos.d.ts.map +0 -1
- package/dist/plugins/elizaos.js +0 -89
- package/dist/plugins/elizaos.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 -146
- 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 -171
- 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 -25
- 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 -237
- 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 -12
- 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/verifiable-intent/index.d.ts +0 -84
- package/dist/verifiable-intent/index.js +0 -385
- package/dist/yield/index.d.ts +0 -26
- package/dist/yield/index.d.ts.map +0 -1
- package/dist/yield/index.js +0 -29
- 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
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
// Bridge tests — Solana CCTP domain mapping and address encoding
|
|
2
|
+
import { describe, it, expect } from 'vitest';
|
|
3
|
+
import { SOLANA_CCTP_DOMAIN, SOLANA_USDC_MINT, SOLANA_TOKEN_MESSENGER, SOLANA_MESSAGE_TRANSMITTER, bytes32ToSolanaPubkey, } from '../solana.js';
|
|
4
|
+
import { CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, } from '../types.js';
|
|
5
|
+
describe('Solana CCTP constants', () => {
|
|
6
|
+
it('has correct Solana CCTP domain (5)', () => {
|
|
7
|
+
expect(SOLANA_CCTP_DOMAIN).toBe(5);
|
|
8
|
+
expect(CCTP_DOMAIN_IDS['solana']).toBe(5);
|
|
9
|
+
});
|
|
10
|
+
it('has correct Solana USDC mint', () => {
|
|
11
|
+
expect(SOLANA_USDC_MINT).toBe('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v');
|
|
12
|
+
});
|
|
13
|
+
it('has correct Solana CCTP V2 TokenMessengerMinterV2 program (not V1)', () => {
|
|
14
|
+
// V2 address — verified against https://developers.circle.com/cctp/references/solana-programs
|
|
15
|
+
// and https://github.com/circlefin/solana-cctp-contracts (programs/v2)
|
|
16
|
+
// V1 address (invalid for this SDK): CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3
|
|
17
|
+
expect(SOLANA_TOKEN_MESSENGER).toBe('CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe');
|
|
18
|
+
});
|
|
19
|
+
it('has correct Solana CCTP V2 MessageTransmitterV2 program (not V1)', () => {
|
|
20
|
+
// V2 address — verified against https://developers.circle.com/cctp/references/solana-programs
|
|
21
|
+
// and https://github.com/circlefin/solana-cctp-contracts (programs/v2)
|
|
22
|
+
// V1 address (invalid for this SDK): CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd
|
|
23
|
+
expect(SOLANA_MESSAGE_TRANSMITTER).toBe('CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC');
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
describe('CCTP domain IDs', () => {
|
|
27
|
+
it('maps all EVM chains correctly', () => {
|
|
28
|
+
expect(CCTP_DOMAIN_IDS['ethereum']).toBe(0);
|
|
29
|
+
expect(CCTP_DOMAIN_IDS['avalanche']).toBe(1);
|
|
30
|
+
expect(CCTP_DOMAIN_IDS['optimism']).toBe(2);
|
|
31
|
+
expect(CCTP_DOMAIN_IDS['arbitrum']).toBe(3);
|
|
32
|
+
expect(CCTP_DOMAIN_IDS['base']).toBe(6);
|
|
33
|
+
expect(CCTP_DOMAIN_IDS['polygon']).toBe(7);
|
|
34
|
+
expect(CCTP_DOMAIN_IDS['unichain']).toBe(10);
|
|
35
|
+
expect(CCTP_DOMAIN_IDS['linea']).toBe(11);
|
|
36
|
+
expect(CCTP_DOMAIN_IDS['sonic']).toBe(13);
|
|
37
|
+
expect(CCTP_DOMAIN_IDS['worldchain']).toBe(14);
|
|
38
|
+
expect(CCTP_DOMAIN_IDS['solana']).toBe(5);
|
|
39
|
+
});
|
|
40
|
+
it('Solana domain (5) does not conflict with EVM domains', () => {
|
|
41
|
+
const evmDomains = Object.entries(CCTP_DOMAIN_IDS)
|
|
42
|
+
.filter(([chain]) => chain !== 'solana')
|
|
43
|
+
.map(([, domain]) => domain);
|
|
44
|
+
expect(evmDomains).not.toContain(5);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
describe('EVM bridge chain IDs', () => {
|
|
48
|
+
it('maps all EVM chains to correct IDs', () => {
|
|
49
|
+
expect(BRIDGE_CHAIN_IDS['base']).toBe(8453);
|
|
50
|
+
expect(BRIDGE_CHAIN_IDS['ethereum']).toBe(1);
|
|
51
|
+
expect(BRIDGE_CHAIN_IDS['arbitrum']).toBe(42161);
|
|
52
|
+
expect(BRIDGE_CHAIN_IDS['polygon']).toBe(137);
|
|
53
|
+
expect(BRIDGE_CHAIN_IDS['optimism']).toBe(10);
|
|
54
|
+
expect(BRIDGE_CHAIN_IDS['avalanche']).toBe(43114);
|
|
55
|
+
expect(BRIDGE_CHAIN_IDS['unichain']).toBe(130);
|
|
56
|
+
expect(BRIDGE_CHAIN_IDS['linea']).toBe(59144);
|
|
57
|
+
expect(BRIDGE_CHAIN_IDS['sonic']).toBe(146);
|
|
58
|
+
expect(BRIDGE_CHAIN_IDS['worldchain']).toBe(480);
|
|
59
|
+
});
|
|
60
|
+
it('does not include solana (Solana has no EVM chain ID)', () => {
|
|
61
|
+
expect(('solana' in BRIDGE_CHAIN_IDS)).toBe(false);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe('USDC contract addresses', () => {
|
|
65
|
+
it('all EVM chains have valid 0x addresses', () => {
|
|
66
|
+
const chains = Object.keys(USDC_CONTRACT);
|
|
67
|
+
expect(chains.length).toBe(10);
|
|
68
|
+
for (const [_chain, addr] of Object.entries(USDC_CONTRACT)) {
|
|
69
|
+
expect(addr).toMatch(/^0x[0-9a-fA-F]{40}$/);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
it('does not include solana in EVM USDC_CONTRACT', () => {
|
|
73
|
+
expect(('solana' in USDC_CONTRACT)).toBe(false);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
describe('CCTP V2 contract addresses (EVM)', () => {
|
|
77
|
+
it('all chains share the same deterministic TokenMessengerV2 address', () => {
|
|
78
|
+
const addresses = Object.values(TOKEN_MESSENGER_V2);
|
|
79
|
+
const unique = new Set(addresses);
|
|
80
|
+
expect(unique.size).toBe(1);
|
|
81
|
+
expect(addresses[0]).toBe('0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d');
|
|
82
|
+
});
|
|
83
|
+
it('all chains share the same deterministic MessageTransmitterV2 address', () => {
|
|
84
|
+
const addresses = Object.values(MESSAGE_TRANSMITTER_V2);
|
|
85
|
+
const unique = new Set(addresses);
|
|
86
|
+
expect(unique.size).toBe(1);
|
|
87
|
+
expect(addresses[0]).toBe('0x81D40F21F12A8F0E3252Bccb954D722d4c464B64');
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
describe('bytes32ToSolanaPubkey', () => {
|
|
91
|
+
it('round-trips a known Solana public key from 32-byte hex', () => {
|
|
92
|
+
// 32-byte zero-padded hex (a simple known value)
|
|
93
|
+
// All zeros except last byte = 1 → base58 "11111111111111111111111111111112" (system program variant)
|
|
94
|
+
const BYTES32 = '0x0000000000000000000000000000000000000000000000000000000000000001';
|
|
95
|
+
const result = bytes32ToSolanaPubkey(BYTES32);
|
|
96
|
+
expect(result).toBeTruthy();
|
|
97
|
+
expect(result.length).toBeGreaterThanOrEqual(1);
|
|
98
|
+
expect(result.length).toBeLessThanOrEqual(44);
|
|
99
|
+
// Only valid base58 chars
|
|
100
|
+
expect(result).toMatch(/^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]+$/);
|
|
101
|
+
});
|
|
102
|
+
it('throws on non-32-byte input', () => {
|
|
103
|
+
expect(() => bytes32ToSolanaPubkey('0x1234')).toThrow();
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
//# sourceMappingURL=solana.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.test.js","sourceRoot":"","sources":["../../../src/bridge/__tests__/solana.test.ts"],"names":[],"mappings":"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"}
|
package/dist/bridge/client.d.ts
CHANGED
|
@@ -1,18 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module bridge/client
|
|
3
|
+
* BridgeModule — CCTP V2 cross-chain USDC bridge for AgentWallet (EVM↔EVM).
|
|
4
|
+
*
|
|
5
|
+
* Implements a full EVM-to-EVM USDC bridge using Circle's CCTP V2 protocol.
|
|
6
|
+
* Non-custodial: all signing is done locally via the agent's viem WalletClient.
|
|
7
|
+
*
|
|
8
|
+
* For EVM↔Solana bridging, see bridge/solana.ts.
|
|
9
|
+
*
|
|
10
|
+
* Supported chains: Ethereum, Avalanche, Optimism, Arbitrum, Base, Polygon,
|
|
11
|
+
* Unichain, Linea, Sonic, Worldchain.
|
|
12
|
+
*
|
|
13
|
+
* Flow: approve USDC → depositForBurn → poll Circle IRIS → receiveMessage
|
|
14
|
+
*/
|
|
1
15
|
import { type Hash, type Hex, type WalletClient } from 'viem';
|
|
2
|
-
import type { BridgeChain, BridgeOptions, BurnResult, BridgeResult } from './types.js';
|
|
16
|
+
import type { BridgeChain, EVMBridgeChain, BridgeOptions, BurnResult, BridgeResult } from './types.js';
|
|
3
17
|
import { CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, FINALITY_THRESHOLD } from './types.js';
|
|
4
18
|
export declare class BridgeModule {
|
|
5
19
|
private readonly walletClient;
|
|
6
20
|
private readonly publicClient;
|
|
7
21
|
private readonly fromChain;
|
|
8
22
|
private readonly fromRpcUrl;
|
|
9
|
-
constructor(walletClient: WalletClient, fromChain?:
|
|
23
|
+
constructor(walletClient: WalletClient, fromChain?: EVMBridgeChain, options?: {
|
|
10
24
|
rpcUrl?: string;
|
|
11
25
|
});
|
|
12
|
-
bridge(amount: bigint, toChain:
|
|
13
|
-
burn(amount: bigint, toChain:
|
|
26
|
+
bridge(amount: bigint, toChain: EVMBridgeChain, options?: BridgeOptions): Promise<BridgeResult>;
|
|
27
|
+
burn(amount: bigint, toChain: EVMBridgeChain, options?: BridgeOptions): Promise<BurnResult>;
|
|
14
28
|
waitForAttestation(messageHash: Hex, apiUrl?: string): Promise<Hex>;
|
|
15
|
-
mint(messageBytes: Hex, attestation: Hex, toChain:
|
|
29
|
+
mint(messageBytes: Hex, attestation: Hex, toChain: EVMBridgeChain, destinationRpcUrl?: string): Promise<Hash>;
|
|
16
30
|
getUsdcBalance(): Promise<bigint>;
|
|
17
31
|
getUsdcAllowance(): Promise<bigint>;
|
|
18
32
|
private approveUsdc;
|
|
@@ -27,9 +41,9 @@ export declare class BridgeError extends Error {
|
|
|
27
41
|
readonly code: string;
|
|
28
42
|
constructor(code: string, message: string);
|
|
29
43
|
}
|
|
30
|
-
export declare function createBridge(walletClient: WalletClient, fromChain?:
|
|
44
|
+
export declare function createBridge(walletClient: WalletClient, fromChain?: EVMBridgeChain, options?: {
|
|
31
45
|
rpcUrl?: string;
|
|
32
46
|
}): BridgeModule;
|
|
33
|
-
export type { BridgeChain, BridgeOptions, BurnResult, BridgeResult };
|
|
47
|
+
export type { BridgeChain, EVMBridgeChain, BridgeOptions, BurnResult, BridgeResult };
|
|
34
48
|
export { CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, FINALITY_THRESHOLD, };
|
|
35
49
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/bridge/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/bridge/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAML,KAAK,IAAI,EACT,KAAK,GAAG,EAER,KAAK,YAAY,EAElB,MAAM,MAAM,CAAC;AAOd,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACvG,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAInB,MAAM,YAAY,CAAC;AAoBpB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAG9C,YAAY,EAAE,YAAY,EAC1B,SAAS,GAAE,cAAuB,EAClC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;IAiB7B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IA0BnG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,UAAU,CAAC;IAU/F,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,GAAE,MAA+B,GAAG,OAAO,CAAC,GAAG,CAAC;IAI3F,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7G,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAUjC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;YAU3B,WAAW;YAuBX,cAAc;IAwC5B,OAAO,CAAC,kBAAkB;YAqBZ,kBAAkB;YA8BlB,cAAc;IA2B5B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,KAAK;CAGd;AAED,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C;AAED,wBAAgB,YAAY,CAC1B,YAAY,EAAE,YAAY,EAC1B,SAAS,GAAE,cAAuB,EAClC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,YAAY,CAEd;AAED,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AACrF,OAAO,EACL,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAChD,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,GAC/D,CAAC"}
|
package/dist/bridge/client.js
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module bridge/client
|
|
3
|
+
* BridgeModule — CCTP V2 cross-chain USDC bridge for AgentWallet (EVM↔EVM).
|
|
4
|
+
*
|
|
5
|
+
* Implements a full EVM-to-EVM USDC bridge using Circle's CCTP V2 protocol.
|
|
6
|
+
* Non-custodial: all signing is done locally via the agent's viem WalletClient.
|
|
7
|
+
*
|
|
8
|
+
* For EVM↔Solana bridging, see bridge/solana.ts.
|
|
9
|
+
*
|
|
10
|
+
* Supported chains: Ethereum, Avalanche, Optimism, Arbitrum, Base, Polygon,
|
|
11
|
+
* Unichain, Linea, Sonic, Worldchain.
|
|
12
|
+
*
|
|
13
|
+
* Flow: approve USDC → depositForBurn → poll Circle IRIS → receiveMessage
|
|
14
|
+
*/
|
|
1
15
|
// BridgeModule — CCTP V2 cross-chain USDC bridge for AgentWallet
|
|
2
16
|
// Non-custodial: all signing is done locally via the agent's WalletClient.
|
|
3
17
|
import { createPublicClient, http, keccak256, pad, getContract, } from 'viem';
|
|
@@ -5,8 +19,9 @@ import { base, mainnet, optimism, arbitrum, polygon, avalanche, linea } from 'vi
|
|
|
5
19
|
import { TokenMessengerV2Abi, MessageTransmitterV2Abi, ERC20BridgeAbi, } from './abis.js';
|
|
6
20
|
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
21
|
/**
|
|
8
|
-
* Viem chain definitions for all supported CCTP V2 chains.
|
|
22
|
+
* Viem chain definitions for all supported EVM CCTP V2 chains.
|
|
9
23
|
* Chains without built-in viem definitions use custom definitions.
|
|
24
|
+
* Solana is NOT included — use bridge/solana.ts for EVM↔Solana bridging.
|
|
10
25
|
*/
|
|
11
26
|
const VIEM_CHAINS = {
|
|
12
27
|
base,
|
|
@@ -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,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module bridge
|
|
3
|
+
* Re-exports for the bridge module: EVM↔EVM CCTP V2 bridge and EVM↔Solana bridge.
|
|
4
|
+
*
|
|
5
|
+
* Import from 'agentwallet-sdk/bridge' or 'agentwallet-sdk' (re-exported from root).
|
|
6
|
+
*
|
|
7
|
+
* EVM↔EVM: use BridgeModule or createBridge()
|
|
8
|
+
* EVM↔Solana: use bridgeEVMToSolana() and receiveFromSolanaOnEVM()
|
|
9
|
+
*/
|
|
1
10
|
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';
|
|
11
|
+
export type { BridgeChain, EVMBridgeChain, BridgeOptions, BurnResult, BridgeResult, AttestationResponse, AttestationStatus, } from './types.js';
|
|
3
12
|
export { TokenMessengerV2Abi, MessageTransmitterV2Abi, ERC20BridgeAbi } from './abis.js';
|
|
13
|
+
export { bridgeEVMToSolana, receiveFromSolanaOnEVM, bytes32ToSolanaPubkey, SolanaBridgeError, SOLANA_CCTP_DOMAIN, SOLANA_USDC_MINT, SOLANA_TOKEN_MESSENGER, SOLANA_MESSAGE_TRANSMITTER, SOLANA_DEFAULT_RPC, } from './solana.js';
|
|
14
|
+
export type { EVMToSolanaOptions, EVMToSolanaResult, SolanaToEVMOptions, SolanaToEVMBurnParams, SolanaToEVMResult, SolanaBridgeErrorCode, } from './solana.js';
|
|
4
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,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,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,GAC7G,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGzF,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
|
package/dist/bridge/index.js
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module bridge
|
|
3
|
+
* Re-exports for the bridge module: EVM↔EVM CCTP V2 bridge and EVM↔Solana bridge.
|
|
4
|
+
*
|
|
5
|
+
* Import from 'agentwallet-sdk/bridge' or 'agentwallet-sdk' (re-exported from root).
|
|
6
|
+
*
|
|
7
|
+
* EVM↔EVM: use BridgeModule or createBridge()
|
|
8
|
+
* EVM↔Solana: use bridgeEVMToSolana() and receiveFromSolanaOnEVM()
|
|
9
|
+
*/
|
|
1
10
|
export { BridgeModule, BridgeError, createBridge, CCTP_DOMAIN_IDS, BRIDGE_CHAIN_IDS, USDC_CONTRACT, TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, FINALITY_THRESHOLD, } from './client.js';
|
|
2
11
|
export { TokenMessengerV2Abi, MessageTransmitterV2Abi, ERC20BridgeAbi } from './abis.js';
|
|
12
|
+
// ─── Solana Bridge (optional — requires @solana/web3.js for full Solana-side execution) ───
|
|
13
|
+
export { bridgeEVMToSolana, receiveFromSolanaOnEVM, bytes32ToSolanaPubkey, SolanaBridgeError, SOLANA_CCTP_DOMAIN, SOLANA_USDC_MINT, SOLANA_TOKEN_MESSENGER, SOLANA_MESSAGE_TRANSMITTER, SOLANA_DEFAULT_RPC, } from './solana.js';
|
|
3
14
|
//# 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,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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,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;AAEzF,6FAA6F;AAC7F,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SolanaBridgeModule — CCTP V2 cross-chain USDC bridge between EVM chains and Solana.
|
|
3
|
+
*
|
|
4
|
+
* Uses Circle's Cross-Chain Transfer Protocol (CCTP) V2 for trustless USDC transfers.
|
|
5
|
+
* EVM side uses viem; Solana side uses @solana/web3.js as an optional peer dependency.
|
|
6
|
+
*
|
|
7
|
+
* Sources:
|
|
8
|
+
* - Circle CCTP Solana docs: https://developers.circle.com/cctp/docs/solana
|
|
9
|
+
* - Solana USDC mint: https://solana.com/ecosystem/usdc
|
|
10
|
+
* - CCTP domain IDs: https://developers.circle.com/cctp/references/contract-addresses
|
|
11
|
+
*/
|
|
12
|
+
import { type Address, type Hash, type Hex, type WalletClient } from 'viem';
|
|
13
|
+
import { type EVMBridgeChain } from './types.js';
|
|
14
|
+
/** Solana CCTP domain ID */
|
|
15
|
+
export declare const SOLANA_CCTP_DOMAIN = 5;
|
|
16
|
+
/** Native USDC mint on Solana Mainnet */
|
|
17
|
+
export declare const SOLANA_USDC_MINT: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
|
|
18
|
+
/**
|
|
19
|
+
* Solana CCTP V2 TokenMessengerMinterV2 program address.
|
|
20
|
+
* This is the V2 program (not V1 CCTPiPYP...). The V2 program combines
|
|
21
|
+
* TokenMessengerV2 + TokenMinterV2 into a single program.
|
|
22
|
+
* Source: https://developers.circle.com/cctp/references/solana-programs
|
|
23
|
+
* Verified: https://github.com/circlefin/solana-cctp-contracts (programs/v2)
|
|
24
|
+
*/
|
|
25
|
+
export declare const SOLANA_TOKEN_MESSENGER: "CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe";
|
|
26
|
+
/**
|
|
27
|
+
* Solana CCTP V2 MessageTransmitterV2 program address.
|
|
28
|
+
* This is the V2 program (not V1 CCTPmbSD...).
|
|
29
|
+
* Source: https://developers.circle.com/cctp/references/solana-programs
|
|
30
|
+
* Verified: https://github.com/circlefin/solana-cctp-contracts (programs/v2)
|
|
31
|
+
*/
|
|
32
|
+
export declare const SOLANA_MESSAGE_TRANSMITTER: "CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC";
|
|
33
|
+
/** Default Solana Mainnet RPC endpoint */
|
|
34
|
+
export declare const SOLANA_DEFAULT_RPC: "https://api.mainnet-beta.solana.com";
|
|
35
|
+
/**
|
|
36
|
+
* Decode a 32-byte hex buffer back to a Solana base58 public key.
|
|
37
|
+
* Used when interpreting Solana→EVM message recipient fields.
|
|
38
|
+
*/
|
|
39
|
+
export declare function bytes32ToSolanaPubkey(bytes32: Hex): string;
|
|
40
|
+
export interface EVMToSolanaOptions {
|
|
41
|
+
/** Solana recipient address (base58). Defaults to the EVM signer's address re-encoded — usually wrong; always specify. */
|
|
42
|
+
solanaRecipient: string;
|
|
43
|
+
/** EVM source chain. Defaults to 'base'. */
|
|
44
|
+
fromChain?: EVMBridgeChain;
|
|
45
|
+
/** Optional EVM RPC URL override. */
|
|
46
|
+
evmRpcUrl?: string;
|
|
47
|
+
/** Finality threshold: FAST (0) or FINALIZED (1000). Default: FAST. */
|
|
48
|
+
minFinalityThreshold?: number;
|
|
49
|
+
/** Max bridge fee in USDC base units. Default: 0 (no fee). */
|
|
50
|
+
maxFee?: bigint;
|
|
51
|
+
/** Circle IRIS API URL override. */
|
|
52
|
+
attestationApiUrl?: string;
|
|
53
|
+
}
|
|
54
|
+
export interface EVMToSolanaResult {
|
|
55
|
+
/** EVM burn transaction hash */
|
|
56
|
+
burnTxHash: Hash;
|
|
57
|
+
/** Circle message hash (used to poll for attestation) */
|
|
58
|
+
messageHash: Hex;
|
|
59
|
+
/** Raw CCTP message bytes (for manual receiveMessage on Solana) */
|
|
60
|
+
messageBytes: Hex;
|
|
61
|
+
/** Circle attestation signature (for receiveMessage on Solana) */
|
|
62
|
+
attestation: Hex;
|
|
63
|
+
/** The Solana CCTP domain (5) */
|
|
64
|
+
destinationDomain: number;
|
|
65
|
+
/** Amount bridged in USDC base units */
|
|
66
|
+
amount: bigint;
|
|
67
|
+
/** Elapsed time in milliseconds */
|
|
68
|
+
elapsedMs: number;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Bridge USDC from an EVM chain to Solana using CCTP V2.
|
|
72
|
+
*
|
|
73
|
+
* This function handles the EVM burn side and attestation polling.
|
|
74
|
+
* The Solana receive side must be completed by calling `receiveMessageOnSolana()`
|
|
75
|
+
* or by the Solana recipient manually submitting the message and attestation
|
|
76
|
+
* to the Solana MessageTransmitter program.
|
|
77
|
+
*
|
|
78
|
+
* @param walletClient - Viem WalletClient with a signer attached (for EVM)
|
|
79
|
+
* @param amount - Amount to bridge in USDC base units (6 decimals, e.g. 1_000_000n = 1 USDC)
|
|
80
|
+
* @param options - Bridge options including solanaRecipient (required)
|
|
81
|
+
* @returns Burn tx hash, attestation, and message bytes for Solana receive
|
|
82
|
+
*/
|
|
83
|
+
export declare function bridgeEVMToSolana(walletClient: WalletClient, amount: bigint, options: EVMToSolanaOptions): Promise<EVMToSolanaResult>;
|
|
84
|
+
export interface SolanaToEVMOptions {
|
|
85
|
+
/** EVM destination chain */
|
|
86
|
+
toChain: EVMBridgeChain;
|
|
87
|
+
/** Optional EVM destination RPC URL override */
|
|
88
|
+
evmRpcUrl?: string;
|
|
89
|
+
/** EVM recipient address. Defaults to the EVM walletClient's account address. */
|
|
90
|
+
evmRecipient?: Address;
|
|
91
|
+
/** Circle IRIS API URL override */
|
|
92
|
+
attestationApiUrl?: string;
|
|
93
|
+
/** Solana RPC URL override */
|
|
94
|
+
solanaRpcUrl?: string;
|
|
95
|
+
}
|
|
96
|
+
export interface SolanaToEVMBurnParams {
|
|
97
|
+
/** Raw CCTP message bytes from Solana burn transaction */
|
|
98
|
+
messageBytes: Hex;
|
|
99
|
+
/** Circle message hash */
|
|
100
|
+
messageHash: Hex;
|
|
101
|
+
/** Source domain (should be SOLANA_CCTP_DOMAIN = 5) */
|
|
102
|
+
sourceDomain: number;
|
|
103
|
+
}
|
|
104
|
+
export interface SolanaToEVMResult {
|
|
105
|
+
/** EVM mint transaction hash */
|
|
106
|
+
mintTxHash: Hash;
|
|
107
|
+
/** Amount received in USDC base units */
|
|
108
|
+
amount: bigint;
|
|
109
|
+
/** EVM destination chain */
|
|
110
|
+
toChain: EVMBridgeChain;
|
|
111
|
+
/** EVM recipient address */
|
|
112
|
+
recipient: Address;
|
|
113
|
+
/** Elapsed time in milliseconds */
|
|
114
|
+
elapsedMs: number;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Complete the Solana→EVM bridge by polling for Circle's attestation and minting on EVM.
|
|
118
|
+
*
|
|
119
|
+
* The caller is responsible for initiating the Solana burn via the Solana
|
|
120
|
+
* CCTP MessageTransmitter and passing the resulting messageBytes + messageHash here.
|
|
121
|
+
*
|
|
122
|
+
* @param walletClient - Viem WalletClient (for EVM signing)
|
|
123
|
+
* @param burnParams - Message bytes and hash from the Solana burn transaction
|
|
124
|
+
* @param options - Destination chain and optional overrides
|
|
125
|
+
*/
|
|
126
|
+
export declare function receiveFromSolanaOnEVM(walletClient: WalletClient, burnParams: SolanaToEVMBurnParams, options: SolanaToEVMOptions): Promise<SolanaToEVMResult>;
|
|
127
|
+
export type SolanaBridgeErrorCode = 'NO_WALLET_CLIENT' | 'INVALID_AMOUNT' | 'INVALID_RECIPIENT' | 'INSUFFICIENT_ALLOWANCE' | 'BURN_FAILED' | 'ATTESTATION_ERROR' | 'ATTESTATION_TIMEOUT' | 'MINT_FAILED';
|
|
128
|
+
export declare class SolanaBridgeError extends Error {
|
|
129
|
+
readonly code: SolanaBridgeErrorCode;
|
|
130
|
+
constructor(code: SolanaBridgeErrorCode, message: string);
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=solana.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/bridge/solana.ts"],"names":[],"mappings":"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"}
|