UNPKG

@reown/appkit-utils

Version:

The full stack toolkit to build onchain app UX.

51 lines 1.97 kB
import { PresetsUtil } from '../PresetsUtil.js'; export const EthersHelpersUtil = { hexStringToNumber(value) { const string = value.startsWith('0x') ? value.slice(2) : value; const number = parseInt(string, 16); return number; }, numberToHexString(value) { return `0x${value.toString(16)}`; }, async getUserInfo(provider) { const [addresses, chainId] = await Promise.all([ EthersHelpersUtil.getAddresses(provider), EthersHelpersUtil.getChainId(provider) ]); return { chainId, addresses }; }, async getChainId(provider) { const chainId = await provider.request({ method: 'eth_chainId' }); return Number(chainId); }, async getAddress(provider) { const [address] = await provider.request({ method: 'eth_accounts' }); return address; }, async getAddresses(provider) { const addresses = await provider.request({ method: 'eth_accounts' }); return addresses; }, async addEthereumChain(provider, caipNetwork) { const rpcUrls = caipNetwork.rpcUrls['chainDefault']?.http || []; await provider.request({ method: 'wallet_addEthereumChain', params: [ { chainId: EthersHelpersUtil.numberToHexString(caipNetwork.id), rpcUrls: [...rpcUrls], chainName: caipNetwork.name, nativeCurrency: { name: caipNetwork.nativeCurrency.name, decimals: caipNetwork.nativeCurrency.decimals, symbol: caipNetwork.nativeCurrency.symbol }, blockExplorerUrls: [caipNetwork.blockExplorers?.default.url], iconUrls: [PresetsUtil.NetworkImageIds[caipNetwork.id]] } ] }); } }; //# sourceMappingURL=EthersHelpersUtil.js.map