@0xsequence/web3-react-v6-connector
Version:
A simple, maximally extensible, dependency minimized framework for building modern Ethereum dApps
3 lines (2 loc) • 4.75 kB
JavaScript
;var e=require("@web3-react/abstract-connector");function n(e,t){return(n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e})(e,t)}function t(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var r=[1,137,4,5];function o(e){return"number"==typeof e?e:Number.parseInt(e,16)}exports.SequenceConnector=function(e){var i,c;function u(n){var o,i=n.chainId,c=n.appName;return(o=e.call(this,{supportedChainIds:r.concat([i])})||this).chainId=i,o.appName=c||"app",o.handleNetworkChanged=o.handleNetworkChanged.bind(t(o)),o.handleChainChanged=o.handleChainChanged.bind(t(o)),o.handleAccountsChanged=o.handleAccountsChanged.bind(t(o)),o.handleClose=o.handleClose.bind(t(o)),o}c=e,(i=u).prototype=Object.create(c.prototype),i.prototype.constructor=i,n(i,c);var s=u.prototype;return s.handleChainChanged=function(e){this.emitUpdate({chainId:o(e),provider:this.sequenceProvider})},s.handleAccountsChanged=function(e){0===e.length?this.deactivate():this.emitUpdate({account:e[0]})},s.handleClose=function(){this.deactivate()},s.handleNetworkChanged=function(e){this.emitUpdate({chainId:o(e),provider:this.sequenceProvider})},s.listenToEvents=function(){this.sequenceProvider.on("chainChanged",this.handleChainChanged),this.sequenceProvider.on("accountsChanged",this.handleAccountsChanged),this.sequenceProvider.on("close",this.handleClose),this.sequenceProvider.on("networkChanged",this.handleNetworkChanged)},s.activate=function(){try{var e=function(e){if(n)return e;function r(){function e(e){var n=!1;function r(e){if(n)return e;throw console.error("Failed to connect"),new Error("Failed to connect")}var i=function(){if(t.sequenceWallet.isConnected())return t.sequenceProvider=t.sequenceWallet.getProvider(),Promise.resolve(t.sequenceWallet.getAddress()).then((function(e){return Promise.resolve(t.sequenceWallet.getChainId()).then((function(r){return t.chainId=o(r),t.listenToEvents(),n=!0,{provider:t.sequenceProvider,account:e}}))}))}();return i&&i.then?i.then(r):r(i)}var n=function(){if(!t.sequenceWallet.isConnected())return Promise.resolve(t.sequenceWallet.connect({app:t.appName,authorize:!0})).then((function(e){if(!e.connected)throw console.error("Failed to connect"),new Error("Failed to connect")}))}();return n&&n.then?n.then(e):e()}var i=function(){if(!t.sequenceWallet)return Promise.resolve(new Promise((function(e){e(function(e){if(e&&e.__esModule)return e;var n={};return e&&Object.keys(e).forEach((function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})})),n.default=e,n}(require("0xsequence")))})).then((function(e){return null==e?void 0:e.sequence}))).then((function(e){return Promise.resolve(e.initWallet(t.chainId||137)).then((function(e){t.sequenceWallet=e}))}))}();return i&&i.then?i.then(r):r()},n=!1,t=this,r=function(){var e;if(null!=(e=window)&&e.ethereum&&window.ethereum.isSequence)return t.sequenceProvider=window.ethereum,function(){if(t.sequenceProvider)return Promise.resolve(t.sequenceProvider.request({method:"eth_requestAccounts"})).then((function(){return Promise.resolve(Promise.all([t.sequenceProvider.request({method:"eth_chainId"}),t.sequenceProvider.request({method:"eth_accounts"})])).then((function(e){var r=e[1];return t.chainId=o(e[0]),t.listenToEvents(),n=!0,{provider:t.sequenceProvider,account:r[0]}}))}))}()}();return Promise.resolve(r&&r.then?r.then(e):e(r))}catch(e){return Promise.reject(e)}},s.getProvider=function(){try{return Promise.resolve(this.sequenceProvider)}catch(e){return Promise.reject(e)}},s.getChainId=function(){try{return Promise.resolve(this.chainId)}catch(e){return Promise.reject(e)}},s.getAccount=function(){try{return Promise.resolve(this.sequenceProvider.request({method:"eth_accounts"}).then((function(e){return e[0]})))}catch(e){return Promise.reject(e)}},s.deactivate=function(){try{var e=function(){n.sequenceProvider&&(n.sequenceProvider.removeListener("chainChanged",n.handleChainChanged),n.sequenceProvider.removeListener("accountsChanged",n.handleAccountsChanged),n.sequenceProvider.removeListener("close",n.handleClose),n.sequenceProvider.removeListener("networkChanged",n.handleNetworkChanged)),n.sequenceWallet=void 0,n.sequenceProvider=void 0,n.emitDeactivate()},n=this,t=function(){if(n.sequenceWallet)return Promise.resolve(n.sequenceWallet.disconnect()).then((function(){}))}();return Promise.resolve(t&&t.then?t.then(e):e())}catch(e){return Promise.reject(e)}},s.close=function(){try{return Promise.resolve(this.deactivate()).then((function(){}))}catch(e){return Promise.reject(e)}},u}(e.AbstractConnector);
//# sourceMappingURL=web3-react-v6-connector.cjs.production.min.js.map