UNPKG

@web3auth/no-modal

Version:
39 lines (36 loc) 944 B
import { createFetchMiddleware } from '@toruslabs/base-controllers'; import { JRPCEngineV2 } from '@web3auth/auth'; function createEthChainIdMiddleware(chainId) { return ({ request, next }) => { if (request.method === "eth_chainId") return chainId; return next(request); }; } function createEthProviderConfigMiddleware(providerConfig) { return ({ request, next }) => { if (request.method === "eth_provider_config") return providerConfig; return next(request); }; } function createEthJsonRpcClient(providerConfig) { const { chainId, rpcTarget } = providerConfig; const engine = JRPCEngineV2.create({ middleware: [createEthChainIdMiddleware(chainId), createEthProviderConfigMiddleware(providerConfig), createFetchMiddleware({ rpcTarget })] }); const networkMiddleware = engine.asMiddleware(); return { networkMiddleware }; } export { createEthJsonRpcClient };