@circle-fin/app-kit 1.12.1 → 1.13.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/chains.mjs CHANGED
@@ -100,6 +100,8 @@ import { z } from 'zod';
100
100
  Blockchain["Optimism_Sepolia"] = "Optimism_Sepolia";
101
101
  Blockchain["Pharos"] = "Pharos";
102
102
  Blockchain["Pharos_Testnet"] = "Pharos_Testnet";
103
+ Blockchain["Plasma"] = "Plasma";
104
+ Blockchain["Plasma_Testnet"] = "Plasma_Testnet";
103
105
  Blockchain["Polkadot_Asset_Hub"] = "Polkadot_Asset_Hub";
104
106
  Blockchain["Polkadot_Westmint"] = "Polkadot_Westmint";
105
107
  Blockchain["Plume"] = "Plume";
@@ -169,6 +171,7 @@ var BridgeChain;
169
171
  BridgeChain["Morph"] = "Morph";
170
172
  BridgeChain["Optimism"] = "Optimism";
171
173
  BridgeChain["Pharos"] = "Pharos";
174
+ BridgeChain["Plasma"] = "Plasma";
172
175
  BridgeChain["Plume"] = "Plume";
173
176
  BridgeChain["Polygon"] = "Polygon";
174
177
  BridgeChain["Sei"] = "Sei";
@@ -195,6 +198,7 @@ var BridgeChain;
195
198
  BridgeChain["Morph_Testnet"] = "Morph_Testnet";
196
199
  BridgeChain["Optimism_Sepolia"] = "Optimism_Sepolia";
197
200
  BridgeChain["Pharos_Testnet"] = "Pharos_Testnet";
201
+ BridgeChain["Plasma_Testnet"] = "Plasma_Testnet";
198
202
  BridgeChain["Plume_Testnet"] = "Plume_Testnet";
199
203
  BridgeChain["Polygon_Amoy_Testnet"] = "Polygon_Amoy_Testnet";
200
204
  BridgeChain["Sei_Testnet"] = "Sei_Testnet";
@@ -641,6 +645,8 @@ var EarnChain;
641
645
  * This program handles minting operations for Gateway transactions
642
646
  * on Solana devnet.
643
647
  */ const GATEWAY_MINTER_SOLANA_DEVNET = 'GATEmKK2ECL1brEngQZWCgMWPbvrEYqsV6u29dAaHavr';
648
+ /** TokenMessengerWithFees address shared by enabled EVM mainnet sources. */ const TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET = '0x71f54F818671cD0D7ea140Da213e5C8b5C92a408';
649
+ /** TokenMessengerWithFees address shared by enabled EVM testnet sources. */ const TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET = '0x8745D906D67C346E5eb1aEEED38Eb87F34DF0C0A';
644
650
 
