@circle-fin/app-kit 1.12.1 → 1.14.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,45 @@ 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
+ /**
649
+ * The `TokenMessengerWithFees` proxy contract address for EVM mainnet networks
650
+ * (all chains except Edge).
651
+ *
652
+ * Deployed at a CREATE3-derived address; identical across all mainnet EVM
653
+ * source chains. Present on any chain that supports the prepaid FORWARD path
654
+ * via `depositForBurnWithHookAndFees`.
655
+ */ const TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET = '0x71f54F818671cD0D7ea140Da213e5C8b5C92a408';
656
+ /**
657
+ * The `TokenMessengerWithFees` proxy contract address for EVM testnet networks.
658
+ *
659
+ * Identical across all testnet EVM source chains. Present on any testnet chain
660
+ * that supports the prepaid FORWARD path via `depositForBurnWithHookAndFees`.
661
+ */ const TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET = '0x8745D906D67C346E5eb1aEEED38Eb87F34DF0C0A';
662
+ /**
663
+ * The `DepositForHandler` proxy contract address for EVM mainnet networks.
664
+ *
665
+ * The handler the GenericExecutor calls on a fast-deposit destination chain to
666
+ * run a cross-chain deposit into the GatewayWallet. Deployed at the same
667
+ * address across all mainnet EVM destination chains.
668
+ */ const DEPOSIT_FOR_HANDLER_EVM_MAINNET = '0x16529813203f77E036576666336554a1210dce4D';
669
+ /**
670
+ * The `DepositForHandler` proxy contract address for EVM testnet networks.
671
+ *
672
+ * Identical across all testnet EVM destination chains.
673
+ */ const DEPOSIT_FOR_HANDLER_EVM_TESTNET = '0xD05E7D2E7d30b92c5F17d7d0fC575fce231F1A48';
674
+ /**
675
+ * The `GenericExecutor` proxy contract address for EVM mainnet networks.
676
+ *
677
+ * The GenericExecutor is the `mintRecipient` and `destinationCaller` on the
678
+ * destination chain for the CCTP v2 prepaid FORWARD path. It receives the CCTP
679
+ * mint and calls the `DepositForHandler` to complete the fast deposit.
680
+ * Deployed at the same address across all mainnet EVM destination chains.
681
+ */ const GENERIC_EXECUTOR_EVM_MAINNET = '0xFa7be2f04F3Ad4ca969260729c6d45B5625984A7';
682
+ /**
683
+ * The `GenericExecutor` proxy contract address for EVM testnet networks.
684
+ *
685
+ * Identical across all testnet EVM destination chains.
686
+ */ const GENERIC_EXECUTOR_EVM_TESTNET = '0xEdC81040756AcCfF070c21D37b265b9D0b5Ba45e';
644
687
 
