UNPKG

@gnosis.pm/dapp-ui

Version:

Web3 provider setup functions built with Typescript and love. From Gnosis.

28 lines 1.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const web3connect_1 = tslib_1.__importDefault(require("web3connect")); const getProvider = walletConnectInits => { const web3Connect = new web3connect_1.default.Core({ providerOptions: { // in truth it's optional, but required in the interface walletconnect: walletConnectInits, }, }); let unsubFuncs; const providerPromise = new Promise((resolve, reject) => { unsubFuncs = [ // provider connected, resolve(provider) web3Connect.on('connect', resolve), // modal closed, resolve(null) web3Connect.on('close', () => resolve(null)), // error during connection or modal opening, reject(error) web3Connect.on('error', reject), ]; // futureproof for when .on returns an unsubbing function }).finally(() => unsubFuncs.forEach(unsub => unsub && unsub())); web3Connect.toggleModal(); // open modal return providerPromise; }; exports.default = getProvider; //# sourceMappingURL=index.js.map