@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
JavaScript
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