UNPKG

@0xsequence/web3-react-v6

Version:

A web3-react (v6) connector for Sequence Wallet

3 lines (2 loc) 4.67 kB
"use strict";var e=require("@web3-react/abstract-connector");function n(e,t){return(n=Object.setPrototypeOf||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=!1,n=this,t=function(t){if(e)return t;function r(){function e(e){var t=!1;function r(e){if(t)return e;throw console.error("Failed to connect"),new Error("Failed to connect")}var i=function(){if(n.sequenceWallet.isConnected())return n.sequenceProvider=n.sequenceWallet.getProvider(),Promise.resolve(n.sequenceWallet.getAddress()).then((function(e){return Promise.resolve(n.sequenceWallet.getChainId()).then((function(r){return n.chainId=o(r),n.listenToEvents(),t=!0,{provider:n.sequenceProvider,account:e}}))}))}();return i&&i.then?i.then(r):r(i)}var t=function(){if(!n.sequenceWallet.isConnected())return Promise.resolve(n.sequenceWallet.connect({app:n.appName,authorize:!0})).then((function(e){if(!e.connected)throw console.error("Failed to connect"),new Error("Failed to connect")}))}();return t&&t.then?t.then(e):e()}var i=function(){if(!n.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){n.sequenceWallet=new e.Wallet(n.chainId||137)}))}();return i&&i.then?i.then(r):r()},r=function(){var t;if(null!=(t=window)&&t.ethereum&&window.ethereum.isSequence)return n.sequenceProvider=window.ethereum,function(){if(n.sequenceProvider)return Promise.resolve(n.sequenceProvider.request({method:"eth_requestAccounts"})).then((function(){return Promise.resolve(Promise.all([n.sequenceProvider.request({method:"eth_chainId"}),n.sequenceProvider.request({method:"eth_accounts"})])).then((function(t){var r=t[1];return n.chainId=o(t[0]),n.listenToEvents(),e=!0,{provider:n.sequenceProvider,account:r[0]}}))}))}()}();return Promise.resolve(r&&r.then?r.then(t):t(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=this,n=function(){e.sequenceProvider&&(e.sequenceProvider.removeListener("chainChanged",e.handleChainChanged),e.sequenceProvider.removeListener("accountsChanged",e.handleAccountsChanged),e.sequenceProvider.removeListener("close",e.handleClose),e.sequenceProvider.removeListener("networkChanged",e.handleNetworkChanged)),e.sequenceWallet=void 0,e.sequenceProvider=void 0,e.emitDeactivate()},t=function(){if(e.sequenceWallet)return Promise.resolve(e.sequenceWallet.disconnect()).then((function(){}))}();return Promise.resolve(t&&t.then?t.then(n):n())}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.cjs.production.min.js.map