UNPKG

@web3auth/no-modal

Version:
40 lines (37 loc) 1.02 kB
import { createFetchMiddleware } from '@toruslabs/base-controllers'; import { JRPCEngineV2 } from '@web3auth/auth'; import { RPC_METHODS } from './xrplRpcMiddlewares.js'; function createXrplChainIdMiddleware(chainId) { return ({ request, next }) => { if (request.method === RPC_METHODS.CHAIN_ID) return chainId; return next(request); }; } function createXrplProviderConfigMiddleware(providerConfig) { return ({ request, next }) => { if (request.method === RPC_METHODS.PROVIDER_CHAIN_CONFIG) return providerConfig; return next(request); }; } function createXrplJsonRpcClient(providerConfig) { const { chainId, rpcTarget } = providerConfig; const engine = JRPCEngineV2.create({ middleware: [createXrplChainIdMiddleware(chainId), createXrplProviderConfigMiddleware(providerConfig), createFetchMiddleware({ rpcTarget })] }); const networkMiddleware = engine.asMiddleware(); return { networkMiddleware }; } export { createXrplJsonRpcClient };