UNPKG

@web3auth/no-modal

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