UNPKG

@web3auth/no-modal

Version:
49 lines (45 loc) 1.51 kB
'use strict'; var baseControllers = require('@toruslabs/base-controllers'); var auth = require('@web3auth/auth'); var xrplRpcMiddlewares = require('./xrplRpcMiddlewares.js'); function createXrplChainIdMiddleware(chainId) { return (req, res, next, end) => { if (req.method === xrplRpcMiddlewares.RPC_METHODS.CHAIN_ID) { res.result = chainId; return end(); } return next(); }; } function createXrplProviderConfigMiddleware(providerConfig) { return (req, res, next, end) => { if (req.method === xrplRpcMiddlewares.RPC_METHODS.PROVIDER_CHAIN_CONFIG) { res.result = providerConfig; return end(); } return next(); }; } function createConfigMiddleware(providerConfig) { const { chainId } = providerConfig; return auth.mergeMiddleware([createXrplChainIdMiddleware(chainId), createXrplProviderConfigMiddleware(providerConfig)]); } function createXrplJsonRpcClient(providerConfig) { const { rpcTarget } = providerConfig; const fetchMiddleware = baseControllers.createFetchMiddleware({ rpcTarget }); const networkMiddleware = auth.mergeMiddleware([createConfigMiddleware(providerConfig), fetchMiddleware]); return { networkMiddleware, fetchMiddleware }; } exports.createConfigMiddleware = createConfigMiddleware; exports.createXrplChainIdMiddleware = createXrplChainIdMiddleware; exports.createXrplJsonRpcClient = createXrplJsonRpcClient; exports.createXrplProviderConfigMiddleware = createXrplProviderConfigMiddleware;