645
651
  /**
646
652
  * Arc Testnet chain definition
@@ -678,6 +684,7 @@ var EarnChain;
678
684
  v2: {
679
685
  type: 'split',
680
686
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
687
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
681
688
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
682
689
  confirmations: 1,
683
690
  fastConfirmations: 1
@@ -745,6 +752,7 @@ var EarnChain;
745
752
  v2: {
746
753
  type: 'split',
747
754
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
755
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
748
756
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
749
757
  confirmations: 65,
750
758
  fastConfirmations: 1
@@ -809,6 +817,7 @@ var EarnChain;
809
817
  v2: {
810
818
  type: 'split',
811
819
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
820
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
812
821
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
813
822
  confirmations: 65,
814
823
  fastConfirmations: 1
@@ -873,6 +882,7 @@ var EarnChain;
873
882
  v2: {
874
883
  type: 'split',
875
884
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
885
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
876
886
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
877
887
  confirmations: 1,
878
888
  fastConfirmations: 1
@@ -934,6 +944,7 @@ var EarnChain;
934
944
  v2: {
935
945
  type: 'split',
936
946
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
947
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
937
948
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
938
949
  confirmations: 1,
939
950
  fastConfirmations: 1
@@ -1001,6 +1012,7 @@ var EarnChain;
1001
1012
  v2: {
1002
1013
  type: 'split',
1003
1014
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1015
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1004
1016
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1005
1017
  confirmations: 65,
1006
1018
  fastConfirmations: 1
@@ -1065,6 +1077,7 @@ var EarnChain;
1065
1077
  v2: {
1066
1078
  type: 'split',
1067
1079
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
1080
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1068
1081
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
1069
1082
  confirmations: 65,
1070
1083
  fastConfirmations: 1
@@ -1175,6 +1188,7 @@ var EarnChain;
1175
1188
  v2: {
1176
1189
  type: 'split',
1177
1190
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1191
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1178
1192
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1179
1193
  confirmations: 65,
1180
1194
  fastConfirmations: 1
@@ -1219,6 +1233,7 @@ var EarnChain;
1219
1233
  v2: {
1220
1234
  type: 'split',
1221
1235
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
1236
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1222
1237
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
1223
1238
  confirmations: 65,
1224
1239
  fastConfirmations: 1
@@ -1450,6 +1465,7 @@ var EarnChain;
1450
1465
  v2: {
1451
1466
  type: 'split',
1452
1467
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1468
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1453
1469
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1454
1470
  confirmations: 65,
1455
1471
  fastConfirmations: 2
@@ -1514,6 +1530,7 @@ var EarnChain;
1514
1530
  v2: {
1515
1531
  type: 'split',
1516
1532
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
1533
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1517
1534
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
1518
1535
  confirmations: 65,
1519
1536
  fastConfirmations: 2
@@ -1624,6 +1641,7 @@ var EarnChain;
1624
1641
  v2: {
1625
1642
  type: 'split',
1626
1643
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1644
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1627
1645
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1628
1646
  confirmations: 1,
1629
1647
  fastConfirmations: 1
@@ -1683,6 +1701,7 @@ var EarnChain;
1683
1701
  v2: {
1684
1702
  type: 'split',
1685
1703
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1704
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1686
1705
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1687
1706
  confirmations: 1,
1688
1707
  fastConfirmations: 1
@@ -1837,6 +1856,7 @@ var EarnChain;
1837
1856
  v2: {
1838
1857
  type: 'split',
1839
1858
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1859
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1840
1860
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1841
1861
  confirmations: 65,
1842
1862
  fastConfirmations: 1
@@ -1884,6 +1904,7 @@ var EarnChain;
1884
1904
  v2: {
1885
1905
  type: 'split',
1886
1906
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1907
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1887
1908
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1888
1909
  confirmations: 65,
1889
1910
  fastConfirmations: 1
@@ -1928,6 +1949,7 @@ var EarnChain;
1928
1949
  v2: {
1929
1950
  type: 'split',
1930
1951
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1952
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1931
1953
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1932
1954
  confirmations: 1,
1933
1955
  fastConfirmations: 1
@@ -1973,6 +1995,7 @@ var EarnChain;
1973
1995
  v2: {
1974
1996
  type: 'split',
1975
1997
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
1998
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1976
1999
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
1977
2000
  confirmations: 1,
1978
2001
  fastConfirmations: 1
@@ -2019,6 +2042,7 @@ var EarnChain;
2019
2042
  v2: {
2020
2043
  type: 'split',
2021
2044
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2045
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2022
2046
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2023
2047
  confirmations: 1,
2024
2048
  fastConfirmations: 1
@@ -2332,6 +2356,7 @@ var EarnChain;
2332
2356
  v2: {
2333
2357
  type: 'split',
2334
2358
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2359
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2335
2360
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2336
2361
  confirmations: 65,
2337
2362
  fastConfirmations: 1
@@ -2396,6 +2421,7 @@ var EarnChain;
2396
2421
  v2: {
2397
2422
  type: 'split',
2398
2423
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
2424
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2399
2425
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
2400
2426
  confirmations: 65,
2401
2427
  fastConfirmations: 1
@@ -2516,6 +2542,98 @@ var EarnChain;
2516
2542
  }
2517
2543
  });
2518
2544
 
2545
+ /**
2546
+ * Plasma Mainnet chain definition
2547
+ * @remarks
2548
+ * This represents the official production network for the Plasma blockchain.
2549
+ * Plasma is an EVM-equivalent Layer 1 blockchain purpose-built for global
2550
+ * stablecoin payments, with deterministic BFT finality (PlasmaBFT/Fast-HotStuff).
2551
+ */ const Plasma = defineChain({
2552
+ type: 'evm',
2553
+ chain: Blockchain.Plasma,
2554
+ name: 'Plasma',
2555
+ title: 'Plasma Mainnet',
2556
+ nativeCurrency: {
2557
+ name: 'Plasma',
2558
+ symbol: 'XPL',
2559
+ decimals: 18
2560
+ },
2561
+ chainId: 9745,
2562
+ isTestnet: false,
2563
+ explorerUrl: 'https://plasmascan.to/tx/{hash}',
2564
+ rpcEndpoints: [
2565
+ 'https://rpc.plasma.to'
2566
+ ],
2567
+ eurcAddress: '0x3EE196E78d4d4248b849B8E1C7F44C5457FAFD2C',
2568
+ usdcAddress: '0x2d661C89D812261039AF9764eceaAee884f5F67F',
2569
+ usdtAddress: null,
2570
+ cctp: {
2571
+ domain: 33,
2572
+ contracts: {
2573
+ v2: {
2574
+ type: 'split',
2575
+ tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2576
+ messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2577
+ confirmations: 3,
2578
+ fastConfirmations: 1
2579
+ }
2580
+ },
2581
+ forwarderSupported: {
2582
+ source: false,
2583
+ destination: false
2584
+ }
2585
+ },
2586
+ kitContracts: {
2587
+ bridge: BRIDGE_CONTRACT_EVM_MAINNET
2588
+ }
2589
+ });
2590
+
2591
+ /**
2592
+ * Plasma Testnet chain definition
2593
+ * @remarks
2594
+ * This represents the official test network for the Plasma blockchain.
2595
+ * Plasma is an EVM-equivalent Layer 1 blockchain purpose-built for global
2596
+ * stablecoin payments, with deterministic BFT finality (PlasmaBFT/Fast-HotStuff).
2597
+ */ const PlasmaTestnet = defineChain({
2598
+ type: 'evm',
2599
+ chain: Blockchain.Plasma_Testnet,
2600
+ name: 'Plasma Testnet',
2601
+ title: 'Plasma Testnet',
2602
+ nativeCurrency: {
2603
+ name: 'Plasma',
2604
+ symbol: 'XPL',
2605
+ decimals: 18
2606
+ },
2607
+ chainId: 9746,
2608
+ isTestnet: true,
2609
+ explorerUrl: 'https://testnet.plasmascan.to/tx/{hash}',
2610
+ rpcEndpoints: [
2611
+ 'https://testnet-rpc.plasma.to'
2612
+ ],
2613
+ eurcAddress: '0x98AfA0F93Dd993B736399f9074eDcEBD1985A330',
2614
+ usdcAddress: '0xE67Fb267022cBA8064Dd388CC2FED724F3120D9D',
2615
+ usdtAddress: null,
2616
+ cctp: {
2617
+ domain: 33,
2618
+ contracts: {
2619
+ v2: {
2620
+ type: 'split',
2621
+ tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2622
+ messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2623
+ confirmations: 3,
2624
+ fastConfirmations: 1
2625
+ }
2626
+ },
2627
+ forwarderSupported: {
2628
+ source: false,
2629
+ destination: false
2630
+ }
2631
+ },
2632
+ kitContracts: {
2633
+ bridge: BRIDGE_CONTRACT_EVM_TESTNET
2634
+ }
2635
+ });
2636
+
2519
2637
  /**
2520
2638
  * Plume Mainnet chain definition
2521
2639
  * @remarks
@@ -2547,6 +2665,7 @@ var EarnChain;
2547
2665
  v2: {
2548
2666
  type: 'split',
2549
2667
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2668
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2550
2669
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2551
2670
  confirmations: 65,
2552
2671
  fastConfirmations: 1
@@ -2593,6 +2712,7 @@ var EarnChain;
2593
2712
  v2: {
2594
2713
  type: 'split',
2595
2714
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2715
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2596
2716
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2597
2717
  confirmations: 65,
2598
2718
  fastConfirmations: 1
@@ -2694,6 +2814,7 @@ var EarnChain;
2694
2814
  v2: {
2695
2815
  type: 'split',
2696
2816
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2817
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2697
2818
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2698
2819
  confirmations: 33,
2699
2820
  fastConfirmations: 13
@@ -2759,6 +2880,7 @@ var EarnChain;
2759
2880
  v2: {
2760
2881
  type: 'split',
2761
2882
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2883
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2762
2884
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2763
2885
  confirmations: 33,
2764
2886
  fastConfirmations: 13
@@ -2818,6 +2940,7 @@ var EarnChain;
2818
2940
  v2: {
2819
2941
  type: 'split',
2820
2942
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2943
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2821
2944
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2822
2945
  confirmations: 1,
2823
2946
  fastConfirmations: 1
@@ -2877,6 +3000,7 @@ var EarnChain;
2877
3000
  v2: {
2878
3001
  type: 'split',
2879
3002
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
3003
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2880
3004
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2881
3005
  confirmations: 1,
2882
3006
  fastConfirmations: 1
@@ -2934,6 +3058,7 @@ var EarnChain;
2934
3058
  v2: {
2935
3059
  type: 'split',
2936
3060
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
3061
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2937
3062
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2938
3063
  confirmations: 1,
2939
3064
  fastConfirmations: 1
@@ -2992,6 +3117,7 @@ var EarnChain;
2992
3117
  v2: {
2993
3118
  type: 'split',
2994
3119
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
3120
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2995
3121
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2996
3122
  confirmations: 1,
2997
3123
  fastConfirmations: 1
@@ -3307,6 +3433,7 @@ var EarnChain;
3307
3433
  v2: {
3308
3434
  type: 'split',
3309
3435
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
3436
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
3310
3437
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
3311
3438
  confirmations: 65,
3312
3439
  fastConfirmations: 1
@@ -3371,6 +3498,7 @@ var EarnChain;
3371
3498
  v2: {
3372
3499
  type: 'split',
3373
3500
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
3501
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
3374
3502
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
3375
3503
  confirmations: 65,
3376
3504
  fastConfirmations: 1
@@ -3428,6 +3556,7 @@ var EarnChain;
3428
3556
  v2: {
3429
3557
  type: 'split',
3430
3558
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cF5d',
3559
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
3431
3560
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
3432
3561
  confirmations: 65,
3433
3562
  fastConfirmations: 1
@@ -3487,6 +3616,7 @@ var EarnChain;
3487
3616
  v2: {
3488
3617
  type: 'split',
3489
3618
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
3619
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
3490
3620
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
3491
3621
  confirmations: 65,
3492
3622
  fastConfirmations: 1
@@ -3547,6 +3677,7 @@ var EarnChain;
3547
3677
  v2: {
3548
3678
  type: 'split',
3549
3679
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
3680
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
3550
3681
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
3551
3682
  confirmations: 3,
3552
3683
  fastConfirmations: 3
@@ -3592,6 +3723,7 @@ var EarnChain;
3592
3723
  v2: {
3593
3724
  type: 'split',
3594
3725
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
3726
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
3595
3727
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
3596
3728
  confirmations: 3,
3597
3729
  fastConfirmations: 1
@@ -4172,5 +4304,5 @@ const swapTokenEnumSchema = z.enum([
4172
4304
  * ```
4173
4305
  */ z.string().transform((value)=>value.toUpperCase()).pipe(swapTokenEnumSchema);
