UNPKG

@web3auth/no-modal

Version:
74 lines (71 loc) 2.06 kB
import _defineProperty from '@babel/runtime/helpers/defineProperty'; import { JRPCEngineV2, providerFromEngineV2, createScaffoldMiddlewareV2 } from '@web3auth/auth'; import { BaseProvider } from './baseProvider.js'; var _CommonPrivateKeyProvider; class CommonPrivateKeyProvider extends BaseProvider { constructor({ config, state }) { super({ config, state }); // should be Assigned in setupProvider _defineProperty(this, "_providerEngineProxy", null); } get provider() { return this._providerEngineProxy; } set provider(_) { throw new Error("Method not implemented."); } async setupProvider(privKey) { const privKeyMiddleware = this.getPrivKeyMiddleware(privKey); const engine = JRPCEngineV2.create({ middleware: [privKeyMiddleware] }); const provider = providerFromEngineV2(engine); this.updateProviderEngineProxy(provider); } async switchChain(_) { return Promise.resolve(); } getProviderEngineProxy() { return this._providerEngineProxy; } async lookupNetwork() { return Promise.resolve(""); } getPrivKeyMiddleware(privKey) { const middleware = { getPrivatekey: async () => { if (!this.config.keyExportEnabled) throw new Error("Exporting private key is disabled. Please enable it in the provider config"); return privKey; } }; return this.createPrivKeyMiddleware(middleware); } createPrivKeyMiddleware({ getPrivatekey }) { async function getPrivatekeyHandler() { return getPrivatekey(); } return createScaffoldMiddlewareV2({ private_key: getPrivatekeyHandler }); } } _CommonPrivateKeyProvider = CommonPrivateKeyProvider; _defineProperty(CommonPrivateKeyProvider, "getProviderInstance", async params => { const providerFactory = new _CommonPrivateKeyProvider({ config: { chain: params.chain, chains: params.chains } }); await providerFactory.setupProvider(params.privKey); return providerFactory; }); export { CommonPrivateKeyProvider };