UNPKG

@web3auth/no-modal

Version:
42 lines (38 loc) 1.11 kB
'use strict'; var baseControllers = require('@toruslabs/base-controllers'); var auth = require('@web3auth/auth'); var xrplRpcMiddlewares = require('./xrplRpcMiddlewares.js'); function createXrplChainIdMiddleware(chainId) { return ({ request, next }) => { if (request.method === xrplRpcMiddlewares.RPC_METHODS.CHAIN_ID) return chainId; return next(request); }; } function createXrplProviderConfigMiddleware(providerConfig) { return ({ request, next }) => { if (request.method === xrplRpcMiddlewares.RPC_METHODS.PROVIDER_CHAIN_CONFIG) return providerConfig; return next(request); }; } function createXrplJsonRpcClient(providerConfig) { const { chainId, rpcTarget } = providerConfig; const engine = auth.JRPCEngineV2.create({ middleware: [createXrplChainIdMiddleware(chainId), createXrplProviderConfigMiddleware(providerConfig), baseControllers.createFetchMiddleware({ rpcTarget })] }); const networkMiddleware = engine.asMiddleware(); return { networkMiddleware }; } exports.createXrplJsonRpcClient = createXrplJsonRpcClient;