4174
4306
 
4175
- export { Arbitrum, ArbitrumSepolia, ArcTestnet, Avalanche, AvalancheFuji, Base, BaseSepolia, Codex, CodexTestnet, Ethereum, EthereumSepolia, HyperEVM, HyperEVMTestnet, Ink, InkTestnet, Linea, LineaSepolia, Optimism, OptimismSepolia, Plume, PlumeTestnet, Polygon, PolygonAmoy, Sei, SeiTestnet, Solana, SolanaDevnet, Sonic, SonicTestnet, Unichain, UnichainSepolia, WorldChain, WorldChainSepolia, XDC, XDCApothem, XLayer, XLayerTestnet };
4307
+ export { Arbitrum, ArbitrumSepolia, ArcTestnet, Avalanche, AvalancheFuji, Base, BaseSepolia, Codex, CodexTestnet, Ethereum, EthereumSepolia, HyperEVM, HyperEVMTestnet, Ink, InkTestnet, Linea, LineaSepolia, Optimism, OptimismSepolia, Plasma, PlasmaTestnet, Plume, PlumeTestnet, Polygon, PolygonAmoy, Sei, SeiTestnet, Solana, SolanaDevnet, Sonic, SonicTestnet, Unichain, UnichainSepolia, WorldChain, WorldChainSepolia, XDC, XDCApothem, XLayer, XLayerTestnet };
4176
4308
  //# sourceMappingURL=chains.mjs.map
