|
| 1 | +import { CCTP_NO_DOMAIN } from "@across-protocol/constants"; |
1 | 2 | import { ChainFamily, CHAIN_IDs, MAINNET_CHAIN_IDs, PUBLIC_NETWORKS, TESTNET_CHAIN_IDs } from "../constants";
|
2 | 3 |
|
3 | 4 | export const hreNetworks: Record<number, string> = {
|
@@ -115,6 +116,15 @@ export function chainIsLinea(chainId: number): boolean {
|
115 | 116 | return [CHAIN_IDs.LINEA].includes(chainId);
|
116 | 117 | }
|
117 | 118 |
|
| 119 | +/** |
| 120 | + * Determines whether a chain ID is a BSC implementation. |
| 121 | + * @param chainId Chain ID to evaluate. |
| 122 | + * @returns True if chainId is a BSC chain, otherwise false. |
| 123 | + */ |
| 124 | +export function chainIsBSC(chainId: number): boolean { |
| 125 | + return [CHAIN_IDs.BSC].includes(chainId); |
| 126 | +} |
| 127 | + |
118 | 128 | /**
|
119 | 129 | * Determines whether a chain ID has a corresponding hub pool contract.
|
120 | 130 | * @param chainId Chain ID to evaluate.
|
@@ -149,19 +159,7 @@ export function chainIsSvm(chainId: number): boolean {
|
149 | 159 | * @returns True if chainId is a CCTP-bridging enabled chain, otherwise false.
|
150 | 160 | */
|
151 | 161 | export function chainIsCCTPEnabled(chainId: number): boolean {
|
152 |
| - return [ |
153 |
| - // Mainnets |
154 |
| - CHAIN_IDs.ARBITRUM, |
155 |
| - CHAIN_IDs.BASE, |
156 |
| - CHAIN_IDs.OPTIMISM, |
157 |
| - CHAIN_IDs.POLYGON, |
158 |
| - CHAIN_IDs.UNICHAIN, |
159 |
| - // Testnets |
160 |
| - CHAIN_IDs.BASE_SEPOLIA, |
161 |
| - CHAIN_IDs.OPTIMISM_SEPOLIA, |
162 |
| - CHAIN_IDs.ARBITRUM_SEPOLIA, |
163 |
| - CHAIN_IDs.POLYGON_AMOY, |
164 |
| - ].includes(chainId); |
| 162 | + return PUBLIC_NETWORKS?.[chainId]?.cctpDomain !== CCTP_NO_DOMAIN; |
165 | 163 | }
|
166 | 164 |
|
167 | 165 | /**
|
|
0 commit comments