UNPKG

@web3auth/no-modal

Version:
42 lines (38 loc) 1.59 kB
'use strict'; var auth = require('@web3auth/auth'); var walletMiddleware = require('./walletMiddleware.js'); function createEthMiddleware(providerHandlers) { const engine = auth.JRPCEngineV2.create({ middleware: [auth.createScaffoldMiddlewareV2({ eth_syncing: false }), walletMiddleware.createWalletMiddlewareV2(providerHandlers)] }); return engine.asMiddleware(); } function createEthChainSwitchMiddleware({ switchChain, addChain }) { async function walletSwitchEthereumChainHandler(params) { var _request$params; const request = params.request; const chainParams = (_request$params = request.params) !== null && _request$params !== void 0 && _request$params.length ? request.params[0] : undefined; if (!chainParams) throw auth.rpcErrors.invalidParams("Missing chainId"); await switchChain(chainParams); return null; } async function walletAddEthereumChainHandler(params) { var _request$params2; const request = params.request; const chainConfig = (_request$params2 = request.params) !== null && _request$params2 !== void 0 && _request$params2.length ? request.params[0] : undefined; if (!chainConfig) throw auth.rpcErrors.invalidParams("Missing chainConfig"); await addChain(chainConfig); return null; } return auth.createScaffoldMiddlewareV2({ wallet_switchEthereumChain: walletSwitchEthereumChainHandler, wallet_addEthereumChain: walletAddEthereumChainHandler }); } exports.createEthChainSwitchMiddleware = createEthChainSwitchMiddleware; exports.createEthMiddleware = createEthMiddleware;