package/context.d.cts CHANGED
@@ -718,6 +718,8 @@ declare enum Blockchain {
718
718
  Optimism_Sepolia = "Optimism_Sepolia",
719
719
  Pharos = "Pharos",
720
720
  Pharos_Testnet = "Pharos_Testnet",
721
+ Plasma = "Plasma",
722
+ Plasma_Testnet = "Plasma_Testnet",
721
723
  Polkadot_Asset_Hub = "Polkadot_Asset_Hub",
722
724
  Polkadot_Westmint = "Polkadot_Westmint",
723
725
  Plume = "Plume",
@@ -946,6 +948,7 @@ declare enum BridgeChain {
946
948
  Morph = "Morph",
947
949
  Optimism = "Optimism",
948
950
  Pharos = "Pharos",
951
+ Plasma = "Plasma",
949
952
  Plume = "Plume",
950
953
  Polygon = "Polygon",
951
954
  Sei = "Sei",
@@ -971,6 +974,7 @@ declare enum BridgeChain {
971
974
  Morph_Testnet = "Morph_Testnet",
972
975
  Optimism_Sepolia = "Optimism_Sepolia",
973
976
  Pharos_Testnet = "Pharos_Testnet",
977
+ Plasma_Testnet = "Plasma_Testnet",
974
978
  Plume_Testnet = "Plume_Testnet",
975
979
  Polygon_Amoy_Testnet = "Polygon_Amoy_Testnet",
976
980
  Sei_Testnet = "Sei_Testnet",
@@ -2652,7 +2656,7 @@ interface ExecuteParams {
2652
2656
  * fromAddress: '0x...',
2653
2657
  * toAddress: '0x...',
2654
2658
  * amount: '1000000',
2655
- * apiKey: 'KIT_KEY:...',
2659
+ * apiKey: 'TEST_API_KEY:...',
2656
2660
  * })
2657
2661
  *
2658
2662
  * // Build token inputs with permit
@@ -2796,7 +2800,7 @@ interface ExecuteSwapEVMParams extends ActionParameters {
2796
2800
  * fromAddress: 'YubQzu18FDqJRyNfG8JqHmsdbxhnoQqcKUHBdUkN6tP',
2797
2801
  * toAddress: 'YubQzu18FDqJRyNfG8JqHmsdbxhnoQqcKUHBdUkN6tP',
2798
2802
  * amount: '1000000',
2799
- * apiKey: 'KIT_KEY:...',
2803
+ * apiKey: 'TEST_API_KEY:...',
2800
2804
  * })
2801
2805
  *
2802
2806
  * // Prepare action parameters
@@ -5796,6 +5800,30 @@ type BridgeDestination<TAdapterCapabilities extends AdapterCapabilities = Adapte
5796
5800
  useForwarder?: boolean;
5797
5801
  }) | ForwarderDestination<TChainIdentifier>;
