@web3auth/no-modal
Version:
Multi chain wallet aggregator for web3Auth
41 lines (37 loc) • 986 B
JavaScript
;
var baseControllers = require('@toruslabs/base-controllers');
var auth = require('@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 = auth.JRPCEngineV2.create({
middleware: [createEthChainIdMiddleware(chainId), createEthProviderConfigMiddleware(providerConfig), baseControllers.createFetchMiddleware({
rpcTarget
})]
});
const networkMiddleware = engine.asMiddleware();
return {
networkMiddleware
};
}
exports.createEthJsonRpcClient = createEthJsonRpcClient;