@web3auth/no-modal
Version:
Multi chain wallet aggregator for web3Auth
48 lines (44 loc) • 1.42 kB
JavaScript
;
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;