5798
5802
 
5803
+ /**
5804
+ * Configure how CCTP and forwarding fees are collected for a bridge.
5805
+ *
5806
+ * @remarks
5807
+ * Use `'source'` with `to.useForwarder: true` to treat `amount` as the exact
5808
+ * destination amount. Bridge Kit obtains a signed fee quote, collects the fee
5809
+ * in source-chain USDC, and leaves the destination mint unreduced. Omit the
5810
+ * option (or use `'destination'`) to preserve the existing max-fee behavior.
5811
+ *
5812
+ * @example
5813
+ * ```typescript
5814
+ * import type { BridgeExecutionConfig } from '@circle-fin/bridge-kit'
5815
+ *
5816
+ * const config: BridgeExecutionConfig = {
5817
+ * transferSpeed: 'FAST',
5818
+ * feePayment: 'source',
5819
+ * }
5820
+ * ```
5821
+ * @since 1.14.0
5822
+ */
5823
+ interface BridgeExecutionConfig extends BridgeConfig {
5824
+ /** Select source-side signed fees or the legacy destination-side fee path. */
5825
+ feePayment?: 'source' | 'destination';
5826
+ }
5799
5827
  type FeeFunction<TFromAdapterCapabilities extends AdapterCapabilities, TToAdapterCapabilities extends AdapterCapabilities> = (params: BridgeParams$1<TFromAdapterCapabilities, TToAdapterCapabilities>) => Promise<string> | string;
