@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.cjs CHANGED
@@ -102,6 +102,8 @@ var zod = require('zod');
102
102
  Blockchain["Optimism_Sepolia"] = "Optimism_Sepolia";
103
103
  Blockchain["Pharos"] = "Pharos";
104
104
  Blockchain["Pharos_Testnet"] = "Pharos_Testnet";
105
+ Blockchain["Plasma"] = "Plasma";
106
+ Blockchain["Plasma_Testnet"] = "Plasma_Testnet";
105
107
  Blockchain["Polkadot_Asset_Hub"] = "Polkadot_Asset_Hub";
106
108
  Blockchain["Polkadot_Westmint"] = "Polkadot_Westmint";
107
109
  Blockchain["Plume"] = "Plume";
@@ -171,6 +173,7 @@ var BridgeChain;
171
173
  BridgeChain["Morph"] = "Morph";
172
174
  BridgeChain["Optimism"] = "Optimism";
173
175
  BridgeChain["Pharos"] = "Pharos";
176
+ BridgeChain["Plasma"] = "Plasma";
174
177
  BridgeChain["Plume"] = "Plume";
175
178
  BridgeChain["Polygon"] = "Polygon";
176
179
  BridgeChain["Sei"] = "Sei";
@@ -197,6 +200,7 @@ var BridgeChain;
197
200
  BridgeChain["Morph_Testnet"] = "Morph_Testnet";
198
201
  BridgeChain["Optimism_Sepolia"] = "Optimism_Sepolia";
199
202
  BridgeChain["Pharos_Testnet"] = "Pharos_Testnet";
203
+ BridgeChain["Plasma_Testnet"] = "Plasma_Testnet";
200
204
  BridgeChain["Plume_Testnet"] = "Plume_Testnet";
201
205
  BridgeChain["Polygon_Amoy_Testnet"] = "Polygon_Amoy_Testnet";
202
206
  BridgeChain["Sei_Testnet"] = "Sei_Testnet";
@@ -643,6 +647,45 @@ var EarnChain;
643
647
  * This program handles minting operations for Gateway transactions
644
648
  * on Solana devnet.
645
649
  */ const GATEWAY_MINTER_SOLANA_DEVNET = 'GATEmKK2ECL1brEngQZWCgMWPbvrEYqsV6u29dAaHavr';
650
+ /**
651
+ * The `TokenMessengerWithFees` proxy contract address for EVM mainnet networks
652
+ * (all chains except Edge).
653
+ *
654
+ * Deployed at a CREATE3-derived address; identical across all mainnet EVM
655
+ * source chains. Present on any chain that supports the prepaid FORWARD path
656
+ * via `depositForBurnWithHookAndFees`.
657
+ */ const TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET = '0x71f54F818671cD0D7ea140Da213e5C8b5C92a408';
658
+ /**
659
+ * The `TokenMessengerWithFees` proxy contract address for EVM testnet networks.
660
+ *
661
+ * Identical across all testnet EVM source chains. Present on any testnet chain
662
+ * that supports the prepaid FORWARD path via `depositForBurnWithHookAndFees`.
663
+ */ const TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET = '0x8745D906D67C346E5eb1aEEED38Eb87F34DF0C0A';
664
+ /**
665
+ * The `DepositForHandler` proxy contract address for EVM mainnet networks.
666
+ *
667
+ * The handler the GenericExecutor calls on a fast-deposit destination chain to
668
+ * run a cross-chain deposit into the GatewayWallet. Deployed at the same
669
+ * address across all mainnet EVM destination chains.
670
+ */ const DEPOSIT_FOR_HANDLER_EVM_MAINNET = '0x16529813203f77E036576666336554a1210dce4D';
671
+ /**
672
+ * The `DepositForHandler` proxy contract address for EVM testnet networks.
673
+ *
674
+ * Identical across all testnet EVM destination chains.
675
+ */ const DEPOSIT_FOR_HANDLER_EVM_TESTNET = '0xD05E7D2E7d30b92c5F17d7d0fC575fce231F1A48';
676
+ /**
677
+ * The `GenericExecutor` proxy contract address for EVM mainnet networks.
678
+ *
679
+ * The GenericExecutor is the `mintRecipient` and `destinationCaller` on the
680
+ * destination chain for the CCTP v2 prepaid FORWARD path. It receives the CCTP
681
+ * mint and calls the `DepositForHandler` to complete the fast deposit.
682
+ * Deployed at the same address across all mainnet EVM destination chains.
683
+ */ const GENERIC_EXECUTOR_EVM_MAINNET = '0xFa7be2f04F3Ad4ca969260729c6d45B5625984A7';
684
+ /**
685
+ * The `GenericExecutor` proxy contract address for EVM testnet networks.
686
+ *
687
+ * Identical across all testnet EVM destination chains.
688
+ */ const GENERIC_EXECUTOR_EVM_TESTNET = '0xEdC81040756AcCfF070c21D37b265b9D0b5Ba45e';
646
689
 
