UNPKG

@web3auth/no-modal

Version:
60 lines (57 loc) 1.97 kB
import { createScaffoldMiddleware, createAsyncMiddleware, mergeMiddleware, rpcErrors } from '@web3auth/auth'; import { createWalletMiddleware } from './walletMidddleware.js'; function createEthMiddleware(providerHandlers) { const { getAccounts, getPrivateKey, getPublicKey, processTransaction, processSignTransaction, processEthSignMessage, processTypedMessageV4, processPersonalMessage, processGetCapabilities, processSendCalls, processGetCallsStatus, processShowCallsStatus } = providerHandlers; const ethMiddleware = mergeMiddleware([createScaffoldMiddleware({ eth_syncing: false }), createWalletMiddleware({ getAccounts, getPrivateKey, getPublicKey, processTransaction, processEthSignMessage, processSignTransaction, processTypedMessageV4, processPersonalMessage, processGetCapabilities, processSendCalls, processGetCallsStatus, processShowCallsStatus })]); return ethMiddleware; } function createEthChainSwitchMiddleware({ switchChain, addChain }) { async function updateChain(req, res) { var _req$params; const chainParams = (_req$params = req.params) !== null && _req$params !== void 0 && _req$params.length ? req.params[0] : undefined; if (!chainParams) throw rpcErrors.invalidParams("Missing chainId"); res.result = await switchChain(chainParams); } async function addChainConfig(req, res) { var _req$params2; const chainConfig = (_req$params2 = req.params) !== null && _req$params2 !== void 0 && _req$params2.length ? req.params[0] : undefined; if (!chainConfig) throw rpcErrors.invalidParams("Missing chainConfig"); res.result = await addChain(chainConfig); } return createScaffoldMiddleware({ wallet_switchEthereumChain: createAsyncMiddleware(updateChain), wallet_addEthereumChain: createAsyncMiddleware(addChainConfig) }); } export { createEthChainSwitchMiddleware, createEthMiddleware };