UNPKG

@web3auth/no-modal

Version:
48 lines (44 loc) 1.42 kB
'use strict'; var baseControllers = require('@toruslabs/base-controllers'); var auth = require('@web3auth/auth'); function createSolanaChainIdMiddleware(chainId) { return (req, res, next, end) => { if (req.method === "solana_chainId") { res.result = chainId; return end(); } return next(); }; } function createSolanaProviderConfigMiddleware(providerConfig) { return (req, res, next, end) => { if (req.method === "solana_provider_config") { res.result = providerConfig; return end(); } return next(); }; } function createConfigMiddleware(providerConfig) { const { chainId } = providerConfig; return auth.mergeMiddleware([createSolanaChainIdMiddleware(chainId), createSolanaProviderConfigMiddleware(providerConfig)]); } function createSolanaJsonRpcClient(providerConfig) { const { rpcTarget } = providerConfig; const fetchMiddleware = baseControllers.createFetchMiddleware({ rpcTarget }); const networkMiddleware = auth.mergeMiddleware([createConfigMiddleware(providerConfig), fetchMiddleware]); return { networkMiddleware, fetchMiddleware }; } exports.createConfigMiddleware = createConfigMiddleware; exports.createSolanaChainIdMiddleware = createSolanaChainIdMiddleware; exports.createSolanaJsonRpcClient = createSolanaJsonRpcClient; exports.createSolanaProviderConfigMiddleware = createSolanaProviderConfigMiddleware;