5800
5828
  type FeeRecipientFunction<TFromAdapterCapabilities extends AdapterCapabilities, TToAdapterCapabilities extends AdapterCapabilities> = (feePayoutChain: ChainDefinition, params: BridgeParams$1<TFromAdapterCapabilities, TToAdapterCapabilities>) => Promise<string> | string;
5801
5829
  /**
@@ -5956,7 +5984,7 @@ interface BridgeParams<TFromAdapterCapabilities extends AdapterCapabilities = Ad
5956
5984
  * Optional bridge configuration (e.g., transfer speed).
5957
5985
  * If omitted, defaults will be used
5958
5986
  */
5959
- config?: BridgeConfig;
5987
+ config?: BridgeExecutionConfig;
5960
5988
  /**
5961
5989
  * The token to transfer. Defaults to 'USDC'.
5962
5990
  * If omitted, the provider will use 'USDC' by default.
@@ -5983,6 +6011,16 @@ interface BridgeParams<TFromAdapterCapabilities extends AdapterCapabilities = Ad
5983
6011
  * ```
5984
6012
  */
5985
6013
  invocationMeta?: InvocationMeta;
6014
+ /**
6015
+ * Reuse the opaque signed quote returned by a receive-exact estimate.
6016
+ *
6017
+ * @remarks
6018
+ * Bridge Kit validates a supplied quote against the exact transfer and fails
6019
+ * when it is invalid, mismatched, expired, or too close to expiry. Omit this
6020
+ * value to let Bridge Kit fetch a fresh quote automatically. Never log or
6021
+ * decode it.
6022
+ */
6023
+ quote?: string;
5986
6024
  }
5987
6025
 
5988
6026
  /**
@@ -6098,12 +6136,21 @@ interface ServiceSwapConfig {
6098
6136
  recipientAddress?: string;
6099
6137
  };
6100
6138
  /**
6101
- * Stablecoin Service Kit Key used to authenticate service-backed swap
6102
- * requests.
6139
+ * Circle API key used to authenticate service-backed swap requests.
6140
+ *
6141
+ * Format: `<ENV>_API_KEY:<keyId>:<keySecret>`. A legacy
6142
+ * `KIT_KEY:<keyId>:<keySecret>` value is also accepted.
6103
6143
  *
6104
6144
  * Treat this value as a credential. Do not log it, embed it in client-side
6105
6145
  * source, or expose it in telemetry.
6106
6146
  */
6147
+ apiKey?: string | undefined;
6148
+ /**
6149
+ * Circle API key used to authenticate service-backed swap requests.
6150
+ *
6151
+ * @deprecated Use {@link ServiceSwapConfig.apiKey} instead. Still honored
6152
+ * when `apiKey` is omitted, and `apiKey` takes precedence when both are set.
6153
+ */
6107
6154
  kitKey?: string;
6108
6155
  /**
6109
6156
  * DEX aggregator identifier used to source the swap route.
@@ -6581,12 +6628,21 @@ interface SwapConfig {
6581
6628
  recipientAddress: string;
6582
6629
  };
6583
6630
  /**
6584
- * Stablecoin Service Kit Key used to authenticate service-backed swap
6585
- * requests.
6631
+ * Circle API key used to authenticate service-backed swap requests.
6632
+ *
6633
+ * Format: `<ENV>_API_KEY:<keyId>:<keySecret>`. A legacy
6634
+ * `KIT_KEY:<keyId>:<keySecret>` value is also accepted.
6586
6635
  *
6587
6636
  * Treat this value as a credential. Do not log it, embed it in client-side
6588
6637
  * source, or expose it in telemetry.
6589
6638
  */
