UNPKG

@iexec/web3telegram

Version:

Enables secure, blockchain-based messaging by encrypting Telegram user IDs for privacy. It lets users message Ethereum account holders without knowing their Telegram details.

37 lines 1.47 kB
import { JsonRpcProvider, BrowserProvider, AbstractProvider, AbstractSigner, } from 'ethers'; import { DEFAULT_CHAIN_ID } from '../config/config.js'; export async function getChainIdFromProvider(ethProvider) { try { if (typeof ethProvider === 'string') { // Handle network string if (ethProvider === 'bellecour') return 134; // TODO add arbitrum & avalanche const provider = new JsonRpcProvider(ethProvider); const network = await provider.getNetwork(); return Number(network.chainId); } else if (ethProvider instanceof AbstractProvider) { const network = await ethProvider.getNetwork(); return Number(network.chainId); } else if (ethProvider instanceof AbstractSigner) { const { provider } = ethProvider; if (!provider) { throw Error('Signer is not connected to a provider'); } const network = await provider.getNetwork(); return Number(network.chainId); } else if ('request' in ethProvider) { const provider = new BrowserProvider(ethProvider); const network = await provider.getNetwork(); return Number(network.chainId); } } catch (e) { console.warn('Failed to detect chainId:', e); } return DEFAULT_CHAIN_ID; } //# sourceMappingURL=getChainId.js.map