647
690
  /**
648
691
  * Arc Testnet chain definition
@@ -680,6 +723,7 @@ var EarnChain;
680
723
  v2: {
681
724
  type: 'split',
682
725
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
726
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
683
727
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
684
728
  confirmations: 1,
685
729
  fastConfirmations: 1
@@ -700,9 +744,8 @@ var EarnChain;
700
744
  v1: {
701
745
  wallet: GATEWAY_WALLET_EVM_TESTNET,
702
746
  minter: GATEWAY_MINTER_EVM_TESTNET,
703
- // DepositForHandler the GenericExecutor calls to run a fast cross-chain
704
- // deposit into the GatewayWallet above.
705
- depositForHandler: '0xD05E7D2E7d30b92c5F17d7d0fC575fce231F1A48'
747
+ depositForHandler: DEPOSIT_FOR_HANDLER_EVM_TESTNET,
748
+ genericExecutor: GENERIC_EXECUTOR_EVM_TESTNET
706
749
  }
707
750
  },
708
751
  forwarderSupported: {
@@ -747,6 +790,7 @@ var EarnChain;
747
790
  v2: {
748
791
  type: 'split',
749
792
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
793
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
750
794
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
751
795
  confirmations: 65,
752
796
  fastConfirmations: 1
@@ -811,6 +855,7 @@ var EarnChain;
811
855
  v2: {
812
856
  type: 'split',
813
857
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
858
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
814
859
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
815
860
  confirmations: 65,
816
861
  fastConfirmations: 1
@@ -875,6 +920,7 @@ var EarnChain;
875
920
  v2: {
876
921
  type: 'split',
877
922
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
923
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
878
924
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
879
925
  confirmations: 1,
880
926
  fastConfirmations: 1
@@ -894,7 +940,9 @@ var EarnChain;
894
940
  contracts: {
895
941
  v1: {
896
942
  wallet: GATEWAY_WALLET_EVM_MAINNET,
897
- minter: GATEWAY_MINTER_EVM_MAINNET
943
+ minter: GATEWAY_MINTER_EVM_MAINNET,
944
+ depositForHandler: DEPOSIT_FOR_HANDLER_EVM_MAINNET,
945
+ genericExecutor: GENERIC_EXECUTOR_EVM_MAINNET
898
946
  }
899
947
  },
900
948
  forwarderSupported: {
@@ -936,6 +984,7 @@ var EarnChain;
936
984
  v2: {
937
985
  type: 'split',
938
986
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
987
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
939
988
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
940
989
  confirmations: 1,
941
990
  fastConfirmations: 1
@@ -957,7 +1006,9 @@ var EarnChain;
957
1006
  contracts: {
958
1007
  v1: {
959
1008
  wallet: GATEWAY_WALLET_EVM_TESTNET,
960
- minter: GATEWAY_MINTER_EVM_TESTNET
1009
+ minter: GATEWAY_MINTER_EVM_TESTNET,
1010
+ depositForHandler: DEPOSIT_FOR_HANDLER_EVM_TESTNET,
1011
+ genericExecutor: GENERIC_EXECUTOR_EVM_TESTNET
961
1012
  }
962
1013
  },
963
1014
  forwarderSupported: {
@@ -1003,6 +1054,7 @@ var EarnChain;
1003
1054
  v2: {
1004
1055
  type: 'split',
1005
1056
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1057
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1006
1058
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1007
1059
  confirmations: 65,
1008
1060
  fastConfirmations: 1
@@ -1067,6 +1119,7 @@ var EarnChain;
1067
1119
  v2: {
1068
1120
  type: 'split',
1069
1121
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
1122
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1070
1123
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
1071
1124
  confirmations: 65,
1072
1125
  fastConfirmations: 1
@@ -1177,6 +1230,7 @@ var EarnChain;
1177
1230
  v2: {
1178
1231
  type: 'split',
1179
1232
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1233
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1180
1234
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1181
1235
  confirmations: 65,
1182
1236
  fastConfirmations: 1
@@ -1221,6 +1275,7 @@ var EarnChain;
1221
1275
  v2: {
1222
1276
  type: 'split',
1223
1277
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
1278
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1224
1279
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
1225
1280
  confirmations: 65,
1226
1281
  fastConfirmations: 1
@@ -1266,6 +1321,7 @@ var EarnChain;
1266
1321
  v2: {
1267
1322
  type: 'split',
1268
1323
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1324
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1269
1325
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1270
1326
  confirmations: 1,
1271
1327
  fastConfirmations: 1
@@ -1311,6 +1367,7 @@ var EarnChain;
1311
1367
  v2: {
1312
1368
  type: 'split',
1313
1369
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1370
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1314
1371
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1315
1372
  confirmations: 1,
1316
1373
  fastConfirmations: 1
@@ -1356,6 +1413,7 @@ var EarnChain;
1356
1413
  v2: {
1357
1414
  type: 'split',
1358
1415
  tokenMessenger: '0x98706A006bc632Df31CAdFCBD43F38887ce2ca5c',
1416
+ tokenMessengerWithFees: '0x3Ac96675F9a3E6922713e041645D82f3561d3686',
1359
1417
  messageTransmitter: '0x5b61381Fc9e58E70EfC13a4A97516997019198ee',
1360
1418
  confirmations: 65,
1361
1419
  fastConfirmations: 1
@@ -1401,6 +1459,7 @@ var EarnChain;
1401
1459
  v2: {
1402
1460
  type: 'split',
1403
1461
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1462
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1404
1463
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1405
1464
  confirmations: 65,
1406
1465
  fastConfirmations: 1
@@ -1452,6 +1511,7 @@ var EarnChain;
1452
1511
  v2: {
1453
1512
  type: 'split',
1454
1513
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1514
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1455
1515
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1456
1516
  confirmations: 65,
1457
1517
  fastConfirmations: 2
@@ -1516,6 +1576,7 @@ var EarnChain;
1516
1576
  v2: {
1517
1577
  type: 'split',
1518
1578
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
1579
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1519
1580
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
1520
1581
  confirmations: 65,
1521
1582
  fastConfirmations: 2
@@ -1626,6 +1687,7 @@ var EarnChain;
1626
1687
  v2: {
1627
1688
  type: 'split',
1628
1689
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1690
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1629
1691
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1630
1692
  confirmations: 1,
1631
1693
  fastConfirmations: 1
@@ -1685,6 +1747,7 @@ var EarnChain;
1685
1747
  v2: {
1686
1748
  type: 'split',
1687
1749
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1750
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1688
1751
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1689
1752
  confirmations: 1,
1690
1753
  fastConfirmations: 1
@@ -1745,6 +1808,7 @@ var EarnChain;
1745
1808
  v2: {
1746
1809
  type: 'split',
1747
1810
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1811
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1748
1812
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1749
1813
  confirmations: 1,
1750
1814
  fastConfirmations: 1
@@ -1792,6 +1856,7 @@ var EarnChain;
1792
1856
  v2: {
1793
1857
  type: 'split',
1794
1858
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1859
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1795
1860
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1796
1861
  confirmations: 1,
1797
1862
  fastConfirmations: 1
@@ -1839,6 +1904,7 @@ var EarnChain;
1839
1904
  v2: {
1840
1905
  type: 'split',
1841
1906
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1907
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1842
1908
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1843
1909
  confirmations: 65,
1844
1910
  fastConfirmations: 1
@@ -1886,6 +1952,7 @@ var EarnChain;
1886
1952
  v2: {
1887
1953
  type: 'split',
1888
1954
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1955
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1889
1956
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1890
1957
  confirmations: 65,
1891
1958
  fastConfirmations: 1
@@ -1930,6 +1997,7 @@ var EarnChain;
1930
1997
  v2: {
1931
1998
  type: 'split',
1932
1999
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2000
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
1933
2001
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1934
2002
  confirmations: 1,
1935
2003
  fastConfirmations: 1
@@ -1975,6 +2043,7 @@ var EarnChain;
1975
2043
  v2: {
1976
2044
  type: 'split',
1977
2045
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
2046
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1978
2047
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
1979
2048
  confirmations: 1,
1980
2049
  fastConfirmations: 1
@@ -2021,6 +2090,7 @@ var EarnChain;
2021
2090
  v2: {
2022
2091
  type: 'split',
2023
2092
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2093
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2024
2094
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2025
2095
  confirmations: 1,
2026
2096
  fastConfirmations: 1
@@ -2068,6 +2138,7 @@ var EarnChain;
2068
2138
  v2: {
2069
2139
  type: 'split',
2070
2140
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2141
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2071
2142
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2072
2143
  confirmations: 1,
2073
2144
  fastConfirmations: 1
@@ -2113,6 +2184,7 @@ var EarnChain;
2113
2184
  v2: {
2114
2185
  type: 'split',
2115
2186
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2187
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2116
2188
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2117
2189
  confirmations: 64,
2118
2190
  fastConfirmations: 1
@@ -2158,6 +2230,7 @@ var EarnChain;
2158
2230
  v2: {
2159
2231
  type: 'split',
2160
2232
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2233
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2161
2234
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2162
2235
  confirmations: 64,
2163
2236
  fastConfirmations: 1
@@ -2334,6 +2407,7 @@ var EarnChain;
2334
2407
  v2: {
2335
2408
  type: 'split',
2336
2409
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2410
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2337
2411
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2338
2412
  confirmations: 65,
2339
2413
  fastConfirmations: 1
@@ -2398,6 +2472,7 @@ var EarnChain;
2398
2472
  v2: {
2399
2473
  type: 'split',
2400
2474
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
2475
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2401
2476
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
2402
2477
  confirmations: 65,
2403
2478
  fastConfirmations: 1
@@ -2457,6 +2532,7 @@ var EarnChain;
2457
2532
  v2: {
2458
2533
  type: 'split',
2459
2534
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2535
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2460
2536
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2461
2537
  confirmations: 1,
2462
2538
  fastConfirmations: 1
@@ -2503,6 +2579,7 @@ var EarnChain;
2503
2579
  v2: {
2504
2580
  type: 'split',
2505
2581
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2582
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2506
2583
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2507
2584
  confirmations: 1,
2508
2585
  fastConfirmations: 1
@@ -2518,6 +2595,98 @@ var EarnChain;
2518
2595
  }
2519
2596
  });
2520
2597
 
2598
+ /**
2599
+ * Plasma Mainnet chain definition
2600
+ * @remarks
2601
+ * This represents the official production network for the Plasma blockchain.
2602
+ * Plasma is an EVM-equivalent Layer 1 blockchain purpose-built for global
2603
+ * stablecoin payments, with deterministic BFT finality (PlasmaBFT/Fast-HotStuff).
2604
+ */ const Plasma = defineChain({
2605
+ type: 'evm',
2606
+ chain: Blockchain.Plasma,
2607
+ name: 'Plasma',
2608
+ title: 'Plasma Mainnet',
2609
+ nativeCurrency: {
2610
+ name: 'Plasma',
2611
+ symbol: 'XPL',
2612
+ decimals: 18
2613
+ },
2614
+ chainId: 9745,
2615
+ isTestnet: false,
2616
+ explorerUrl: 'https://plasmascan.to/tx/{hash}',
2617
+ rpcEndpoints: [
2618
+ 'https://rpc.plasma.to'
2619
+ ],
2620
+ eurcAddress: '0x3EE196E78d4d4248b849B8E1C7F44C5457FAFD2C',
2621
+ usdcAddress: '0x2d661C89D812261039AF9764eceaAee884f5F67F',
2622
+ usdtAddress: null,
2623
+ cctp: {
2624
+ domain: 33,
2625
+ contracts: {
2626
+ v2: {
2627
+ type: 'split',
2628
+ tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2629
+ messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2630
+ confirmations: 3,
2631
+ fastConfirmations: 1
2632
+ }
2633
+ },
2634
+ forwarderSupported: {
2635
+ source: false,
2636
+ destination: false
2637
+ }
2638
+ },
2639
+ kitContracts: {
2640
+ bridge: BRIDGE_CONTRACT_EVM_MAINNET
2641
+ }
2642
+ });
2643
+
2644
+ /**
2645
+ * Plasma Testnet chain definition
2646
+ * @remarks
2647
+ * This represents the official test network for the Plasma blockchain.
2648
+ * Plasma is an EVM-equivalent Layer 1 blockchain purpose-built for global
2649
+ * stablecoin payments, with deterministic BFT finality (PlasmaBFT/Fast-HotStuff).
2650
+ */ const PlasmaTestnet = defineChain({
2651
+ type: 'evm',
2652
+ chain: Blockchain.Plasma_Testnet,
2653
+ name: 'Plasma Testnet',
2654
+ title: 'Plasma Testnet',
2655
+ nativeCurrency: {
2656
+ name: 'Plasma',
2657
+ symbol: 'XPL',
2658
+ decimals: 18
2659
+ },
2660
+ chainId: 9746,
2661
+ isTestnet: true,
2662
+ explorerUrl: 'https://testnet.plasmascan.to/tx/{hash}',
2663
+ rpcEndpoints: [
2664
+ 'https://testnet-rpc.plasma.to'
2665
+ ],
2666
+ eurcAddress: '0x98AfA0F93Dd993B736399f9074eDcEBD1985A330',
2667
+ usdcAddress: '0xE67Fb267022cBA8064Dd388CC2FED724F3120D9D',
2668
+ usdtAddress: null,
2669
+ cctp: {
2670
+ domain: 33,
2671
+ contracts: {
2672
+ v2: {
2673
+ type: 'split',
2674
+ tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2675
+ messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2676
+ confirmations: 3,
2677
+ fastConfirmations: 1
2678
+ }
2679
+ },
2680
+ forwarderSupported: {
2681
+ source: false,
2682
+ destination: false
2683
+ }
2684
+ },
2685
+ kitContracts: {
2686
+ bridge: BRIDGE_CONTRACT_EVM_TESTNET
2687
+ }
2688
+ });
2689
+
2521
2690
  /**
2522
2691
  * Plume Mainnet chain definition
2523
2692
  * @remarks
@@ -2549,6 +2718,7 @@ var EarnChain;
2549
2718
  v2: {
2550
2719
  type: 'split',
2551
2720
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2721
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2552
2722
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2553
2723
  confirmations: 65,
2554
2724
  fastConfirmations: 1
@@ -2595,6 +2765,7 @@ var EarnChain;
2595
2765
  v2: {
2596
2766
  type: 'split',
2597
2767
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2768
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2598
2769
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2599
2770
  confirmations: 65,
2600
2771
  fastConfirmations: 1
@@ -2696,6 +2867,7 @@ var EarnChain;
2696
2867
  v2: {
2697
2868
  type: 'split',
2698
2869
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
2870
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2699
2871
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2700
2872
  confirmations: 33,
2701
2873
  fastConfirmations: 13
@@ -2715,7 +2887,9 @@ var EarnChain;
2715
2887
  contracts: {
2716
2888
  v1: {
2717
2889
  wallet: GATEWAY_WALLET_EVM_MAINNET,
2718
- minter: GATEWAY_MINTER_EVM_MAINNET
2890
+ minter: GATEWAY_MINTER_EVM_MAINNET,
2891
+ depositForHandler: DEPOSIT_FOR_HANDLER_EVM_MAINNET,
2892
+ genericExecutor: GENERIC_EXECUTOR_EVM_MAINNET
2719
2893
  }
2720
2894
  },
2721
2895
  forwarderSupported: {
@@ -2761,6 +2935,7 @@ var EarnChain;
2761
2935
  v2: {
2762
2936
  type: 'split',
2763
2937
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
2938
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2764
2939
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2765
2940
  confirmations: 33,
2766
2941
  fastConfirmations: 13
@@ -2779,7 +2954,9 @@ var EarnChain;
2779
2954
  contracts: {
2780
2955
  v1: {
2781
2956
  wallet: GATEWAY_WALLET_EVM_TESTNET,
2782
- minter: GATEWAY_MINTER_EVM_TESTNET
2957
+ minter: GATEWAY_MINTER_EVM_TESTNET,
2958
+ depositForHandler: DEPOSIT_FOR_HANDLER_EVM_TESTNET,
2959
+ genericExecutor: GENERIC_EXECUTOR_EVM_TESTNET
2783
2960
  }
2784
2961
  },
2785
2962
  forwarderSupported: {
@@ -2820,6 +2997,7 @@ var EarnChain;
2820
2997
  v2: {
2821
2998
  type: 'split',
2822
2999
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
3000
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2823
3001
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2824
3002
  confirmations: 1,
2825
3003
  fastConfirmations: 1
@@ -2879,6 +3057,7 @@ var EarnChain;
2879
3057
  v2: {
2880
3058
  type: 'split',
2881
3059
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
3060
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2882
3061
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2883
3062
  confirmations: 1,
2884
3063
  fastConfirmations: 1
@@ -2936,6 +3115,7 @@ var EarnChain;
2936
3115
  v2: {
2937
3116
  type: 'split',
2938
3117
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
3118
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
2939
3119
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
2940
3120
  confirmations: 1,
2941
3121
  fastConfirmations: 1
@@ -2994,6 +3174,7 @@ var EarnChain;
2994
3174
  v2: {
2995
3175
  type: 'split',
2996
3176
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
3177
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
2997
3178
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
2998
3179
  confirmations: 1,
2999
3180
  fastConfirmations: 1
@@ -3309,6 +3490,7 @@ var EarnChain;
3309
3490
  v2: {
3310
3491
  type: 'split',
3311
3492
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
3493
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
3312
3494
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
3313
3495
  confirmations: 65,
3314
3496
  fastConfirmations: 1
@@ -3373,6 +3555,7 @@ var EarnChain;
3373
3555
  v2: {
3374
3556
  type: 'split',
3375
3557
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
3558
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
3376
3559
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
3377
3560
  confirmations: 65,
3378
3561
  fastConfirmations: 1
@@ -3430,6 +3613,7 @@ var EarnChain;
3430
3613
  v2: {
3431
3614
  type: 'split',
3432
3615
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cF5d',
3616
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
3433
3617
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
3434
3618
  confirmations: 65,
3435
3619
  fastConfirmations: 1
@@ -3489,6 +3673,7 @@ var EarnChain;
3489
3673
  v2: {
3490
3674
  type: 'split',
3491
3675
  tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
3676
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
3492
3677
  messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
3493
3678
  confirmations: 65,
3494
3679
  fastConfirmations: 1
@@ -3549,6 +3734,7 @@ var EarnChain;
3549
3734
  v2: {
3550
3735
  type: 'split',
3551
3736
  tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
3737
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
3552
3738
  messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
3553
3739
  confirmations: 3,
3554
3740
  fastConfirmations: 3
@@ -3594,6 +3780,7 @@ var EarnChain;
3594
3780
  v2: {
3595
3781
  type: 'split',
3596
3782
  tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
3783
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
3597
3784
  messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
3598
3785
  confirmations: 3,
3599
3786
  fastConfirmations: 1
@@ -3759,6 +3946,67 @@ var EarnChain;
3759
3946
  cctp: null
3760
3947
  });
3761
3948
 
3949
+ /**
3950
+ * Chains the Fee Service accepts as a SOURCE for source-paid ("receive-exact")
3951
+ * CCTP v2 fees. An explicit allowlist is required because the
3952
+ * `TokenMessengerWithFees` wrapper address is now shared with the fast-deposit
3953
+ * forwarder path, so wrapper presence no longer implies source-fee support.
3954
+ * Keep in sync with backend coverage.
3955
+ */ new Set([
3956
+ // Mainnet
3957
+ Blockchain.Ethereum,
3958
+ Blockchain.Base,
3959
+ Blockchain.Arbitrum,
3960
+ Blockchain.Unichain,
3961
+ Blockchain.Optimism,
3962
+ Blockchain.Codex,
3963
+ Blockchain.Ink,
3964
+ Blockchain.Plume,
3965
+ Blockchain.Linea,
3966
+ Blockchain.World_Chain,
3967
+ // Testnet counterparts
3968
+ Blockchain.Ethereum_Sepolia,
3969
+ Blockchain.Base_Sepolia,
3970
+ Blockchain.Arbitrum_Sepolia,
3971
+ Blockchain.Unichain_Sepolia,
3972
+ Blockchain.Optimism_Sepolia,
3973
+ Blockchain.Codex_Testnet,
3974
+ Blockchain.Ink_Testnet,
3975
+ Blockchain.Plume_Testnet,
3976
+ Blockchain.Linea_Sepolia,
3977
+ Blockchain.World_Chain_Sepolia
3978
+ ]);
3979
+
3980
+ /**
3981
+ * Temporary allowlist of chains permitted to initiate Gateway fast deposits.
3982
+ * Only chains keyed here are eligible; all others are rejected. Using the
3983
+ * {@link Blockchain} enum keeps entries type-safe and catches typos at compile
3984
+ * time. Remove this allowlist once roll-out is complete.
3985
+ */ new Set([
3986
+ // Mainnet
3987
+ Blockchain.Ethereum,
3988
+ Blockchain.Base,
3989
+ Blockchain.Arbitrum,
3990
+ Blockchain.Unichain,
3991
+ Blockchain.Optimism,
3992
+ Blockchain.Codex,
3993
+ Blockchain.Ink,
3994
+ Blockchain.Plume,
3995
+ Blockchain.Linea,
3996
+ Blockchain.World_Chain,
3997
+ // Testnet counterparts
3998
+ Blockchain.Ethereum_Sepolia,
3999
+ Blockchain.Base_Sepolia,
4000
+ Blockchain.Arbitrum_Sepolia,
4001
+ Blockchain.Unichain_Sepolia,
4002
+ Blockchain.Optimism_Sepolia,
4003
+ Blockchain.Codex_Testnet,
4004
+ Blockchain.Ink_Testnet,
4005
+ Blockchain.Plume_Testnet,
4006
+ Blockchain.Linea_Sepolia,
4007
+ Blockchain.World_Chain_Sepolia
4008
+ ]);
4009
+
3762
4010
  /**
3763
4011
  * Zod schema for validating Gateway v1 contract addresses.
3764
4012
  *
@@ -3780,7 +4028,10 @@ var EarnChain;
3780
4028
  }).min(1, 'Gateway minter address cannot be empty.'),
3781
4029
  depositForHandler: zod.z.string({
3782
4030
  invalid_type_error: 'Gateway depositForHandler address must be a string.'
3783
- }).min(1, 'Gateway depositForHandler address cannot be empty.').optional()
4031
+ }).min(1, 'Gateway depositForHandler address cannot be empty.').optional(),
4032
+ genericExecutor: zod.z.string({
4033
+ invalid_type_error: 'Gateway genericExecutor address must be a string.'
4034
+ }).min(1, 'Gateway genericExecutor address cannot be empty.').optional()
3784
4035
  }).strict() // Reject any additional properties not defined in the schema
3785
4036
  ;
3786
4037
  /**
@@ -4193,6 +4444,8 @@ exports.Linea = Linea;
4193
4444
  exports.LineaSepolia = LineaSepolia;
4194
4445
  exports.Optimism = Optimism;
4195
4446
  exports.OptimismSepolia = OptimismSepolia;
4447
+ exports.Plasma = Plasma;
4448
+ exports.PlasmaTestnet = PlasmaTestnet;
4196
4449
  exports.Plume = Plume;
4197
4450
  exports.PlumeTestnet = PlumeTestnet;
4198
4451
  exports.Polygon = Polygon;