645
688
  /**
646
689
  * Arc Testnet chain definition
@@ -678,6 +721,7 @@ var EarnChain;
678
721
  v2: {
679
722
  type: 'split',
680
723
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
724
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
681
725
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
682
726
  confirmations: 1,
683
727
  fastConfirmations: 1
@@ -698,9 +742,8 @@ var EarnChain;
698
742
  v1: {
699
743
  wallet: GATEWAY_WALLET_EVM_TESTNET,
700
744
  minter: GATEWAY_MINTER_EVM_TESTNET,
701
- // DepositForHandler the GenericExecutor calls to run a fast cross-chain
702
- // deposit into the GatewayWallet above.
703
- depositForHandler: '0xD05E7D2E7d30b92c5F17d7d0fC575fce231F1A48'
745
+ depositForHandler: DEPOSIT_FOR_HANDLER_EVM_TESTNET,
746
+ genericExecutor: GENERIC_EXECUTOR_EVM_TESTNET
704
747
  }
705
748
  },
706
749
  forwarderSupported: {
@@ -745,6 +788,7 @@ var EarnChain;
745
788
  v2: {
746
789
  type: 'split',
747
790
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
791
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
748
792
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
749
793
  confirmations: 65,
750
794
  fastConfirmations: 1
@@ -809,6 +853,7 @@ var EarnChain;
809
853
  v2: {
810
854
  type: 'split',
811
855
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
856
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
812
857
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
813
858
  confirmations: 65,
814
859
  fastConfirmations: 1
@@ -873,6 +918,7 @@ var EarnChain;
873
918
  v2: {
874
919
  type: 'split',
875
920
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
921
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
876
922
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
877
923
  confirmations: 1,
878
924
  fastConfirmations: 1
@@ -892,7 +938,9 @@ var EarnChain;
892
938
  contracts: {
893
939
  v1: {
894
940
  wallet: GATEWAY_WALLET_EVM_MAINNET,
895
- minter: GATEWAY_MINTER_EVM_MAINNET
941
+ minter: GATEWAY_MINTER_EVM_MAINNET,
942
+ depositForHandler: DEPOSIT_FOR_HANDLER_EVM_MAINNET,
943
+ genericExecutor: GENERIC_EXECUTOR_EVM_MAINNET
896
944
  }
897
945
  },
898
946
  forwarderSupported: {
@@ -934,6 +982,7 @@ var EarnChain;
934
982
  v2: {
935
983
  type: 'split',
936
984
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
985
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
937
986
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
938
987
  confirmations: 1,
939
988
  fastConfirmations: 1
@@ -955,7 +1004,9 @@ var EarnChain;
955
1004
  contracts: {
956
1005
  v1: {
957
1006
  wallet: GATEWAY_WALLET_EVM_TESTNET,
958
- minter: GATEWAY_MINTER_EVM_TESTNET
1007
+ minter: GATEWAY_MINTER_EVM_TESTNET,
1008
+ depositForHandler: DEPOSIT_FOR_HANDLER_EVM_TESTNET,
1009
+ genericExecutor: GENERIC_EXECUTOR_EVM_TESTNET
959
1010
  }
960
1011
  },
961
1012
  forwarderSupported: {
@@ -1001,6 +1052,7 @@ var EarnChain;
1001
1052
  v2: {
1002
1053
  type: 'split',
1003
1054
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1055
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1004
1056
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1005
1057
  confirmations: 65,
1006
1058
  fastConfirmations: 1
@@ -1065,6 +1117,7 @@ var EarnChain;
1065
1117
  v2: {
1066
1118
  type: 'split',
1067
1119
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
1120
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1068
1121
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
1069
1122
  confirmations: 65,
1070
1123
  fastConfirmations: 1
@@ -1175,6 +1228,7 @@ var EarnChain;
1175
1228
  v2: {
1176
1229
  type: 'split',
1177
1230
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1231
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1178
1232
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1179
1233
  confirmations: 65,
1180
1234
  fastConfirmations: 1
@@ -1219,6 +1273,7 @@ var EarnChain;
1219
1273
  v2: {
1220
1274
  type: 'split',
1221
1275
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
1276
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1222
1277
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
1223
1278
  confirmations: 65,
1224
1279
  fastConfirmations: 1
@@ -1264,6 +1319,7 @@ var EarnChain;
1264
1319
  v2: {
1265
1320
  type: 'split',
1266
1321
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1322
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1267
1323
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1268
1324
  confirmations: 1,
1269
1325
  fastConfirmations: 1
@@ -1309,6 +1365,7 @@ var EarnChain;
1309
1365
  v2: {
1310
1366
  type: 'split',
1311
1367
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1368
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1312
1369
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1313
1370
  confirmations: 1,
1314
1371
  fastConfirmations: 1
@@ -1354,6 +1411,7 @@ var EarnChain;
1354
1411
  v2: {
1355
1412
  type: 'split',
1356
1413
  tokenMessenger: '0x98706A006bc632Df31CAdFCBD43F38887ce2ca5c',
1414
+ tokenMessengerWithFees: '0x3Ac96675F9a3E6922713e041645D82f3561d3686',
1357
1415
  messageTransmitter: '0x5b61381Fc9e58E70EfC13a4A97516997019198ee',
1358
1416
  confirmations: 65,
1359
1417
  fastConfirmations: 1
@@ -1399,6 +1457,7 @@ var EarnChain;
1399
1457
  v2: {
1400
1458
  type: 'split',
1401
1459
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1460
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1402
1461
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1403
1462
  confirmations: 65,
1404
1463
  fastConfirmations: 1
@@ -1450,6 +1509,7 @@ var EarnChain;
1450
1509
  v2: {
1451
1510
  type: 'split',
1452
1511
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1512
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1453
1513
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1454
1514
  confirmations: 65,
1455
1515
  fastConfirmations: 2
@@ -1514,6 +1574,7 @@ var EarnChain;
1514
1574
  v2: {
1515
1575
  type: 'split',
1516
1576
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
1577
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1517
1578
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
1518
1579
  confirmations: 65,
1519
1580
  fastConfirmations: 2
@@ -1624,6 +1685,7 @@ var EarnChain;
1624
1685
  v2: {
1625
1686
  type: 'split',
1626
1687
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1688
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1627
1689
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1628
1690
  confirmations: 1,
1629
1691
  fastConfirmations: 1
@@ -1683,6 +1745,7 @@ var EarnChain;
1683
1745
  v2: {
1684
1746
  type: 'split',
1685
1747
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1748
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1686
1749
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1687
1750
  confirmations: 1,
1688
1751
  fastConfirmations: 1
@@ -1743,6 +1806,7 @@ var EarnChain;
1743
1806
  v2: {
1744
1807
  type: 'split',
1745
1808
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1809
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1746
1810
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1747
1811
  confirmations: 1,
1748
1812
  fastConfirmations: 1
@@ -1790,6 +1854,7 @@ var EarnChain;
1790
1854
  v2: {
1791
1855
  type: 'split',
1792
1856
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1857
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1793
1858
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1794
1859
  confirmations: 1,
1795
1860
  fastConfirmations: 1
@@ -1837,6 +1902,7 @@ var EarnChain;
1837
1902
  v2: {
1838
1903
  type: 'split',
1839
1904
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1905
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1840
1906
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1841
1907
  confirmations: 65,
1842
1908
  fastConfirmations: 1
@@ -1884,6 +1950,7 @@ var EarnChain;
1884
1950
  v2: {
1885
1951
  type: 'split',
1886
1952
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1953
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1887
1954
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1888
1955
  confirmations: 65,
1889
1956
  fastConfirmations: 1
@@ -1928,6 +1995,7 @@ var EarnChain;
1928
1995
  v2: {
1929
1996
  type: 'split',
1930
1997
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1998
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1931
1999
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1932
2000
  confirmations: 1,
1933
2001
  fastConfirmations: 1
@@ -1973,6 +2041,7 @@ var EarnChain;
1973
2041
  v2: {
1974
2042
  type: 'split',
1975
2043
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
2044
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1976
2045
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
1977
2046
  confirmations: 1,
1978
2047
  fastConfirmations: 1
@@ -2019,6 +2088,7 @@ var EarnChain;
2019
2088
  v2: {
2020
2089
  type: 'split',
2021
2090
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2091
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2022
2092
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2023
2093
  confirmations: 1,
2024
2094
  fastConfirmations: 1
@@ -2066,6 +2136,7 @@ var EarnChain;
2066
2136
  v2: {
2067
2137
  type: 'split',
2068
2138
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2139
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2069
2140
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2070
2141
  confirmations: 1,
2071
2142
  fastConfirmations: 1
@@ -2111,6 +2182,7 @@ var EarnChain;
2111
2182
  v2: {
2112
2183
  type: 'split',
2113
2184
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2185
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2114
2186
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2115
2187
  confirmations: 64,
2116
2188
  fastConfirmations: 1
@@ -2156,6 +2228,7 @@ var EarnChain;
2156
2228
  v2: {
2157
2229
  type: 'split',
2158
2230
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2231
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2159
2232
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2160
2233
  confirmations: 64,
2161
2234
  fastConfirmations: 1
@@ -2332,6 +2405,7 @@ var EarnChain;
2332
2405
  v2: {
2333
2406
  type: 'split',
2334
2407
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2408
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2335
2409
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2336
2410
  confirmations: 65,
2337
2411
  fastConfirmations: 1
@@ -2396,6 +2470,7 @@ var EarnChain;
2396
2470
  v2: {
2397
2471
  type: 'split',
2398
2472
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
2473
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2399
2474
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
2400
2475
  confirmations: 65,
2401
2476
  fastConfirmations: 1
@@ -2455,6 +2530,7 @@ var EarnChain;
2455
2530
  v2: {
2456
2531
  type: 'split',
2457
2532
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2533
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2458
2534
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2459
2535
  confirmations: 1,
2460
2536
  fastConfirmations: 1
@@ -2501,6 +2577,7 @@ var EarnChain;
2501
2577
  v2: {
2502
2578
  type: 'split',
2503
2579
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2580
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2504
2581
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2505
2582
  confirmations: 1,
2506
2583
  fastConfirmations: 1
@@ -2516,6 +2593,98 @@ var EarnChain;
2516
2593
  }
2517
2594
  });
2518
2595
 
2596
+ /**
2597
+ * Plasma Mainnet chain definition
2598
+ * @remarks
2599
+ * This represents the official production network for the Plasma blockchain.
2600
+ * Plasma is an EVM-equivalent Layer 1 blockchain purpose-built for global
2601
+ * stablecoin payments, with deterministic BFT finality (PlasmaBFT/Fast-HotStuff).
2602
+ */ const Plasma = defineChain({
2603
+ type: 'evm',
2604
+ chain: Blockchain.Plasma,
2605
+ name: 'Plasma',
2606
+ title: 'Plasma Mainnet',
2607
+ nativeCurrency: {
2608
+ name: 'Plasma',
2609
+ symbol: 'XPL',
2610
+ decimals: 18
2611
+ },
2612
+ chainId: 9745,
2613
+ isTestnet: false,
2614
+ explorerUrl: 'https://plasmascan.to/tx/{hash}',
2615
+ rpcEndpoints: [
2616
+ 'https://rpc.plasma.to'
2617
+ ],
2618
+ eurcAddress: '0x3EE196E78d4d4248b849B8E1C7F44C5457FAFD2C',
2619
+ usdcAddress: '0x2d661C89D812261039AF9764eceaAee884f5F67F',
2620
+ usdtAddress: null,
2621
+ cctp: {
2622
+ domain: 33,
2623
+ contracts: {
2624
+ v2: {
2625
+ type: 'split',
2626
+ tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2627
+ messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2628
+ confirmations: 3,
2629
+ fastConfirmations: 1
2630
+ }
2631
+ },
2632
+ forwarderSupported: {
2633
+ source: false,
2634
+ destination: false
2635
+ }
2636
+ },
2637
+ kitContracts: {
2638
+ bridge: BRIDGE_CONTRACT_EVM_MAINNET
2639
+ }
2640
+ });
2641
+
2642
+ /**
2643
+ * Plasma Testnet chain definition
2644
+ * @remarks
2645
+ * This represents the official test network for the Plasma blockchain.
2646
+ * Plasma is an EVM-equivalent Layer 1 blockchain purpose-built for global
2647
+ * stablecoin payments, with deterministic BFT finality (PlasmaBFT/Fast-HotStuff).
2648
+ */ const PlasmaTestnet = defineChain({
2649
+ type: 'evm',
2650
+ chain: Blockchain.Plasma_Testnet,
2651
+ name: 'Plasma Testnet',
2652
+ title: 'Plasma Testnet',
2653
+ nativeCurrency: {
2654
+ name: 'Plasma',
2655
+ symbol: 'XPL',
2656
+ decimals: 18
2657
+ },
2658
+ chainId: 9746,
2659
+ isTestnet: true,
2660
+ explorerUrl: 'https://testnet.plasmascan.to/tx/{hash}',
2661
+ rpcEndpoints: [
2662
+ 'https://testnet-rpc.plasma.to'
2663
+ ],
2664
+ eurcAddress: '0x98AfA0F93Dd993B736399f9074eDcEBD1985A330',
2665
+ usdcAddress: '0xE67Fb267022cBA8064Dd388CC2FED724F3120D9D',
2666
+ usdtAddress: null,
2667
+ cctp: {
2668
+ domain: 33,
2669
+ contracts: {
2670
+ v2: {
2671
+ type: 'split',
2672
+ tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2673
+ messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2674
+ confirmations: 3,
2675
+ fastConfirmations: 1
2676
+ }
2677
+ },
2678
+ forwarderSupported: {
2679
+ source: false,
2680
+ destination: false
2681
+ }
2682
+ },
2683
+ kitContracts: {
2684
+ bridge: BRIDGE_CONTRACT_EVM_TESTNET
2685
+ }
2686
+ });
2687
+
2519
2688
  /**
2520
2689
  * Plume Mainnet chain definition
2521
2690
  * @remarks
@@ -2547,6 +2716,7 @@ var EarnChain;
2547
2716
  v2: {
2548
2717
  type: 'split',
2549
2718
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2719
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2550
2720
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2551
2721
  confirmations: 65,
2552
2722
  fastConfirmations: 1
@@ -2593,6 +2763,7 @@ var EarnChain;
2593
2763
  v2: {
2594
2764
  type: 'split',
2595
2765
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2766
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2596
2767
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2597
2768
  confirmations: 65,
2598
2769
  fastConfirmations: 1
@@ -2694,6 +2865,7 @@ var EarnChain;
2694
2865
  v2: {
2695
2866
  type: 'split',
2696
2867
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2868
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2697
2869
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2698
2870
  confirmations: 33,
2699
2871
  fastConfirmations: 13
@@ -2713,7 +2885,9 @@ var EarnChain;
2713
2885
  contracts: {
2714
2886
  v1: {
2715
2887
  wallet: GATEWAY_WALLET_EVM_MAINNET,
2716
- minter: GATEWAY_MINTER_EVM_MAINNET
2888
+ minter: GATEWAY_MINTER_EVM_MAINNET,
2889
+ depositForHandler: DEPOSIT_FOR_HANDLER_EVM_MAINNET,
2890
+ genericExecutor: GENERIC_EXECUTOR_EVM_MAINNET
2717
2891
  }
2718
2892
  },
2719
2893
  forwarderSupported: {
@@ -2759,6 +2933,7 @@ var EarnChain;
2759
2933
  v2: {
2760
2934
  type: 'split',
2761
2935
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2936
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2762
2937
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2763
2938
  confirmations: 33,
2764
2939
  fastConfirmations: 13
@@ -2777,7 +2952,9 @@ var EarnChain;
2777
2952
  contracts: {
2778
2953
  v1: {
2779
2954
  wallet: GATEWAY_WALLET_EVM_TESTNET,
2780
- minter: GATEWAY_MINTER_EVM_TESTNET
2955
+ minter: GATEWAY_MINTER_EVM_TESTNET,
2956
+ depositForHandler: DEPOSIT_FOR_HANDLER_EVM_TESTNET,
2957
+ genericExecutor: GENERIC_EXECUTOR_EVM_TESTNET
2781
2958
  }
2782
2959
  },
2783
2960
  forwarderSupported: {
@@ -2818,6 +2995,7 @@ var EarnChain;
2818
2995
  v2: {
2819
2996
  type: 'split',
2820
2997
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2998
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2821
2999
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2822
3000
  confirmations: 1,
2823
3001
  fastConfirmations: 1
@@ -2877,6 +3055,7 @@ var EarnChain;
2877
3055
  v2: {
2878
3056
  type: 'split',
2879
3057
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
3058
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2880
3059
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2881
3060
  confirmations: 1,
2882
3061
  fastConfirmations: 1
@@ -2934,6 +3113,7 @@ var EarnChain;
2934
3113
  v2: {
2935
3114
  type: 'split',
2936
3115
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
3116
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2937
3117
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2938
3118
  confirmations: 1,
2939
3119
  fastConfirmations: 1
@@ -2992,6 +3172,7 @@ var EarnChain;
2992
3172
  v2: {
2993
3173
  type: 'split',
2994
3174
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
3175
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2995
3176
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2996
3177
  confirmations: 1,
2997
3178
  fastConfirmations: 1
@@ -3307,6 +3488,7 @@ var EarnChain;
3307
3488
  v2: {
3308
3489
  type: 'split',
3309
3490
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
3491
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
3310
3492
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
3311
3493
  confirmations: 65,
3312
3494
  fastConfirmations: 1
@@ -3371,6 +3553,7 @@ var EarnChain;
3371
3553
  v2: {
3372
3554
  type: 'split',
3373
3555
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
3556
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
3374
3557
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
3375
3558
  confirmations: 65,
3376
3559
  fastConfirmations: 1
@@ -3428,6 +3611,7 @@ var EarnChain;
3428
3611
  v2: {
3429
3612
  type: 'split',
3430
3613
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cF5d',
3614
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
3431
3615
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
3432
3616
  confirmations: 65,
3433
3617
  fastConfirmations: 1
@@ -3487,6 +3671,7 @@ var EarnChain;
3487
3671
  v2: {
3488
3672
  type: 'split',
3489
3673
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
3674
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
3490
3675
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
3491
3676
  confirmations: 65,
3492
3677
  fastConfirmations: 1
@@ -3547,6 +3732,7 @@ var EarnChain;
3547
3732
  v2: {
3548
3733
  type: 'split',
3549
3734
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
3735
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
3550
3736
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
3551
3737
  confirmations: 3,
3552
3738
  fastConfirmations: 3
@@ -3592,6 +3778,7 @@ var EarnChain;
3592
3778
  v2: {
3593
3779
  type: 'split',
3594
3780
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
3781
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
3595
3782
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
3596
3783
  confirmations: 3,
3597
3784
  fastConfirmations: 1
@@ -3757,6 +3944,67 @@ var EarnChain;
3757
3944
  cctp: null
3758
3945
  });
3759
3946
 
3947
+ /**
3948
+ * Chains the Fee Service accepts as a SOURCE for source-paid ("receive-exact")
3949
+ * CCTP v2 fees. An explicit allowlist is required because the
3950
+ * `TokenMessengerWithFees` wrapper address is now shared with the fast-deposit
3951
+ * forwarder path, so wrapper presence no longer implies source-fee support.
3952
+ * Keep in sync with backend coverage.
3953
+ */ new Set([
3954
+ // Mainnet
3955
+ Blockchain.Ethereum,
3956
+ Blockchain.Base,
3957
+ Blockchain.Arbitrum,
3958
+ Blockchain.Unichain,
3959
+ Blockchain.Optimism,
3960
+ Blockchain.Codex,
3961
+ Blockchain.Ink,
3962
+ Blockchain.Plume,
3963
+ Blockchain.Linea,
3964
+ Blockchain.World_Chain,
3965
+ // Testnet counterparts
3966
+ Blockchain.Ethereum_Sepolia,
3967
+ Blockchain.Base_Sepolia,
3968
+ Blockchain.Arbitrum_Sepolia,
3969
+ Blockchain.Unichain_Sepolia,
3970
+ Blockchain.Optimism_Sepolia,
3971
+ Blockchain.Codex_Testnet,
3972
+ Blockchain.Ink_Testnet,
3973
+ Blockchain.Plume_Testnet,
3974
+ Blockchain.Linea_Sepolia,
3975
+ Blockchain.World_Chain_Sepolia
3976
+ ]);
3977
+
3978
+ /**
3979
+ * Temporary allowlist of chains permitted to initiate Gateway fast deposits.
3980
+ * Only chains keyed here are eligible; all others are rejected. Using the
3981
+ * {@link Blockchain} enum keeps entries type-safe and catches typos at compile
3982
+ * time. Remove this allowlist once roll-out is complete.
3983
+ */ new Set([
3984
+ // Mainnet
3985
+ Blockchain.Ethereum,
3986
+ Blockchain.Base,
3987
+ Blockchain.Arbitrum,
3988
+ Blockchain.Unichain,
3989
+ Blockchain.Optimism,
3990
+ Blockchain.Codex,
3991
+ Blockchain.Ink,
3992
+ Blockchain.Plume,
3993
+ Blockchain.Linea,
3994
+ Blockchain.World_Chain,
3995
+ // Testnet counterparts
3996
+ Blockchain.Ethereum_Sepolia,
3997
+ Blockchain.Base_Sepolia,
3998
+ Blockchain.Arbitrum_Sepolia,
3999
+ Blockchain.Unichain_Sepolia,
4000
+ Blockchain.Optimism_Sepolia,
4001
+ Blockchain.Codex_Testnet,
4002
+ Blockchain.Ink_Testnet,
4003
+ Blockchain.Plume_Testnet,
4004
+ Blockchain.Linea_Sepolia,
4005
+ Blockchain.World_Chain_Sepolia
4006
+ ]);
4007
+
3760
4008
  /**
3761
4009
  * Zod schema for validating Gateway v1 contract addresses.
3762
4010
  *
@@ -3778,7 +4026,10 @@ var EarnChain;
3778
4026
  }).min(1, 'Gateway minter address cannot be empty.'),
3779
4027
  depositForHandler: z.string({
3780
4028
  invalid_type_error: 'Gateway depositForHandler address must be a string.'
3781
- }).min(1, 'Gateway depositForHandler address cannot be empty.').optional()
4029
+ }).min(1, 'Gateway depositForHandler address cannot be empty.').optional(),
4030
+ genericExecutor: z.string({
4031
+ invalid_type_error: 'Gateway genericExecutor address must be a string.'
4032
+ }).min(1, 'Gateway genericExecutor address cannot be empty.').optional()
3782
4033
  }).strict() // Reject any additional properties not defined in the schema
3783
4034
  ;
3784
4035
  /**
@@ -4172,5 +4423,5 @@ const swapTokenEnumSchema = z.enum([
4172
4423
  * ```
4173
4424
  */ z.string().transform((value)=>value.toUpperCase()).pipe(swapTokenEnumSchema);
4174
4425
 
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 };
4426
+ 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
4427
  //# sourceMappingURL=chains.mjs.map