@@ -31,6 +31,22 @@ export const NETWORK_TYPE_DICTION: { [key in string]: string } = {
3131 '0xa85cfb9b9fd4d622a5b28289a02347af987d8f73fa3108450e2b4a11c1ce5755' : 'Basilisk' ,
3232 '0xaa3876c1dc8a1afcc2e9a685a49ff7704cfd36ad8c90bf2702b9d1b00cc40011' : 'Altair' ,
3333 '0x1bb969d85965e4bb5a651abbedf21a54b6b31a21f66b5401cc3f1e286268d736' : 'Phala' ,
34+ '0x4a12be580bb959937a1c7a61d5cf24428ed67fa571974b4007645d1886e7c89f' : 'Subsocial' ,
35+ '4221332d34e1694168c2a0c0b3fd0f273809612cb13d000d5c2e00e85f50f796' : 'Concordium Testnet' ,
36+ '9dd9ca4d19e9393877d2c44b70f89acbfc0883c2243e5eeaecc0d1cd0503f478' : 'Concordium Mainnet' ,
37+ '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d' : 'Solana Mainnet' ,
38+ EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG : 'Solana Devnet' ,
39+ '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3zQawwpjk2NsNY' : 'Solana Testnet' ,
40+ 'fetchhub-4' : 'Fetch.ai Mainnet' ,
41+ 'juno-1' : 'Juno Mainnet' ,
42+ 'near-testnet' : 'NEAR Testnet' ,
43+ mainnet : 'NEAR Mainnet' ,
44+ 'axelar-dojo-1' : 'Axelar Dojo' ,
45+ 'telos-testnet' : 'Telos Testnet' ,
46+ 'coti-mainnet' : 'COTI Mainnet' ,
47+ flare : 'Flare' ,
48+ 'Public Global Stellar Network ; September 2015' : 'Stellar Mainnet' ,
49+ 'Test SDF Network ; September 2015' : 'Stellar Testnet' ,
3450} ;
3551
3652export const ETH_TYPE_DICTION : { [ key in string ] : string } = {
@@ -971,4 +987,57 @@ export const ETH_TYPE_DICTION: { [key in string]: string } = {
971987 '666301171999' : 'PDC Mainnet' ,
972988 '6022140761023' : 'Molereum Network' ,
973989 '2716446429837000' : 'DCHAIN' ,
990+ '97' : 'BNB Smart Chain Testnet' ,
991+ '232' : 'Lens' ,
992+ '999' : 'HyperEVM' ,
993+ '2741' : 'Abstract' ,
994+ '4158' : 'CrossFi Mainnet' ,
995+ '6900' : 'Nibiru cataclysm-1' ,
996+ '48900' : 'Zircuit Mainnet' ,
997+ '102031' : 'Creditcoin Testnet' ,
998+ '421614' : 'Arbitrum Sepolia' ,
999+ '84532' : 'Base Sepolia' ,
1000+ '11155111' : 'Ethereum Sepolia' ,
1001+ '65000000' : 'Autonity Mainnet' ,
1002+ '10200' : 'Gnosis Chiado Testnet' ,
1003+ gnosis : 'Gnosis' ,
1004+ } ;
1005+
1006+ const missingNetworkChainIdSet = new Set < string > ( ) ;
1007+ const missingNetworkChainIdWithProjectSet = new Set < string > ( ) ;
1008+
1009+ type NetworkNameContext = {
1010+ projectName ?: string ;
1011+ projectId ?: string ;
1012+ source ?: string ;
1013+ } ;
1014+
1015+ export const getNetworkNameByChainId = ( chainId ?: string , context ?: NetworkNameContext ) : string | undefined => {
1016+ if ( ! chainId ) return undefined ;
1017+
1018+ const networkName = NETWORK_TYPE_DICTION [ chainId ] || ETH_TYPE_DICTION [ chainId ] ;
1019+
1020+ // Temporary debug: collect unmapped chain IDs while browsing pages locally.
1021+ if ( ! networkName && import . meta. env . DEV ) {
1022+ const projectName = context ?. projectName || 'unknown' ;
1023+ const projectId = context ?. projectId || 'unknown' ;
1024+ const source = context ?. source || 'unknown' ;
1025+ const missingKey = `${ chainId } ::${ projectId } ::${ source } ` ;
1026+
1027+ if ( missingNetworkChainIdWithProjectSet . has ( missingKey ) ) {
1028+ return networkName ;
1029+ }
1030+
1031+ missingNetworkChainIdWithProjectSet . add ( missingKey ) ;
1032+ missingNetworkChainIdSet . add ( chainId ) ;
1033+
1034+ ( globalThis as { __missingNetworkChainIds ?: string [ ] } ) . __missingNetworkChainIds =
1035+ Array . from ( missingNetworkChainIdSet ) ;
1036+
1037+ console . warn (
1038+ `[NetworkMap] Missing chain id mapping: ${ chainId } | project: ${ projectName } (${ projectId } ) | source: ${ source } ` ,
1039+ ) ;
1040+ }
1041+
1042+ return networkName ;
9741043} ;
0 commit comments