@circle-fin/app-kit 1.13.0 → 1.15.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/CHANGELOG.md +122 -0
- package/README.md +3 -3
- package/bridge.cjs +8388 -515
- package/bridge.d.cts +640 -61
- package/bridge.d.mts +640 -61
- package/bridge.d.ts +640 -61
- package/bridge.mjs +8389 -516
- package/chains.cjs +275 -15
- package/chains.d.cts +117 -2
- package/chains.d.mts +117 -2
- package/chains.d.ts +117 -2
- package/chains.mjs +275 -16
- package/context.d.cts +577 -57
- package/context.d.mts +577 -57
- package/context.d.ts +577 -57
- package/earn.cjs +973 -271
- package/earn.d.cts +577 -57
- package/earn.d.mts +577 -57
- package/earn.d.ts +577 -57
- package/earn.mjs +919 -221
- package/estimateBridge.cjs +8388 -518
- package/estimateBridge.d.cts +704 -82
- package/estimateBridge.d.mts +704 -82
- package/estimateBridge.d.ts +704 -82
- package/estimateBridge.mjs +8390 -520
- package/estimateSwap.cjs +982 -237
- package/estimateSwap.d.cts +577 -57
- package/estimateSwap.d.mts +577 -57
- package/estimateSwap.d.ts +577 -57
- package/estimateSwap.mjs +981 -237
- package/index.cjs +21401 -8522
- package/index.d.cts +6045 -2149
- package/index.d.mts +6045 -2149
- package/index.d.ts +6045 -2149
- package/index.mjs +21401 -8524
- package/package.json +17 -6
- package/server.cjs +10040 -0
- package/server.cjs.map +1 -0
- package/server.d.cts +2467 -0
- package/server.d.mts +2467 -0
- package/server.d.ts +2467 -0
- package/server.mjs +10028 -0
- package/server.mjs.map +1 -0
- package/swap.cjs +982 -237
- package/swap.d.cts +577 -57
- package/swap.d.mts +577 -57
- package/swap.d.ts +577 -57
- package/swap.mjs +981 -237
- package/unifiedBalance.cjs +20510 -7599
- package/unifiedBalance.d.cts +807 -201
- package/unifiedBalance.d.mts +807 -201
- package/unifiedBalance.d.ts +807 -201
- package/unifiedBalance.mjs +20513 -7603
package/chains.cjs
CHANGED
|
@@ -63,9 +63,10 @@ var zod = require('zod');
|
|
|
63
63
|
Blockchain["Algorand_Testnet"] = "Algorand_Testnet";
|
|
64
64
|
Blockchain["Aptos"] = "Aptos";
|
|
65
65
|
Blockchain["Aptos_Testnet"] = "Aptos_Testnet";
|
|
66
|
-
Blockchain["Arc_Testnet"] = "Arc_Testnet";
|
|
67
66
|
Blockchain["Arbitrum"] = "Arbitrum";
|
|
68
67
|
Blockchain["Arbitrum_Sepolia"] = "Arbitrum_Sepolia";
|
|
68
|
+
Blockchain["Arc"] = "Arc";
|
|
69
|
+
Blockchain["Arc_Testnet"] = "Arc_Testnet";
|
|
69
70
|
Blockchain["Avalanche"] = "Avalanche";
|
|
70
71
|
Blockchain["Avalanche_Fuji"] = "Avalanche_Fuji";
|
|
71
72
|
Blockchain["Base"] = "Base";
|
|
@@ -152,6 +153,7 @@ var SwapChain;
|
|
|
152
153
|
SwapChain["XDC"] = "XDC";
|
|
153
154
|
SwapChain["HyperEVM"] = "HyperEVM";
|
|
154
155
|
SwapChain["Monad"] = "Monad";
|
|
156
|
+
SwapChain["Arc"] = "Arc";
|
|
155
157
|
// Testnet chains with swap support
|
|
156
158
|
SwapChain["Arc_Testnet"] = "Arc_Testnet";
|
|
157
159
|
})(SwapChain || (SwapChain = {}));
|
|
@@ -159,6 +161,7 @@ var BridgeChain;
|
|
|
159
161
|
(function(BridgeChain) {
|
|
160
162
|
// Mainnet chains with CCTPv2 support
|
|
161
163
|
BridgeChain["Arbitrum"] = "Arbitrum";
|
|
164
|
+
BridgeChain["Arc"] = "Arc";
|
|
162
165
|
BridgeChain["Avalanche"] = "Avalanche";
|
|
163
166
|
BridgeChain["Base"] = "Base";
|
|
164
167
|
BridgeChain["Codex"] = "Codex";
|
|
@@ -214,6 +217,7 @@ var BridgeChain;
|
|
|
214
217
|
var UnifiedBalanceChain;
|
|
215
218
|
(function(UnifiedBalanceChain) {
|
|
216
219
|
// Mainnet chains with Gateway V1 support
|
|
220
|
+
UnifiedBalanceChain["Arc"] = "Arc";
|
|
217
221
|
UnifiedBalanceChain["Arbitrum"] = "Arbitrum";
|
|
218
222
|
UnifiedBalanceChain["Avalanche"] = "Avalanche";
|
|
219
223
|
UnifiedBalanceChain["Base"] = "Base";
|
|
@@ -243,6 +247,7 @@ var UnifiedBalanceChain;
|
|
|
243
247
|
})(UnifiedBalanceChain || (UnifiedBalanceChain = {}));
|
|
244
248
|
var EarnChain;
|
|
245
249
|
(function(EarnChain) {
|
|
250
|
+
EarnChain["Arc"] = "Arc";
|
|
246
251
|
EarnChain["Arc_Testnet"] = "Arc_Testnet";
|
|
247
252
|
})(EarnChain || (EarnChain = {}));
|
|
248
253
|
/**
|
|
@@ -259,8 +264,11 @@ var EarnChain;
|
|
|
259
264
|
* console.log(EARN_BRIDGE_SOURCE_BLOCKCHAINS.join(', '))
|
|
260
265
|
* ```
|
|
261
266
|
*/ const EARN_BRIDGE_SOURCE_BLOCKCHAINS = [
|
|
267
|
+
"Arbitrum",
|
|
262
268
|
"Arbitrum_Sepolia",
|
|
269
|
+
"Base",
|
|
263
270
|
"Base_Sepolia",
|
|
271
|
+
"Ethereum",
|
|
264
272
|
"Ethereum_Sepolia"
|
|
265
273
|
];
|
|
266
274
|
/**
|
|
@@ -274,6 +282,7 @@ var EarnChain;
|
|
|
274
282
|
* console.log(EARN_BRIDGE_DESTINATION_BLOCKCHAINS.join(', '))
|
|
275
283
|
* ```
|
|
276
284
|
*/ const EARN_BRIDGE_DESTINATION_BLOCKCHAINS = [
|
|
285
|
+
"Arc",
|
|
277
286
|
"Arc_Testnet"
|
|
278
287
|
];
|
|
279
288
|
|
|
@@ -579,6 +588,25 @@ var EarnChain;
|
|
|
579
588
|
* EVM-compatible chains. Use this address when deploying or testing
|
|
580
589
|
* cross-chain USDC transfers on test networks.
|
|
581
590
|
*/ const BRIDGE_CONTRACT_EVM_TESTNET = '0xC5567a5E3370d4DBfB0540025078e283e36A363d';
|
|
591
|
+
/**
|
|
592
|
+
* The CrossChainTokenService (CCTPx) service address for EVM testnet networks.
|
|
593
|
+
*
|
|
594
|
+
* This service coordinates CCTPx cross-chain token operations on testnet
|
|
595
|
+
* environments and is shared by every EVM test network CCTPx supports. Read the
|
|
596
|
+
* chain definitions via `isCCTPXSupported` rather than trusting a list here,
|
|
597
|
+
* which goes stale as deployments land.
|
|
598
|
+
*/ const CCTPX_SERVICE_ADDRESS_EVM_TESTNET = '0x63753E722bd2C2A5DF6EE19C5106662208B81077';
|
|
599
|
+
/**
|
|
600
|
+
* CrossChainTokenService (CCTS) proxy address for CCTPx on EVM **mainnet**.
|
|
601
|
+
*
|
|
602
|
+
* @remarks
|
|
603
|
+
* A distinct deployment from {@link CCTPX_SERVICE_ADDRESS_EVM_TESTNET}, shared
|
|
604
|
+
* by every EVM mainnet chain that CCTPx supports. A chain becomes
|
|
605
|
+
* CCTPx-eligible only once its definition carries this as
|
|
606
|
+
* `cctpx.serviceAddress`, and a route additionally needs both of its endpoints
|
|
607
|
+
* eligible — so adding a chain here is the deliberate, reviewable step that
|
|
608
|
+
* opens mainnet CCTPx for it.
|
|
609
|
+
*/ const CCTPX_SERVICE_ADDRESS_EVM_MAINNET = '0x431871229103b780868f8C6BB820cd16ECf942BC';
|
|
582
610
|
/**
|
|
583
611
|
* The bridge contract address for EVM mainnet networks.
|
|
584
612
|
*
|
|
@@ -647,8 +675,115 @@ var EarnChain;
|
|
|
647
675
|
* This program handles minting operations for Gateway transactions
|
|
648
676
|
* on Solana devnet.
|
|
649
677
|
*/ const GATEWAY_MINTER_SOLANA_DEVNET = 'GATEmKK2ECL1brEngQZWCgMWPbvrEYqsV6u29dAaHavr';
|
|
650
|
-
/**
|
|
651
|
-
|
|
678
|
+
/**
|
|
679
|
+
* The `TokenMessengerWithFees` proxy contract address for EVM mainnet networks
|
|
680
|
+
* (all chains except Edge).
|
|
681
|
+
*
|
|
682
|
+
* Deployed at a CREATE3-derived address; identical across all mainnet EVM
|
|
683
|
+
* source chains. Present on any chain that supports the prepaid FORWARD path
|
|
684
|
+
* via `depositForBurnWithHookAndFees`.
|
|
685
|
+
*/ const TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET = '0x71f54F818671cD0D7ea140Da213e5C8b5C92a408';
|
|
686
|
+
/**
|
|
687
|
+
* The `TokenMessengerWithFees` proxy contract address for EVM testnet networks.
|
|
688
|
+
*
|
|
689
|
+
* Identical across all testnet EVM source chains. Present on any testnet chain
|
|
690
|
+
* that supports the prepaid FORWARD path via `depositForBurnWithHookAndFees`.
|
|
691
|
+
*/ const TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET = '0x8745D906D67C346E5eb1aEEED38Eb87F34DF0C0A';
|
|
692
|
+
/**
|
|
693
|
+
* The `DepositForHandler` proxy contract address for EVM mainnet networks.
|
|
694
|
+
*
|
|
695
|
+
* The handler the GenericExecutor calls on a fast-deposit destination chain to
|
|
696
|
+
* run a cross-chain deposit into the GatewayWallet. Deployed at the same
|
|
697
|
+
* address across all mainnet EVM destination chains.
|
|
698
|
+
*/ const DEPOSIT_FOR_HANDLER_EVM_MAINNET = '0x16529813203f77E036576666336554a1210dce4D';
|
|
699
|
+
/**
|
|
700
|
+
* The `DepositForHandler` proxy contract address for EVM testnet networks.
|
|
701
|
+
*
|
|
702
|
+
* Identical across all testnet EVM destination chains.
|
|
703
|
+
*/ const DEPOSIT_FOR_HANDLER_EVM_TESTNET = '0xD05E7D2E7d30b92c5F17d7d0fC575fce231F1A48';
|
|
704
|
+
/**
|
|
705
|
+
* The `GenericExecutor` proxy contract address for EVM mainnet networks.
|
|
706
|
+
*
|
|
707
|
+
* The GenericExecutor is the `mintRecipient` and `destinationCaller` on the
|
|
708
|
+
* destination chain for the CCTP v2 prepaid FORWARD path. It receives the CCTP
|
|
709
|
+
* mint and calls the `DepositForHandler` to complete the fast deposit.
|
|
710
|
+
* Deployed at the same address across all mainnet EVM destination chains.
|
|
711
|
+
*/ const GENERIC_EXECUTOR_EVM_MAINNET = '0xFa7be2f04F3Ad4ca969260729c6d45B5625984A7';
|
|
712
|
+
/**
|
|
713
|
+
* The `GenericExecutor` proxy contract address for EVM testnet networks.
|
|
714
|
+
*
|
|
715
|
+
* Identical across all testnet EVM destination chains.
|
|
716
|
+
*/ const GENERIC_EXECUTOR_EVM_TESTNET = '0xEdC81040756AcCfF070c21D37b265b9D0b5Ba45e';
|
|
717
|
+
|
|
718
|
+
/**
|
|
719
|
+
* Arc Mainnet chain definition
|
|
720
|
+
* @remarks
|
|
721
|
+
* This represents the official production network for the Arc blockchain,
|
|
722
|
+
* Circle's EVM-compatible Layer-1 designed for stablecoin finance
|
|
723
|
+
* and asset tokenization. Arc uses USDC as the native gas token and
|
|
724
|
+
* features the Malachite Byzantine Fault Tolerant (BFT) consensus
|
|
725
|
+
* engine for sub-second finality.
|
|
726
|
+
*/ const Arc = defineChain({
|
|
727
|
+
type: 'evm',
|
|
728
|
+
chain: Blockchain.Arc,
|
|
729
|
+
name: 'Arc',
|
|
730
|
+
title: 'Arc Mainnet',
|
|
731
|
+
nativeCurrency: {
|
|
732
|
+
name: 'USDC',
|
|
733
|
+
symbol: 'USDC',
|
|
734
|
+
// Arc uses native USDC with 18 decimals for gas payments (EVM standard).
|
|
735
|
+
// Note: The ERC-20 USDC contract at usdcAddress uses 6 decimals.
|
|
736
|
+
// See: https://docs.arc.network/arc/references/contract-addresses
|
|
737
|
+
decimals: 18
|
|
738
|
+
},
|
|
739
|
+
chainId: 5042,
|
|
740
|
+
isTestnet: false,
|
|
741
|
+
explorerUrl: 'https://explorer.arc.io/tx/{hash}',
|
|
742
|
+
rpcEndpoints: [
|
|
743
|
+
'https://rpc.mainnet.arc.io/'
|
|
744
|
+
],
|
|
745
|
+
eurcAddress: '0xbEf5f6d51CB62b58e6A8f77868681825C6fe21c1',
|
|
746
|
+
usdcAddress: '0x3600000000000000000000000000000000000000',
|
|
747
|
+
usdtAddress: null,
|
|
748
|
+
cctp: {
|
|
749
|
+
domain: 26,
|
|
750
|
+
contracts: {
|
|
751
|
+
v2: {
|
|
752
|
+
type: 'split',
|
|
753
|
+
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
754
|
+
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
755
|
+
confirmations: 1,
|
|
756
|
+
fastConfirmations: 1
|
|
757
|
+
}
|
|
758
|
+
},
|
|
759
|
+
forwarderSupported: {
|
|
760
|
+
source: false,
|
|
761
|
+
destination: true
|
|
762
|
+
}
|
|
763
|
+
},
|
|
764
|
+
cctpx: {
|
|
765
|
+
serviceAddress: CCTPX_SERVICE_ADDRESS_EVM_MAINNET
|
|
766
|
+
},
|
|
767
|
+
kitContracts: {
|
|
768
|
+
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
769
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
770
|
+
},
|
|
771
|
+
gateway: {
|
|
772
|
+
domain: 26,
|
|
773
|
+
contracts: {
|
|
774
|
+
v1: {
|
|
775
|
+
wallet: GATEWAY_WALLET_EVM_MAINNET,
|
|
776
|
+
minter: GATEWAY_MINTER_EVM_MAINNET,
|
|
777
|
+
depositForHandler: DEPOSIT_FOR_HANDLER_EVM_MAINNET,
|
|
778
|
+
genericExecutor: GENERIC_EXECUTOR_EVM_MAINNET
|
|
779
|
+
}
|
|
780
|
+
},
|
|
781
|
+
forwarderSupported: {
|
|
782
|
+
source: true,
|
|
783
|
+
destination: true
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
});
|
|
652
787
|
|
|
653
788
|
/**
|
|
654
789
|
* Arc Testnet chain definition
|
|
@@ -697,6 +832,9 @@ var EarnChain;
|
|
|
697
832
|
destination: true
|
|
698
833
|
}
|
|
699
834
|
},
|
|
835
|
+
cctpx: {
|
|
836
|
+
serviceAddress: CCTPX_SERVICE_ADDRESS_EVM_TESTNET
|
|
837
|
+
},
|
|
700
838
|
kitContracts: {
|
|
701
839
|
bridge: BRIDGE_CONTRACT_EVM_TESTNET,
|
|
702
840
|
adapter: ADAPTER_CONTRACT_EVM_TESTNET
|
|
@@ -707,9 +845,8 @@ var EarnChain;
|
|
|
707
845
|
v1: {
|
|
708
846
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
709
847
|
minter: GATEWAY_MINTER_EVM_TESTNET,
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
depositForHandler: '0xD05E7D2E7d30b92c5F17d7d0fC575fce231F1A48'
|
|
848
|
+
depositForHandler: DEPOSIT_FOR_HANDLER_EVM_TESTNET,
|
|
849
|
+
genericExecutor: GENERIC_EXECUTOR_EVM_TESTNET
|
|
713
850
|
}
|
|
714
851
|
},
|
|
715
852
|
forwarderSupported: {
|
|
@@ -765,6 +902,9 @@ var EarnChain;
|
|
|
765
902
|
destination: true
|
|
766
903
|
}
|
|
767
904
|
},
|
|
905
|
+
cctpx: {
|
|
906
|
+
serviceAddress: CCTPX_SERVICE_ADDRESS_EVM_MAINNET
|
|
907
|
+
},
|
|
768
908
|
kitContracts: {
|
|
769
909
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
770
910
|
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
@@ -830,6 +970,9 @@ var EarnChain;
|
|
|
830
970
|
destination: true
|
|
831
971
|
}
|
|
832
972
|
},
|
|
973
|
+
cctpx: {
|
|
974
|
+
serviceAddress: CCTPX_SERVICE_ADDRESS_EVM_TESTNET
|
|
975
|
+
},
|
|
833
976
|
kitContracts: {
|
|
834
977
|
bridge: BRIDGE_CONTRACT_EVM_TESTNET,
|
|
835
978
|
adapter: ADAPTER_CONTRACT_EVM_TESTNET
|
|
@@ -895,6 +1038,9 @@ var EarnChain;
|
|
|
895
1038
|
destination: true
|
|
896
1039
|
}
|
|
897
1040
|
},
|
|
1041
|
+
cctpx: {
|
|
1042
|
+
serviceAddress: CCTPX_SERVICE_ADDRESS_EVM_MAINNET
|
|
1043
|
+
},
|
|
898
1044
|
kitContracts: {
|
|
899
1045
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
900
1046
|
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
@@ -904,7 +1050,9 @@ var EarnChain;
|
|
|
904
1050
|
contracts: {
|
|
905
1051
|
v1: {
|
|
906
1052
|
wallet: GATEWAY_WALLET_EVM_MAINNET,
|
|
907
|
-
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
1053
|
+
minter: GATEWAY_MINTER_EVM_MAINNET,
|
|
1054
|
+
depositForHandler: DEPOSIT_FOR_HANDLER_EVM_MAINNET,
|
|
1055
|
+
genericExecutor: GENERIC_EXECUTOR_EVM_MAINNET
|
|
908
1056
|
}
|
|
909
1057
|
},
|
|
910
1058
|
forwarderSupported: {
|
|
@@ -960,6 +1108,9 @@ var EarnChain;
|
|
|
960
1108
|
rpcEndpoints: [
|
|
961
1109
|
'https://api.avax-test.network/ext/bc/C/rpc'
|
|
962
1110
|
],
|
|
1111
|
+
cctpx: {
|
|
1112
|
+
serviceAddress: CCTPX_SERVICE_ADDRESS_EVM_TESTNET
|
|
1113
|
+
},
|
|
963
1114
|
kitContracts: {
|
|
964
1115
|
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
965
1116
|
},
|
|
@@ -968,7 +1119,9 @@ var EarnChain;
|
|
|
968
1119
|
contracts: {
|
|
969
1120
|
v1: {
|
|
970
1121
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
971
|
-
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
1122
|
+
minter: GATEWAY_MINTER_EVM_TESTNET,
|
|
1123
|
+
depositForHandler: DEPOSIT_FOR_HANDLER_EVM_TESTNET,
|
|
1124
|
+
genericExecutor: GENERIC_EXECUTOR_EVM_TESTNET
|
|
972
1125
|
}
|
|
973
1126
|
},
|
|
974
1127
|
forwarderSupported: {
|
|
@@ -1025,6 +1178,9 @@ var EarnChain;
|
|
|
1025
1178
|
destination: true
|
|
1026
1179
|
}
|
|
1027
1180
|
},
|
|
1181
|
+
cctpx: {
|
|
1182
|
+
serviceAddress: CCTPX_SERVICE_ADDRESS_EVM_MAINNET
|
|
1183
|
+
},
|
|
1028
1184
|
kitContracts: {
|
|
1029
1185
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
1030
1186
|
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
@@ -1090,6 +1246,9 @@ var EarnChain;
|
|
|
1090
1246
|
destination: true
|
|
1091
1247
|
}
|
|
1092
1248
|
},
|
|
1249
|
+
cctpx: {
|
|
1250
|
+
serviceAddress: CCTPX_SERVICE_ADDRESS_EVM_TESTNET
|
|
1251
|
+
},
|
|
1093
1252
|
kitContracts: {
|
|
1094
1253
|
bridge: BRIDGE_CONTRACT_EVM_TESTNET,
|
|
1095
1254
|
adapter: ADAPTER_CONTRACT_EVM_TESTNET
|
|
@@ -1281,6 +1440,7 @@ var EarnChain;
|
|
|
1281
1440
|
v2: {
|
|
1282
1441
|
type: 'split',
|
|
1283
1442
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
1443
|
+
tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
|
|
1284
1444
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
1285
1445
|
confirmations: 1,
|
|
1286
1446
|
fastConfirmations: 1
|
|
@@ -1326,6 +1486,7 @@ var EarnChain;
|
|
|
1326
1486
|
v2: {
|
|
1327
1487
|
type: 'split',
|
|
1328
1488
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
1489
|
+
tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
|
|
1329
1490
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
1330
1491
|
confirmations: 1,
|
|
1331
1492
|
fastConfirmations: 1
|
|
@@ -1371,6 +1532,7 @@ var EarnChain;
|
|
|
1371
1532
|
v2: {
|
|
1372
1533
|
type: 'split',
|
|
1373
1534
|
tokenMessenger: '0x98706A006bc632Df31CAdFCBD43F38887ce2ca5c',
|
|
1535
|
+
tokenMessengerWithFees: '0x3Ac96675F9a3E6922713e041645D82f3561d3686',
|
|
1374
1536
|
messageTransmitter: '0x5b61381Fc9e58E70EfC13a4A97516997019198ee',
|
|
1375
1537
|
confirmations: 65,
|
|
1376
1538
|
fastConfirmations: 1
|
|
@@ -1416,6 +1578,7 @@ var EarnChain;
|
|
|
1416
1578
|
v2: {
|
|
1417
1579
|
type: 'split',
|
|
1418
1580
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
1581
|
+
tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
|
|
1419
1582
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
1420
1583
|
confirmations: 65,
|
|
1421
1584
|
fastConfirmations: 1
|
|
@@ -1478,6 +1641,9 @@ var EarnChain;
|
|
|
1478
1641
|
destination: true
|
|
1479
1642
|
}
|
|
1480
1643
|
},
|
|
1644
|
+
cctpx: {
|
|
1645
|
+
serviceAddress: CCTPX_SERVICE_ADDRESS_EVM_MAINNET
|
|
1646
|
+
},
|
|
1481
1647
|
kitContracts: {
|
|
1482
1648
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
1483
1649
|
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
@@ -1543,6 +1709,9 @@ var EarnChain;
|
|
|
1543
1709
|
destination: true
|
|
1544
1710
|
}
|
|
1545
1711
|
},
|
|
1712
|
+
cctpx: {
|
|
1713
|
+
serviceAddress: CCTPX_SERVICE_ADDRESS_EVM_TESTNET
|
|
1714
|
+
},
|
|
1546
1715
|
kitContracts: {
|
|
1547
1716
|
bridge: BRIDGE_CONTRACT_EVM_TESTNET,
|
|
1548
1717
|
adapter: ADAPTER_CONTRACT_EVM_TESTNET
|
|
@@ -1764,6 +1933,7 @@ var EarnChain;
|
|
|
1764
1933
|
v2: {
|
|
1765
1934
|
type: 'split',
|
|
1766
1935
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
1936
|
+
tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
|
|
1767
1937
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
1768
1938
|
confirmations: 1,
|
|
1769
1939
|
fastConfirmations: 1
|
|
@@ -1811,6 +1981,7 @@ var EarnChain;
|
|
|
1811
1981
|
v2: {
|
|
1812
1982
|
type: 'split',
|
|
1813
1983
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
1984
|
+
tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
|
|
1814
1985
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
1815
1986
|
confirmations: 1,
|
|
1816
1987
|
fastConfirmations: 1
|
|
@@ -2092,6 +2263,7 @@ var EarnChain;
|
|
|
2092
2263
|
v2: {
|
|
2093
2264
|
type: 'split',
|
|
2094
2265
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
2266
|
+
tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
|
|
2095
2267
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
2096
2268
|
confirmations: 1,
|
|
2097
2269
|
fastConfirmations: 1
|
|
@@ -2137,6 +2309,7 @@ var EarnChain;
|
|
|
2137
2309
|
v2: {
|
|
2138
2310
|
type: 'split',
|
|
2139
2311
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
2312
|
+
tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
|
|
2140
2313
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
2141
2314
|
confirmations: 64,
|
|
2142
2315
|
fastConfirmations: 1
|
|
@@ -2182,6 +2355,7 @@ var EarnChain;
|
|
|
2182
2355
|
v2: {
|
|
2183
2356
|
type: 'split',
|
|
2184
2357
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
2358
|
+
tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
|
|
2185
2359
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
2186
2360
|
confirmations: 64,
|
|
2187
2361
|
fastConfirmations: 1
|
|
@@ -2369,6 +2543,9 @@ var EarnChain;
|
|
|
2369
2543
|
destination: true
|
|
2370
2544
|
}
|
|
2371
2545
|
},
|
|
2546
|
+
cctpx: {
|
|
2547
|
+
serviceAddress: CCTPX_SERVICE_ADDRESS_EVM_MAINNET
|
|
2548
|
+
},
|
|
2372
2549
|
kitContracts: {
|
|
2373
2550
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
2374
2551
|
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
@@ -2434,6 +2611,9 @@ var EarnChain;
|
|
|
2434
2611
|
destination: true
|
|
2435
2612
|
}
|
|
2436
2613
|
},
|
|
2614
|
+
cctpx: {
|
|
2615
|
+
serviceAddress: CCTPX_SERVICE_ADDRESS_EVM_TESTNET
|
|
2616
|
+
},
|
|
2437
2617
|
kitContracts: {
|
|
2438
2618
|
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2439
2619
|
},
|
|
@@ -2483,6 +2663,7 @@ var EarnChain;
|
|
|
2483
2663
|
v2: {
|
|
2484
2664
|
type: 'split',
|
|
2485
2665
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
2666
|
+
tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
|
|
2486
2667
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
2487
2668
|
confirmations: 1,
|
|
2488
2669
|
fastConfirmations: 1
|
|
@@ -2529,6 +2710,7 @@ var EarnChain;
|
|
|
2529
2710
|
v2: {
|
|
2530
2711
|
type: 'split',
|
|
2531
2712
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
2713
|
+
tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
|
|
2532
2714
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
2533
2715
|
confirmations: 1,
|
|
2534
2716
|
fastConfirmations: 1
|
|
@@ -2827,6 +3009,9 @@ var EarnChain;
|
|
|
2827
3009
|
destination: true
|
|
2828
3010
|
}
|
|
2829
3011
|
},
|
|
3012
|
+
cctpx: {
|
|
3013
|
+
serviceAddress: CCTPX_SERVICE_ADDRESS_EVM_MAINNET
|
|
3014
|
+
},
|
|
2830
3015
|
kitContracts: {
|
|
2831
3016
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
2832
3017
|
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
@@ -2836,7 +3021,9 @@ var EarnChain;
|
|
|
2836
3021
|
contracts: {
|
|
2837
3022
|
v1: {
|
|
2838
3023
|
wallet: GATEWAY_WALLET_EVM_MAINNET,
|
|
2839
|
-
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
3024
|
+
minter: GATEWAY_MINTER_EVM_MAINNET,
|
|
3025
|
+
depositForHandler: DEPOSIT_FOR_HANDLER_EVM_MAINNET,
|
|
3026
|
+
genericExecutor: GENERIC_EXECUTOR_EVM_MAINNET
|
|
2840
3027
|
}
|
|
2841
3028
|
},
|
|
2842
3029
|
forwarderSupported: {
|
|
@@ -2893,6 +3080,9 @@ var EarnChain;
|
|
|
2893
3080
|
destination: true
|
|
2894
3081
|
}
|
|
2895
3082
|
},
|
|
3083
|
+
cctpx: {
|
|
3084
|
+
serviceAddress: CCTPX_SERVICE_ADDRESS_EVM_TESTNET
|
|
3085
|
+
},
|
|
2896
3086
|
kitContracts: {
|
|
2897
3087
|
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2898
3088
|
},
|
|
@@ -2901,7 +3091,9 @@ var EarnChain;
|
|
|
2901
3091
|
contracts: {
|
|
2902
3092
|
v1: {
|
|
2903
3093
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
2904
|
-
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
3094
|
+
minter: GATEWAY_MINTER_EVM_TESTNET,
|
|
3095
|
+
depositForHandler: DEPOSIT_FOR_HANDLER_EVM_TESTNET,
|
|
3096
|
+
genericExecutor: GENERIC_EXECUTOR_EVM_TESTNET
|
|
2905
3097
|
}
|
|
2906
3098
|
},
|
|
2907
3099
|
forwarderSupported: {
|
|
@@ -3891,6 +4083,67 @@ var EarnChain;
|
|
|
3891
4083
|
cctp: null
|
|
3892
4084
|
});
|
|
3893
4085
|
|
|
4086
|
+
/**
|
|
4087
|
+
* Chains the Fee Service accepts as a SOURCE for source-paid ("receive-exact")
|
|
4088
|
+
* CCTP v2 fees. An explicit allowlist is required because the
|
|
4089
|
+
* `TokenMessengerWithFees` wrapper address is now shared with the fast-deposit
|
|
4090
|
+
* forwarder path, so wrapper presence no longer implies source-fee support.
|
|
4091
|
+
* Keep in sync with backend coverage.
|
|
4092
|
+
*/ new Set([
|
|
4093
|
+
// Mainnet
|
|
4094
|
+
Blockchain.Ethereum,
|
|
4095
|
+
Blockchain.Base,
|
|
4096
|
+
Blockchain.Arbitrum,
|
|
4097
|
+
Blockchain.Unichain,
|
|
4098
|
+
Blockchain.Optimism,
|
|
4099
|
+
Blockchain.Codex,
|
|
4100
|
+
Blockchain.Ink,
|
|
4101
|
+
Blockchain.Plume,
|
|
4102
|
+
Blockchain.Linea,
|
|
4103
|
+
Blockchain.World_Chain,
|
|
4104
|
+
// Testnet counterparts
|
|
4105
|
+
Blockchain.Ethereum_Sepolia,
|
|
4106
|
+
Blockchain.Base_Sepolia,
|
|
4107
|
+
Blockchain.Arbitrum_Sepolia,
|
|
4108
|
+
Blockchain.Unichain_Sepolia,
|
|
4109
|
+
Blockchain.Optimism_Sepolia,
|
|
4110
|
+
Blockchain.Codex_Testnet,
|
|
4111
|
+
Blockchain.Ink_Testnet,
|
|
4112
|
+
Blockchain.Plume_Testnet,
|
|
4113
|
+
Blockchain.Linea_Sepolia,
|
|
4114
|
+
Blockchain.World_Chain_Sepolia
|
|
4115
|
+
]);
|
|
4116
|
+
|
|
4117
|
+
/**
|
|
4118
|
+
* Temporary allowlist of chains permitted to initiate Gateway fast deposits.
|
|
4119
|
+
* Only chains keyed here are eligible; all others are rejected. Using the
|
|
4120
|
+
* {@link Blockchain} enum keeps entries type-safe and catches typos at compile
|
|
4121
|
+
* time. Remove this allowlist once roll-out is complete.
|
|
4122
|
+
*/ new Set([
|
|
4123
|
+
// Mainnet
|
|
4124
|
+
Blockchain.Ethereum,
|
|
4125
|
+
Blockchain.Base,
|
|
4126
|
+
Blockchain.Arbitrum,
|
|
4127
|
+
Blockchain.Unichain,
|
|
4128
|
+
Blockchain.Optimism,
|
|
4129
|
+
Blockchain.Codex,
|
|
4130
|
+
Blockchain.Ink,
|
|
4131
|
+
Blockchain.Plume,
|
|
4132
|
+
Blockchain.Linea,
|
|
4133
|
+
Blockchain.World_Chain,
|
|
4134
|
+
// Testnet counterparts
|
|
4135
|
+
Blockchain.Ethereum_Sepolia,
|
|
4136
|
+
Blockchain.Base_Sepolia,
|
|
4137
|
+
Blockchain.Arbitrum_Sepolia,
|
|
4138
|
+
Blockchain.Unichain_Sepolia,
|
|
4139
|
+
Blockchain.Optimism_Sepolia,
|
|
4140
|
+
Blockchain.Codex_Testnet,
|
|
4141
|
+
Blockchain.Ink_Testnet,
|
|
4142
|
+
Blockchain.Plume_Testnet,
|
|
4143
|
+
Blockchain.Linea_Sepolia,
|
|
4144
|
+
Blockchain.World_Chain_Sepolia
|
|
4145
|
+
]);
|
|
4146
|
+
|
|
3894
4147
|
/**
|
|
3895
4148
|
* Zod schema for validating Gateway v1 contract addresses.
|
|
3896
4149
|
*
|
|
@@ -3912,7 +4165,10 @@ var EarnChain;
|
|
|
3912
4165
|
}).min(1, 'Gateway minter address cannot be empty.'),
|
|
3913
4166
|
depositForHandler: zod.z.string({
|
|
3914
4167
|
invalid_type_error: 'Gateway depositForHandler address must be a string.'
|
|
3915
|
-
}).min(1, 'Gateway depositForHandler address cannot be empty.').optional()
|
|
4168
|
+
}).min(1, 'Gateway depositForHandler address cannot be empty.').optional(),
|
|
4169
|
+
genericExecutor: zod.z.string({
|
|
4170
|
+
invalid_type_error: 'Gateway genericExecutor address must be a string.'
|
|
4171
|
+
}).min(1, 'Gateway genericExecutor address cannot be empty.').optional()
|
|
3916
4172
|
}).strict() // Reject any additional properties not defined in the schema
|
|
3917
4173
|
;
|
|
3918
4174
|
/**
|
|
@@ -3996,6 +4252,7 @@ var EarnChain;
|
|
|
3996
4252
|
usdcAddress: zod.z.string().nullable(),
|
|
3997
4253
|
usdtAddress: zod.z.string().nullable(),
|
|
3998
4254
|
cctp: zod.z.any().nullable(),
|
|
4255
|
+
cctpx: zod.z.any().optional(),
|
|
3999
4256
|
kitContracts: zod.z.object({
|
|
4000
4257
|
bridge: zod.z.string().optional(),
|
|
4001
4258
|
adapter: zod.z.string().optional()
|
|
@@ -4201,14 +4458,15 @@ const EARN_BRIDGE_DESTINATION_CHAIN_VALUES = EARN_BRIDGE_DESTINATION_BLOCKCHAINS
|
|
|
4201
4458
|
* Zod schema for validating the source chain of a cross-chain Earn deposit.
|
|
4202
4459
|
*
|
|
4203
4460
|
* Accept a supported source Blockchain value, a matching string literal, or a
|
|
4204
|
-
* ChainDefinition for a supported source chain. Source chains are Ethereum
|
|
4205
|
-
*
|
|
4461
|
+
* ChainDefinition for a supported source chain. Source chains are Ethereum,
|
|
4462
|
+
* Arbitrum, and Base (mainnet and testnet).
|
|
4206
4463
|
*
|
|
4207
4464
|
* @example
|
|
4208
4465
|
* ```typescript
|
|
4209
4466
|
* import { earnBridgeSourceChainIdentifierSchema } from '@core/chains'
|
|
4210
4467
|
*
|
|
4211
4468
|
* // Valid
|
|
4469
|
+
* earnBridgeSourceChainIdentifierSchema.parse('Ethereum')
|
|
4212
4470
|
* earnBridgeSourceChainIdentifierSchema.parse('Ethereum_Sepolia')
|
|
4213
4471
|
*
|
|
4214
4472
|
* // Invalid (throws ZodError)
|
|
@@ -4227,14 +4485,15 @@ const EARN_BRIDGE_DESTINATION_CHAIN_VALUES = EARN_BRIDGE_DESTINATION_BLOCKCHAINS
|
|
|
4227
4485
|
* deposit.
|
|
4228
4486
|
*
|
|
4229
4487
|
* Accept a supported destination Blockchain value, a matching string literal,
|
|
4230
|
-
* or a ChainDefinition for a supported destination chain.
|
|
4231
|
-
* Testnet
|
|
4488
|
+
* or a ChainDefinition for a supported destination chain. Arc (mainnet) and
|
|
4489
|
+
* Arc Testnet are supported.
|
|
4232
4490
|
*
|
|
4233
4491
|
* @example
|
|
4234
4492
|
* ```typescript
|
|
4235
4493
|
* import { earnBridgeDestinationChainIdentifierSchema } from '@core/chains'
|
|
4236
4494
|
*
|
|
4237
4495
|
* // Valid
|
|
4496
|
+
* earnBridgeDestinationChainIdentifierSchema.parse('Arc')
|
|
4238
4497
|
* earnBridgeDestinationChainIdentifierSchema.parse('Arc_Testnet')
|
|
4239
4498
|
*
|
|
4240
4499
|
* // Invalid (throws ZodError)
|
|
@@ -4308,6 +4567,7 @@ const swapTokenEnumSchema = zod.z.enum([
|
|
|
4308
4567
|
|
|
4309
4568
|
exports.Arbitrum = Arbitrum;
|
|
4310
4569
|
exports.ArbitrumSepolia = ArbitrumSepolia;
|
|
4570
|
+
exports.Arc = Arc;
|
|
4311
4571
|
exports.ArcTestnet = ArcTestnet;
|
|
4312
4572
|
exports.Avalanche = Avalanche;
|
|
4313
4573
|
exports.AvalancheFuji = AvalancheFuji;
|