6639
+ apiKey?: string | undefined;
6640
+ /**
6641
+ * Circle API key used to authenticate service-backed swap requests.
6642
+ *
6643
+ * @deprecated Use {@link SwapConfig.apiKey} instead. Still honored when
6644
+ * `apiKey` is omitted, and `apiKey` takes precedence when both are set.
6645
+ */
6590
6646
  kitKey?: string;
6591
6647
  }
6592
6648
  /**
@@ -6715,29 +6771,37 @@ type EarnAdapterContext<TAdapterCapabilities extends AdapterCapabilities = Adapt
6715
6771
  * Configuration options for earn operations.
6716
6772
  *
6717
6773
  * EarnKit supports dual-mode authentication: operations work both with
6718
- * and without a Kit Key. When present, the Kit Key enables permissioned
6774
+ * and without an API key. When present, the API key enables permissioned
6719
6775
  * features like integrator attribution tracking.
6720
6776
  *
6721
6777
  * @example
6722
6778
  * ```typescript
6723
- * // Permissionless (no Kit Key)
6779
+ * // Permissionless (no API key)
6724
6780
  * const config: EarnConfig = {}
6725
6781
  *
6726
- * // Permissioned (with Kit Key)
6782
+ * // Permissioned (with API key)
6727
6783
  * const config: EarnConfig = {
6728
- * kitKey: 'KIT_KEY:keyId:keySecret',
6784
+ * apiKey: 'TEST_API_KEY:keyId:keySecret',
6729
6785
  * }
6730
6786
  * ```
6731
6787
  */
6732
6788
  interface EarnConfig {
6733
6789
  /**
6734
- * Optional Kit Key for permissioned access.
6790
+ * Optional Circle API key for permissioned access.
6735
6791
  *
6736
6792
  * When provided, enables integrator attribution tracking and
6737
6793
  * higher rate limits. When omitted, the SDK operates in
6738
6794
  * permissionless mode.
6739
6795
  *
6740
- * Format: `KIT_KEY:<keyId>:<keySecret>`
6796
+ * Format: `<ENV>_API_KEY:<keyId>:<keySecret>`. A legacy
6797
+ * `KIT_KEY:<keyId>:<keySecret>` value is also accepted.
6798
+ */
6799
+ readonly apiKey?: string | undefined;
6800
+ /**
6801
+ * Optional Circle API key for permissioned access.
6802
+ *
6803
+ * @deprecated Use {@link EarnConfig.apiKey} instead. Still honored when
6804
+ * `apiKey` is omitted, and `apiKey` takes precedence when both are set.
6741
6805
  */
6742
6806
  readonly kitKey?: string | undefined;
6743
6807
  /**
@@ -7504,13 +7568,18 @@ interface AppKitContext {
7504
7568
  */
7505
7569
  disableErrorReporting?: boolean;
7506
7570
  /**
7507
- * Custom HTTP headers forwarded with the underlying CCTP provider's
7508
- * attestation (Iris) API requests made by bridge operations.
7571
+ * Custom HTTP headers forwarded with Circle API requests made by the
7572
+ * underlying kits: the CCTP provider's attestation (Iris) requests for
7573
+ * bridge operations, and the Gateway API requests for unified-balance
7574
+ * operations.
7509
7575
  *
7510
7576
  * @remarks
7511
7577
  * Headers are merged on top of the SDK defaults (such as `Content-Type`)
7512
- * rather than replacing them. The header is forwarded as-is to Circle's API;
7513
- * the SDK does not interpret it.
7578
+ * rather than replacing them. Each header is forwarded as-is to Circle's API;
7579
+ * the SDK does not interpret it. The same map is forwarded to every relevant
7580
+ * kit, so a header a given API ignores is simply a no-op there. A
7581
+ * `unifiedBalance.headers` value, if provided, takes precedence for the
7582
+ * unified-balance kit.
7514
7583
  */
7515
7584
  headers?: Record<string, string>;
7516
7585
  }