@tronweb3/tronwallet-adapter-trust 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +20 -1
- package/lib/cjs/adapter.js +76 -51
- package/lib/cjs/adapter.js.map +1 -1
- package/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -0
- package/lib/esm/adapter.js +77 -52
- package/lib/esm/adapter.js.map +1 -1
- package/lib/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/lib/types/adapter.d.ts +10 -18
- package/lib/types/adapter.d.ts.map +1 -1
- package/lib/umd/index.js +777 -361
- package/lib/umd/index.min.js +1 -1
- package/package.json +10 -10
- package/src/adapter.ts +76 -67
package/lib/umd/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self)["@tronweb3/tronwallet-adapter-trust"]=e()}(this,(function(){"use strict";function t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var e,n,r={},o={},i={},s={},a={exports:{}};function c(){if(n)return s;n=1;var t=s&&s.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(s,"__esModule",{value:!0}),s.Adapter=s.AdapterState=s.WalletReadyState=s.EventEmitter=void 0;const r=t((e||(e=1,function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}function o(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function i(t,e,r,i,s){if("function"!=typeof r)throw new TypeError("The listener must be a function");var a=new o(r,i||t,s),c=n?n+e:e;return t._events[c]?t._events[c].fn?t._events[c]=[t._events[c],a]:t._events[c].push(a):(t._events[c]=a,t._eventsCount++),t}function s(t,e){0==--t._eventsCount?t._events=new r:delete t._events[e]}function a(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),a.prototype.eventNames=function(){var t,r,o=[];if(0===this._eventsCount)return o;for(r in t=this._events)e.call(t,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(t)):o},a.prototype.listeners=function(t){var e=n?n+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,i=r.length,s=new Array(i);o<i;o++)s[o]=r[o].fn;return s},a.prototype.listenerCount=function(t){var e=n?n+t:t,r=this._events[e];return r?r.fn?1:r.length:0},a.prototype.emit=function(t,e,r,o,i,s){var a=n?n+t:t;if(!this._events[a])return!1;var c,l,d=this._events[a],h=arguments.length;if(d.fn){switch(d.once&&this.removeListener(t,d.fn,void 0,!0),h){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,e),!0;case 3:return d.fn.call(d.context,e,r),!0;case 4:return d.fn.call(d.context,e,r,o),!0;case 5:return d.fn.call(d.context,e,r,o,i),!0;case 6:return d.fn.call(d.context,e,r,o,i,s),!0}for(l=1,c=new Array(h-1);l<h;l++)c[l-1]=arguments[l];d.fn.apply(d.context,c)}else{var u,w=d.length;for(l=0;l<w;l++)switch(d[l].once&&this.removeListener(t,d[l].fn,void 0,!0),h){case 1:d[l].fn.call(d[l].context);break;case 2:d[l].fn.call(d[l].context,e);break;case 3:d[l].fn.call(d[l].context,e,r);break;case 4:d[l].fn.call(d[l].context,e,r,o);break;default:if(!c)for(u=1,c=new Array(h-1);u<h;u++)c[u-1]=arguments[u];d[l].fn.apply(d[l].context,c)}}return!0},a.prototype.on=function(t,e,n){return i(this,t,e,n,!1)},a.prototype.once=function(t,e,n){return i(this,t,e,n,!0)},a.prototype.removeListener=function(t,e,r,o){var i=n?n+t:t;if(!this._events[i])return this;if(!e)return s(this,i),this;var a=this._events[i];if(a.fn)a.fn!==e||o&&!a.once||r&&a.context!==r||s(this,i);else{for(var c=0,l=[],d=a.length;c<d;c++)(a[c].fn!==e||o&&!a[c].once||r&&a[c].context!==r)&&l.push(a[c]);l.length?this._events[i]=1===l.length?l[0]:l:s(this,i)}return this},a.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&s(this,e)):(this._events=new r,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a,t.exports=a}(a)),a.exports));var o,i;s.EventEmitter=r.default,function(t){t.Loading="Loading",t.NotFound="NotFound",t.Found="Found"}(o||(s.WalletReadyState=o={})),function(t){t.Loading="Loading",t.NotFound="NotFound",t.Disconnect="Disconnected",t.Connected="Connected"}(i||(s.AdapterState=i={}));class c extends r.default{get connected(){return this.state===i.Connected}disconnect(){return console.info("The current adapter doesn't support disconnect by DApp."),Promise.resolve()}multiSign(...t){return Promise.reject("The current wallet doesn't support multiSign.")}switchChain(t){return Promise.reject("The current wallet doesn't support switch chain.")}}return s.Adapter=c,s}var l,d={};function h(){if(l)return d;l=1,Object.defineProperty(d,"__esModule",{value:!0}),d.WalletGetNetworkError=d.WalletSwitchChainError=d.WalletWindowClosedError=d.WalletWalletLoadError=d.WalletSignTransactionError=d.WalletSignMessageError=d.WalletDisconnectionError=d.WalletConnectionError=d.WalletDisconnectedError=d.WalletNotSelectedError=d.WalletNotFoundError=d.WalletError=void 0;class t extends Error{constructor(t,e){super(t),this.error=e}}d.WalletError=t;d.WalletNotFoundError=class extends t{constructor(){super(...arguments),this.name="WalletNotFoundError",this.message="The wallet is not found."}};d.WalletNotSelectedError=class extends t{constructor(){super(...arguments),this.name="WalletNotSelectedError",this.message="No wallet is selected. Please select a wallet."}};d.WalletDisconnectedError=class extends t{constructor(){super(...arguments),this.name="WalletDisconnectedError",this.message="The wallet is disconnected. Please connect first."}};d.WalletConnectionError=class extends t{constructor(){super(...arguments),this.name="WalletConnectionError"}};d.WalletDisconnectionError=class extends t{constructor(){super(...arguments),this.name="WalletDisconnectionError"}};d.WalletSignMessageError=class extends t{constructor(){super(...arguments),this.name="WalletSignMessageError"}};d.WalletSignTransactionError=class extends t{constructor(){super(...arguments),this.name="WalletSignTransactionError"}};d.WalletWalletLoadError=class extends t{constructor(){super(...arguments),this.name="WalletWalletLoadError"}};d.WalletWindowClosedError=class extends t{constructor(){super(...arguments),this.name="WalletWindowClosedError",this.message="The QR window is closed."}};d.WalletSwitchChainError=class extends t{constructor(){super(...arguments),this.name="WalletSwitchChainError"}};return d.WalletGetNetworkError=class extends t{constructor(){super(...arguments),this.name="WalletGetNetworkError"}},d}var u,w={};function p(){return u||(u=1,Object.defineProperty(w,"__esModule",{value:!0}),w.ChainNetwork=w.NetworkType=void 0,function(t){t.Mainnet="Mainnet",t.Shasta="Shasta",t.Nile="Nile",t.Unknown="Unknown"}(t||(w.NetworkType=t={})),function(t){t.Mainnet="Mainnet",t.Shasta="Shasta",t.Nile="Nile"}(e||(w.ChainNetwork=e={}))),w;var t,e}var f,v,A={};function g(){if(f)return A;function t(){return"undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator}return f=1,Object.defineProperty(A,"__esModule",{value:!0}),A.isInBrowser=t,A.checkAdapterState=function(e){if(!t())return;const n=[];function r(){for(const t of n)t()}function o(){e()&&r()}const i=setInterval(o,500);n.push((()=>clearInterval(i))),"loading"===document.readyState&&(document.addEventListener("DOMContentLoaded",o,{once:!0}),n.push((()=>document.removeEventListener("DOMContentLoaded",o))));"complete"!==document.readyState&&(window.addEventListener("load",o,{once:!0}),n.push((()=>window.removeEventListener("load",o))));o(),setTimeout(r,6e4)},A.isInMobileBrowser=function(){return"undefined"!=typeof navigator&&navigator.userAgent.match(/Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i)},A}function y(){return v||(v=1,function(t){var e=i&&i.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),n=i&&i.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(c(),t),n(h(),t),n(p(),t),n(g(),t)}(i)),i}var m,W,b={},k={},I={};function S(){if(m)return I;m=1;var t=I&&I.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function s(t){try{c(r.next(t))}catch(t){i(t)}}function a(t){try{c(r.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((r=r.apply(t,e||[])).next())}))};Object.defineProperty(I,"__esModule",{value:!0}),I.supportTron=n,I.supportTronLink=r,I.isInTronLinkApp=o,I.openTronLink=function({dappIcon:t,dappName:n}={dappIcon:"",dappName:""}){if(!r()&&(0,e.isInMobileBrowser)()&&!o()){let e="",r="";try{e=document.title;const t=document.querySelector('link[rel*="icon"]');t&&(r=new URL(t.getAttribute("href")||"",location.href).toString())}catch(t){}const{origin:o,pathname:i,search:s,hash:a}=window.location,c=o+i+s+(a.includes("?")?a:`${a}?_=1`),l={action:"open",actionId:Date.now()+"",callbackUrl:"http://someurl.com",dappIcon:t||r,dappName:n||e,url:c,protocol:"TronLink",version:"1.0",chainId:"0x2b6653dc"};return window.location.href=`tronlinkoutside://pull.activity?param=${encodeURIComponent(JSON.stringify(l))}`,!0}return!1},I.waitTronwebReady=function(e){return t(this,void 0,void 0,(function*(){return new Promise(((t,n)=>{const r=setInterval((()=>{e.tronWeb&&(clearInterval(r),clearTimeout(o),t())}),50),o=setTimeout((()=>{clearInterval(r),n("`window.tron.tronweb` is not ready.")}),2e3)}))}))};const e=y();function n(){return!(!window.tron||!window.tron.isTronLink)}function r(){return!!(n()||window.tronLink||window.tronWeb)}function o(){return(0,e.isInBrowser)()&&void 0!==window.iTron}return I}function E(){return W||(W=1,function(t){var e=k&&k.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function s(t){try{c(r.next(t))}catch(t){i(t)}}function a(t){try{c(r.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((r=r.apply(t,e||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.TronLinkAdapter=t.TronLinkAdapterName=t.chainIdNetworkMap=void 0,t.getNetworkInfoByTronWeb=o;const n=y(),r=S();function o(r){return e(this,void 0,void 0,(function*(){var e,o,i;const{blockID:s=""}=yield r.trx.getBlockByNumber(0),a=`0x${s.slice(-8)}`;return{networkType:t.chainIdNetworkMap[a]||n.NetworkType.Unknown,chainId:a,fullNode:(null===(e=r.fullNode)||void 0===e?void 0:e.host)||"",solidityNode:(null===(o=r.solidityNode)||void 0===o?void 0:o.host)||"",eventServer:(null===(i=r.eventServer)||void 0===i?void 0:i.host)||""}}))}t.chainIdNetworkMap={"0x2b6653dc":n.NetworkType.Mainnet,"0x94a9059e":n.NetworkType.Shasta,"0xcd8690dc":n.NetworkType.Nile},t.TronLinkAdapterName="TronLink";class i extends n.Adapter{constructor(e={}){super(),this.name=t.TronLinkAdapterName,this.url="https://www.tronlink.org/",this.icon="data:image/png;base64,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",this._readyState=(0,n.isInBrowser)()?n.WalletReadyState.Loading:n.WalletReadyState.NotFound,this._state=n.AdapterState.Loading,this._supportNewTronProtocol=!1,this._tronLinkMessageHandler=t=>{var e,r,o,i,s;const a=null===(e=t.data)||void 0===e?void 0:e.message;if(a)if("accountsChanged"===a.action)setTimeout((()=>{var t;const e=this.address||"";if(null===(t=this._wallet)||void 0===t?void 0:t.ready){const t=a.data.address;this.setAddress(t),this.setState(n.AdapterState.Connected)}else this.setAddress(null),this.setState(n.AdapterState.Disconnect);this.emit("accountsChanged",this.address||"",e),!e&&this.address?this.emit("connect",this.address):e&&!this.address&&this.emit("disconnect")}),200);else if("setNode"===a.action)this.emit("chainChanged",{chainId:(null===(o=null===(r=a.data)||void 0===r?void 0:r.node)||void 0===o?void 0:o.chainId)||""});else if("connect"===a.action){const t=(null===(s=null===(i=this._wallet.tronWeb)||void 0===i?void 0:i.defaultAddress)||void 0===s?void 0:s.base58)||"";this.setAddress(t),this.setState(n.AdapterState.Connected),this.emit("connect",t)}else"disconnect"===a.action&&(this.setAddress(null),this.setState(n.AdapterState.Disconnect),this.emit("disconnect"))},this._onChainChanged=t=>{this.emit("chainChanged",t)},this._onAccountsChanged=()=>{var t,e,r;const o=this.address||"",i=(null===(t=this._wallet)||void 0===t?void 0:t.tronWeb)&&(null===(r=null===(e=this._wallet)||void 0===e?void 0:e.tronWeb.defaultAddress)||void 0===r?void 0:r.base58)||"";if(i){const t=i;this.setAddress(t),this.setState(n.AdapterState.Connected)}else this.setAddress(null),this.setState(n.AdapterState.Disconnect);this.emit("accountsChanged",this.address||"",o),!o&&this.address?this.emit("connect",this.address):o&&!this.address&&this.emit("disconnect")},this._checkPromise=null,this._updateWallet=()=>{var t,e,r,o,i,s,a,c;let l=this.state,d=this.address;(0,n.isInMobileBrowser)()?(window.tronLink?this._wallet=window.tronLink:this._wallet={ready:!!(null===(t=window.tronWeb)||void 0===t?void 0:t.defaultAddress),tronWeb:window.tronWeb,request:()=>Promise.resolve(!0)},d=(null===(r=null===(e=this._wallet.tronWeb)||void 0===e?void 0:e.defaultAddress)||void 0===r?void 0:r.base58)||null,l=d?n.AdapterState.Connected:n.AdapterState.Disconnect):window.tron&&window.tron.isTronLink?(this._supportNewTronProtocol=!0,this._wallet=window.tron,this._listenTronEvent(),d=this._wallet.tronWeb&&(null===(i=null===(o=this._wallet.tronWeb)||void 0===o?void 0:o.defaultAddress)||void 0===i?void 0:i.base58)||null,l=d?n.AdapterState.Connected:n.AdapterState.Disconnect):window.tronLink?(this._wallet=window.tronLink,this._listenTronLinkEvent(),d=(null===(a=null===(s=this._wallet.tronWeb)||void 0===s?void 0:s.defaultAddress)||void 0===a?void 0:a.base58)||null,l=this._wallet.ready?n.AdapterState.Connected:n.AdapterState.Disconnect):window.tronWeb?(this._wallet={ready:window.tronWeb.ready,tronWeb:window.tronWeb,request:()=>Promise.resolve(!0)},d=(null===(c=this._wallet.tronWeb.defaultAddress)||void 0===c?void 0:c.base58)||null,l=this._wallet.ready?n.AdapterState.Connected:n.AdapterState.Disconnect):(this._wallet=null,d=null,l=n.AdapterState.NotFound),(0,n.isInMobileBrowser)()&&l===n.AdapterState.Disconnect&&this.checkForWalletReadyForApp(),this.setAddress(d),this.setState(l)},this.checkReadyInterval=null;const{checkTimeout:o=3e4,dappIcon:i="",dappName:s="",openUrlWhenWalletNotFound:a=!0,openTronLinkAppOnMobile:c=!0}=e;if("number"!=typeof o)throw new Error("[TronLinkAdapter] config.checkTimeout should be a number");if(this.config={checkTimeout:o,openTronLinkAppOnMobile:c,openUrlWhenWalletNotFound:a,dappIcon:i,dappName:s},this._connecting=!1,this._wallet=null,this._address=null,!(0,n.isInBrowser)())return this._readyState=n.WalletReadyState.NotFound,void this.setState(n.AdapterState.NotFound);(0,r.supportTron)()||(0,n.isInMobileBrowser)()&&(window.tronLink||window.tronWeb)?(this._readyState=n.WalletReadyState.Found,this._updateWallet()):this._checkWallet().then((()=>{this.connected&&this.emit("connect",this.address||"")}))}get address(){return this._address}get state(){return this._state}get readyState(){return this._readyState}get connecting(){return this._connecting}network(){return e(this,void 0,void 0,(function*(){var t;try{if(yield this._checkWallet(),this.state!==n.AdapterState.Connected)throw new n.WalletDisconnectedError;const e=(null===(t=this._wallet)||void 0===t?void 0:t.tronWeb)||window.tronWeb;if(!e)throw new n.WalletDisconnectedError;try{return yield o(e)}catch(t){throw new n.WalletGetNetworkError(null==t?void 0:t.message,t)}}catch(t){throw this.emit("error",t),t}}))}connect(){return e(this,void 0,void 0,(function*(){var t,e;try{if(this.checkIfOpenTronLink(),this.connected||this.connecting)return;if(yield this._checkWallet(),this.state===n.AdapterState.NotFound)throw!1!==this.config.openUrlWhenWalletNotFound&&(0,n.isInBrowser)()&&window.open(this.url,"_blank"),new n.WalletNotFoundError;if(!this._wallet)return;if(this._connecting=!0,this._supportNewTronProtocol){const t=this._wallet;try{const e=(yield t.request({method:"eth_requestAccounts"}))[0];this.setAddress(e),this.setState(n.AdapterState.Connected),this._listenTronEvent(),this._wallet.tronWeb||(yield(0,r.waitTronwebReady)(this._wallet))}catch(t){let e=(null==t?void 0:t.message)||t||"Connect TronLink wallet failed.";throw-32002===t.code&&(e="The same DApp has already initiated a request to connect to TronLink wallet, and the pop-up window has not been closed."),4001===t.code&&(e="The user rejected connection."),new n.WalletConnectionError(e,t)}}else if(window.tronLink){const e=this._wallet;try{const t=yield e.request({method:"tron_requestAccounts"});if(!t)throw new n.WalletConnectionError("TronLink wallet is locked or no wallet account is avaliable.");if(4e3===t.code)throw new n.WalletConnectionError("The same DApp has already initiated a request to connect to TronLink wallet, and the pop-up window has not been closed.");if(4001===t.code)throw new n.WalletConnectionError("The user rejected connection.")}catch(t){throw new n.WalletConnectionError(null==t?void 0:t.message,t)}const r=(null===(t=e.tronWeb.defaultAddress)||void 0===t?void 0:t.base58)||"";this.setAddress(r),this.setState(n.AdapterState.Connected),this._listenTronLinkEvent()}else{if(!window.tronWeb)throw new n.WalletConnectionError("Cannot connect wallet.");{const t=(null===(e=this._wallet.tronWeb.defaultAddress)||void 0===e?void 0:e.base58)||"";this.setAddress(t),this.setState(n.AdapterState.Connected)}}this.connected&&this.emit("connect",this.address||"")}catch(t){throw this.emit("error",t),t}finally{this._connecting=!1}}))}disconnect(){return e(this,void 0,void 0,(function*(){this._supportNewTronProtocol?this._stopListenTronEvent():this._stopListenTronLinkEvent(),this.state===n.AdapterState.Connected&&(this.setAddress(null),this.setState(n.AdapterState.Disconnect),this.emit("disconnect"))}))}signTransaction(t,r){return e(this,void 0,void 0,(function*(){try{const e=yield this.checkAndGetWallet();try{return yield e.tronWeb.trx.sign(t,r)}catch(t){throw t instanceof Error?new n.WalletSignTransactionError(t.message,t):new n.WalletSignTransactionError(t,new Error(t))}}catch(t){throw this.emit("error",t),t}}))}multiSign(t,r,o){return e(this,void 0,void 0,(function*(){try{const e=yield this.checkAndGetWallet();try{return yield e.tronWeb.trx.multiSign(t,r,o)}catch(t){throw t instanceof Error?new n.WalletSignTransactionError(t.message,t):new n.WalletSignTransactionError(t,new Error(t))}}catch(t){throw this.emit("error",t),t}}))}signMessage(t,r){return e(this,void 0,void 0,(function*(){try{const e=yield this.checkAndGetWallet();try{return yield e.tronWeb.trx.signMessageV2(t,r)}catch(t){throw t instanceof Error?new n.WalletSignMessageError(t.message,t):new n.WalletSignMessageError(t,new Error(t))}}catch(t){throw this.emit("error",t),t}}))}switchChain(t){return e(this,void 0,void 0,(function*(){try{if(yield this._checkWallet(),this.state===n.AdapterState.NotFound)throw!1!==this.config.openUrlWhenWalletNotFound&&(0,n.isInBrowser)()&&window.open(this.url,"_blank"),new n.WalletNotFoundError;if(!this._supportNewTronProtocol)throw new n.WalletSwitchChainError("Current version of TronLink doesn't support switch chain operation.");const e=this._wallet;try{yield e.request({method:"wallet_switchEthereumChain",params:[{chainId:t}]})}catch(t){throw new n.WalletSwitchChainError((null==t?void 0:t.message)||t,t instanceof Error?t:new Error(t))}}catch(t){throw this.emit("error",t),t}}))}checkAndGetWallet(){return e(this,void 0,void 0,(function*(){if(this.checkIfOpenTronLink(),yield this._checkWallet(),this.state!==n.AdapterState.Connected)throw new n.WalletDisconnectedError;const t=this._wallet;if(!t||!t.tronWeb)throw new n.WalletDisconnectedError;return t}))}_listenTronLinkEvent(){this._stopListenTronLinkEvent(),window.addEventListener("message",this._tronLinkMessageHandler)}_stopListenTronLinkEvent(){window.removeEventListener("message",this._tronLinkMessageHandler)}checkIfOpenTronLink(){const{dappName:t="",dappIcon:e=""}=this.config;if(!1!==this.config.openTronLinkAppOnMobile&&(0,r.openTronLink)({dappIcon:e,dappName:t}))throw new n.WalletNotFoundError}_listenTronEvent(){this._stopListenTronEvent(),this._stopListenTronLinkEvent();const t=this._wallet;t.on("chainChanged",this._onChainChanged),t.on("accountsChanged",this._onAccountsChanged)}_stopListenTronEvent(){const t=this._wallet;t.removeListener("chainChanged",this._onChainChanged),t.removeListener("accountsChanged",this._onAccountsChanged)}_checkWallet(){if(this.readyState===n.WalletReadyState.Found)return Promise.resolve(!0);if(this._checkPromise)return this._checkPromise;const t=Math.floor(20),e=Math.floor(this.config.checkTimeout/100);let o,i=0;return this._checkPromise=new Promise((s=>{const a=()=>{i++;const a=i<t&&!(0,n.isInMobileBrowser)()?(0,r.supportTron)():(0,r.supportTronLink)();(a||i>e)&&(o&&clearInterval(o),this._readyState=a?n.WalletReadyState.Found:n.WalletReadyState.NotFound,this._updateWallet(),this.emit("readyStateChanged",this.readyState),s(a))};o=setInterval(a,100),a()})),this._checkPromise}checkForWalletReadyForApp(){if(this.checkReadyInterval)return;let t=0;const e=Math.floor(this.config.checkTimeout/200);this.checkReadyInterval=setInterval((()=>{var n,r;(window.tronLink?null===(n=window.tronLink.tronWeb)||void 0===n?void 0:n.defaultAddress:null===(r=window.tronWeb)||void 0===r?void 0:r.defaultAddress)?(this.checkReadyInterval&&clearInterval(this.checkReadyInterval),this.checkReadyInterval=null,this._updateWallet(),this.emit("connect",this.address||"")):t>e?(this.checkReadyInterval&&clearInterval(this.checkReadyInterval),this.checkReadyInterval=null):t++}),200)}setAddress(t){this._address=t}setState(t){t!==this.state&&(this._state=t,this.emit("stateChanged",t))}}t.TronLinkAdapter=i}(k)),k}var T,N,C={};function L(){return T||(T=1,Object.defineProperty(C,"__esModule",{value:!0})),C}function O(){return N||(N=1,function(t){var e=b&&b.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),n=b&&b.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(E(),t),n(L(),t),n(S(),t)}(b)),b}var _,M,x,j={};function D(){return _||(_=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.isTrustApp=void 0,t.supportTrust=function(){return"undefined"!=typeof window&&!(!window.trustwallet||!window.trustwallet.tronLink)},t.openTrustWallet=function(){if(!(0,t.isTrustApp)()&&(0,e.isInMobileBrowser)())return window.location.href="https://link.trustwallet.com/open_url?url="+encodeURIComponent(window.location.href),!0;return!1};const e=y();t.isTrustApp=function(){return"undefined"!=typeof window&&void 0!==window.navigator&&/Trust/i.test(window.navigator.userAgent)}}(j)),j}function P(){return M||(M=1,function(t){var e=o&&o.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function s(t){try{c(r.next(t))}catch(t){i(t)}}function a(t){try{c(r.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((r=r.apply(t,e||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.TrustAdapter=t.TrustAdapterName=void 0;const n=y(),r=O(),i=D();t.TrustAdapterName="Trust";class s extends n.Adapter{constructor(e={}){super(),this.name=t.TrustAdapterName,this.url="https://trustwallet.com",this.icon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTgiIGhlaWdodD0iNjUiIHZpZXdCb3g9IjAgMCA1OCA2NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgOS4zODk0OUwyOC44OTA3IDBWNjUuMDA0MkM4LjI1NDUgNTYuMzM2OSAwIDM5LjcyNDggMCAzMC4zMzUzVjkuMzg5NDlaIiBmaWxsPSIjMDUwMEZGIi8+CjxwYXRoIGQ9Ik01Ny43ODIyIDkuMzg5NDlMMjguODkxNSAwVjY1LjAwNDJDNDkuNTI3NyA1Ni4zMzY5IDU3Ljc4MjIgMzkuNzI0OCA1Ny43ODIyIDMwLjMzNTNWOS4zODk0OVoiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8yMjAxXzY5NDIpIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMjIwMV82OTQyIiB4MT0iNTEuMzYxNSIgeTE9Ii00LjE1MjkzIiB4Mj0iMjkuNTM4NCIgeTI9IjY0LjUxNDciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agb2Zmc2V0PSIwLjAyMTEyIiBzdG9wLWNvbG9yPSIjMDAwMEZGIi8+CjxzdG9wIG9mZnNldD0iMC4wNzYyNDIzIiBzdG9wLWNvbG9yPSIjMDA5NEZGIi8+CjxzdG9wIG9mZnNldD0iMC4xNjMwODkiIHN0b3AtY29sb3I9IiM0OEZGOTEiLz4KPHN0b3Agb2Zmc2V0PSIwLjQyMDA0OSIgc3RvcC1jb2xvcj0iIzAwOTRGRiIvPgo8c3RvcCBvZmZzZXQ9IjAuNjgyODg2IiBzdG9wLWNvbG9yPSIjMDAzOEZGIi8+CjxzdG9wIG9mZnNldD0iMC45MDI0NjUiIHN0b3AtY29sb3I9IiMwNTAwRkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K",this._readyState=(0,n.isInBrowser)()?n.WalletReadyState.Loading:n.WalletReadyState.NotFound,this._state=n.AdapterState.Loading,this.messageHandler=t=>{var e,r,o;const i=null===(e=t.data)||void 0===e?void 0:e.message;if(i)if("accountsChanged"===i.action)setTimeout((()=>{var t;const e=this.address||"";if(null===(t=this._wallet)||void 0===t?void 0:t.ready){const t=i.data.address;this.setAddress(t),this.setState(n.AdapterState.Connected)}else this.setAddress(null),this.setState(n.AdapterState.Disconnect);(this.address||"")!==e&&this.emit("accountsChanged",this.address||"",e),!e&&this.address?this.emit("connect",this.address):e&&!this.address&&this.emit("disconnect")}),200);else if("connect"===i.action){const t=this.connected,e=this.address||"",i=(null===(o=null===(r=this._wallet.tronWeb)||void 0===r?void 0:r.defaultAddress)||void 0===o?void 0:o.base58)||"";this.setAddress(i),this.setState(n.AdapterState.Connected),t?i!==e&&this.emit("accountsChanged",this.address||"",e):this.emit("connect",i)}else"disconnect"===i.action&&(this.setAddress(null),this.setState(n.AdapterState.Disconnect),this.emit("disconnect"))},this._checkPromise=null,this._updateWallet=()=>{var t,e;let r=this.state,o=this.address;(0,i.supportTrust)()?(this._wallet=window.trustwallet.tronLink,this._listenEvent(),o=(null===(e=null===(t=this._wallet.tronWeb)||void 0===t?void 0:t.defaultAddress)||void 0===e?void 0:e.base58)||null,r=this._wallet.ready?n.AdapterState.Connected:n.AdapterState.Disconnect):(this._wallet=null,o=null,r=n.AdapterState.NotFound),this.setAddress(o),this.setState(r)};const{checkTimeout:r=2e3,openUrlWhenWalletNotFound:o=!0,openAppWithDeeplink:s=!0}=e;if("number"!=typeof r)throw new Error("[TrustAdapter] config.checkTimeout should be a number");if(this.config={checkTimeout:r,openAppWithDeeplink:s,openUrlWhenWalletNotFound:o},this._connecting=!1,this._wallet=null,this._address=null,!(0,n.isInBrowser)())return this._readyState=n.WalletReadyState.NotFound,void this.setState(n.AdapterState.NotFound);(0,i.supportTrust)()?(this._readyState=n.WalletReadyState.Found,this._updateWallet()):this._checkWallet().then((()=>{this.connected&&this.emit("connect",this.address||"")}))}get address(){return this._address}get state(){return this._state}get readyState(){return this._readyState}get connecting(){return this._connecting}network(){return e(this,void 0,void 0,(function*(){try{if(yield this._checkWallet(),this.state!==n.AdapterState.Connected)throw new n.WalletDisconnectedError;const t=this._wallet;if(!t||!t.tronWeb)throw new n.WalletDisconnectedError;try{return yield(0,r.getNetworkInfoByTronWeb)(t.tronWeb)}catch(t){throw new n.WalletGetNetworkError(null==t?void 0:t.message,t)}}catch(t){throw this.emit("error",t),t}}))}connect(){return e(this,void 0,void 0,(function*(){var t;try{if(this.checkIfopenTrustWallet(),this.connected||this.connecting)return;if(yield this._checkWallet(),this.state===n.AdapterState.NotFound)throw!1!==this.config.openUrlWhenWalletNotFound&&(0,n.isInBrowser)()&&window.open(this.url,"_blank"),new n.WalletNotFoundError;if(!this._wallet)return;this._connecting=!0;const e=this._wallet;try{const t=yield e.request({method:"tron_requestAccounts"});if(!t)throw new n.WalletConnectionError("Request connect error.");if(4e3===t.code)throw new n.WalletConnectionError("The same DApp has already initiated a request to connect to trustwallet, and the pop-up window has not been closed.");if(4001===t.code)throw new n.WalletConnectionError("The user rejected connection.")}catch(t){throw new n.WalletConnectionError(null==t?void 0:t.message,t)}const r=(null===(t=e.tronWeb.defaultAddress)||void 0===t?void 0:t.base58)||"";this.setAddress(r),this.setState(n.AdapterState.Connected),this._listenEvent(),this.connected&&this.emit("connect",this.address||"")}catch(t){throw this.emit("error",t),t}finally{this._connecting=!1}}))}disconnect(){return e(this,void 0,void 0,(function*(){this._stopListenEvent(),this.state===n.AdapterState.Connected&&(this.setAddress(null),this.setState(n.AdapterState.Disconnect),this.emit("disconnect"))}))}signTransaction(t,r){return e(this,void 0,void 0,(function*(){try{const e=yield this.checkAndGetWallet();try{return yield e.tronWeb.trx.sign(t,r)}catch(t){throw t instanceof Error||"object"==typeof t&&t.message?new n.WalletSignTransactionError(t.message,t):"string"==typeof t?new n.WalletSignTransactionError(t,new Error(t)):new n.WalletSignTransactionError("Unknown error",t)}}catch(t){throw this.emit("error",t),t}}))}multiSign(t,r,o){return e(this,void 0,void 0,(function*(){try{const e=yield this.checkAndGetWallet();try{return yield e.tronWeb.trx.multiSign(t,r,o)}catch(t){throw t instanceof Error||"object"==typeof t&&t.message?new n.WalletSignTransactionError(t.message,t):"string"==typeof t?new n.WalletSignTransactionError(t,new Error(t)):new n.WalletSignTransactionError("Unknown error",t)}}catch(t){throw this.emit("error",t),t}}))}signMessage(t,r){return e(this,void 0,void 0,(function*(){try{const e=yield this.checkAndGetWallet();try{return yield e.tronWeb.trx.signMessageV2(t,r)}catch(t){throw t instanceof Error||"object"==typeof t&&t.message?new n.WalletSignMessageError(t.message,t):"string"==typeof t?new n.WalletSignMessageError(t,new Error(t)):new n.WalletSignMessageError("Unknown error",t)}}catch(t){throw this.emit("error",t),t}}))}checkAndGetWallet(){return e(this,void 0,void 0,(function*(){if(this.checkIfopenTrustWallet(),yield this._checkWallet(),this.state!==n.AdapterState.Connected)throw new n.WalletDisconnectedError;const t=this._wallet;if(!t||!t.tronWeb)throw new n.WalletDisconnectedError;return t}))}_listenEvent(){this._stopListenEvent(),window.addEventListener("message",this.messageHandler)}_stopListenEvent(){window.removeEventListener("message",this.messageHandler)}checkIfopenTrustWallet(){if(!1!==this.config.openAppWithDeeplink&&(0,i.openTrustWallet)())throw new n.WalletNotFoundError}_checkWallet(){if(this.readyState===n.WalletReadyState.Found)return Promise.resolve(!0);if(this._checkPromise)return this._checkPromise;const t=Math.floor(this.config.checkTimeout/100);let e,r=0;return this._checkPromise=new Promise((o=>{const s=()=>{r++;const s=(0,i.supportTrust)();(s||r>t)&&(e&&clearInterval(e),this._readyState=s?n.WalletReadyState.Found:n.WalletReadyState.NotFound,this._updateWallet(),this.emit("readyStateChanged",this.readyState),o(s))};e=setInterval(s,100),s()})),this._checkPromise}setAddress(t){this._address=t}setState(t){t!==this.state&&(this._state=t,this.emit("stateChanged",t))}}t.TrustAdapter=s}(o)),o}return t((x||(x=1,function(t){var e=r&&r.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),n=r&&r.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(P(),t),n(D(),t)}(r)),r))}));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self)["@tronweb3/tronwallet-adapter-trust"]=e()}(this,(function(){"use strict";function t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var e,n={},o={},r={},i={},s={exports:{}};var a,c,l={},d={};function u(){if(a)return d;a=1,Object.defineProperty(d,"__esModule",{value:!0}),d.WalletSignTypedDataError=d.WalletGetNetworkError=d.WalletSwitchChainError=d.WalletWindowClosedError=d.WalletWalletLoadError=d.WalletSignTransactionError=d.WalletSignMessageError=d.WalletDisconnectionError=d.WalletConnectionError=d.WalletDisconnectedError=d.WalletNotSelectedError=d.WalletNotFoundError=d.WalletError=void 0;class t extends Error{constructor(t,e){super(t),this.error=e}}d.WalletError=t;d.WalletNotFoundError=class extends t{constructor(t,e){super(t||"The wallet is not found.",e),this.name="WalletNotFoundError"}};d.WalletNotSelectedError=class extends t{constructor(){super(...arguments),this.name="WalletNotSelectedError",this.message="No wallet is selected. Please select a wallet."}};d.WalletDisconnectedError=class extends t{constructor(){super(...arguments),this.name="WalletDisconnectedError",this.message="The wallet is disconnected. Please connect first."}};d.WalletConnectionError=class extends t{constructor(){super(...arguments),this.name="WalletConnectionError"}};d.WalletDisconnectionError=class extends t{constructor(){super(...arguments),this.name="WalletDisconnectionError"}};d.WalletSignMessageError=class extends t{constructor(){super(...arguments),this.name="WalletSignMessageError"}};d.WalletSignTransactionError=class extends t{constructor(){super(...arguments),this.name="WalletSignTransactionError"}};d.WalletWalletLoadError=class extends t{constructor(){super(...arguments),this.name="WalletWalletLoadError"}};d.WalletWindowClosedError=class extends t{constructor(t,e){super(t||"The QR window is closed.",e),this.name="WalletWindowClosedError"}};d.WalletSwitchChainError=class extends t{constructor(){super(...arguments),this.name="WalletSwitchChainError"}};d.WalletGetNetworkError=class extends t{constructor(){super(...arguments),this.name="WalletGetNetworkError"}};return d.WalletSignTypedDataError=class extends t{constructor(){super(...arguments),this.name="WalletSignTypedDataError"}},d}function h(){if(c)return l;c=1,Object.defineProperty(l,"__esModule",{value:!0}),l.normalizeAndValidateTypedData=function(n){if(!e(n))throw new t.WalletSignTypedDataError("typedData must be an object.");if(!e(n.domain))throw new t.WalletSignTypedDataError("typedData.domain must be an object.");if(!e(n.types))throw new t.WalletSignTypedDataError("typedData.types must be an object.");if(!e(n.message))throw new t.WalletSignTypedDataError("typedData.message must be an object.");const{chainId:o}=n.domain;if("string"==typeof o){const e=Number(o);if(!Number.isFinite(e))throw new t.WalletSignTypedDataError(`Invalid domain.chainId: ${o}.`);return Object.assign(Object.assign({},n),{domain:Object.assign(Object.assign({},n.domain),{chainId:e})})}return n};const t=u();function e(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}return l}var p,f,w={};function v(){return p||(p=1,Object.defineProperty(w,"__esModule",{value:!0}),w.TIP6963RequestProviderEventName=w.TIP6963AnnounceProviderEventName=w.ChainNetwork=w.NetworkType=w.AdapterState=w.WalletReadyState=void 0,function(t){t.Loading="Loading",t.NotFound="NotFound",t.Found="Found"}(t||(w.WalletReadyState=t={})),function(t){t.Loading="Loading",t.NotFound="NotFound",t.Disconnect="Disconnected",t.Connected="Connected"}(e||(w.AdapterState=e={})),function(t){t.Mainnet="Mainnet",t.Shasta="Shasta",t.Nile="Nile",t.Unknown="Unknown"}(n||(w.NetworkType=n={})),function(t){t.Mainnet="Mainnet",t.Shasta="Shasta",t.Nile="Nile"}(o||(w.ChainNetwork=o={})),w.TIP6963AnnounceProviderEventName="TIP6963:announceProvider",w.TIP6963RequestProviderEventName="TIP6963:requestProvider"),w;var t,e,n,o}function y(){if(f)return i;f=1;var t=i&&i.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(i,"__esModule",{value:!0}),i.Adapter=i.EventEmitter=void 0;const n=t((e||(e=1,function(t){var e=Object.prototype.hasOwnProperty,n="~";function o(){}function r(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function i(t,e,o,i,s){if("function"!=typeof o)throw new TypeError("The listener must be a function");var a=new r(o,i||t,s),c=n?n+e:e;return t._events[c]?t._events[c].fn?t._events[c]=[t._events[c],a]:t._events[c].push(a):(t._events[c]=a,t._eventsCount++),t}function s(t,e){0==--t._eventsCount?t._events=new o:delete t._events[e]}function a(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(n=!1)),a.prototype.eventNames=function(){var t,o,r=[];if(0===this._eventsCount)return r;for(o in t=this._events)e.call(t,o)&&r.push(n?o.slice(1):o);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(t)):r},a.prototype.listeners=function(t){var e=n?n+t:t,o=this._events[e];if(!o)return[];if(o.fn)return[o.fn];for(var r=0,i=o.length,s=new Array(i);r<i;r++)s[r]=o[r].fn;return s},a.prototype.listenerCount=function(t){var e=n?n+t:t,o=this._events[e];return o?o.fn?1:o.length:0},a.prototype.emit=function(t,e,o,r,i,s){var a=n?n+t:t;if(!this._events[a])return!1;var c,l,d=this._events[a],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(t,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,e),!0;case 3:return d.fn.call(d.context,e,o),!0;case 4:return d.fn.call(d.context,e,o,r),!0;case 5:return d.fn.call(d.context,e,o,r,i),!0;case 6:return d.fn.call(d.context,e,o,r,i,s),!0}for(l=1,c=new Array(u-1);l<u;l++)c[l-1]=arguments[l];d.fn.apply(d.context,c)}else{var h,p=d.length;for(l=0;l<p;l++)switch(d[l].once&&this.removeListener(t,d[l].fn,void 0,!0),u){case 1:d[l].fn.call(d[l].context);break;case 2:d[l].fn.call(d[l].context,e);break;case 3:d[l].fn.call(d[l].context,e,o);break;case 4:d[l].fn.call(d[l].context,e,o,r);break;default:if(!c)for(h=1,c=new Array(u-1);h<u;h++)c[h-1]=arguments[h];d[l].fn.apply(d[l].context,c)}}return!0},a.prototype.on=function(t,e,n){return i(this,t,e,n,!1)},a.prototype.once=function(t,e,n){return i(this,t,e,n,!0)},a.prototype.removeListener=function(t,e,o,r){var i=n?n+t:t;if(!this._events[i])return this;if(!e)return s(this,i),this;var a=this._events[i];if(a.fn)a.fn!==e||r&&!a.once||o&&a.context!==o||s(this,i);else{for(var c=0,l=[],d=a.length;c<d;c++)(a[c].fn!==e||r&&!a[c].once||o&&a[c].context!==o)&&l.push(a[c]);l.length?this._events[i]=1===l.length?l[0]:l:s(this,i)}return this},a.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&s(this,e)):(this._events=new o,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a,t.exports=a}(s)),s.exports));i.EventEmitter=n.default;const o=h(),r=v();class a extends n.default{get connected(){return this.state===r.AdapterState.Connected}disconnect(){return console.info("The current adapter doesn't support disconnect by DApp."),Promise.resolve()}multiSign(t,e={}){return Promise.reject("The current wallet doesn't support multiSign.")}signTypedData(t){let e;try{e=(0,o.normalizeAndValidateTypedData)(t)}catch(t){return Promise.reject(t)}return this._signTypedData(e)}_signTypedData(t){return Promise.reject("The current wallet doesn't support signTypedData.")}switchChain(t){return Promise.reject("The current wallet doesn't support switch chain.")}}return i.Adapter=a,i}var A,g={};function m(){if(A)return g;function t(){return"undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator}return A=1,Object.defineProperty(g,"__esModule",{value:!0}),g.isInBrowser=t,g.checkAdapterState=function(e){if(!t())return;const n=[];function o(){for(const t of n)t()}function r(){e()&&o()}const i=setInterval(r,500);n.push((()=>clearInterval(i))),"loading"===document.readyState&&(document.addEventListener("DOMContentLoaded",r,{once:!0}),n.push((()=>document.removeEventListener("DOMContentLoaded",r))));"complete"!==document.readyState&&(window.addEventListener("load",r,{once:!0}),n.push((()=>window.removeEventListener("load",r))));r(),setTimeout(o,6e4)},g.isInMobileBrowser=function(){return"undefined"!=typeof navigator&&navigator.userAgent.match(/Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i)},g}var W,b,S,k={},I={};function T(){return W||(W=1,function(t){var e=I&&I.__awaiter||function(t,e,n,o){return new(n||(n=Promise))((function(r,i){function s(t){try{c(o.next(t))}catch(t){i(t)}}function a(t){try{c(o.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((o=o.apply(t,e||[])).next())}))};function n(t){return!!t&&"object"==typeof t&&"string"==typeof t.title&&t.title.length>0&&(1===t.noticeType||2===t.noticeType||3===t.noticeType)}function o(t){const e={title:t.title,noticeType:t.noticeType};return"string"==typeof t.ext&&(e.ext=t.ext),"string"==typeof t.ios&&(e.ios=t.ios),"string"==typeof t.and&&(e.and=t.and),e}function r(t){const e=t&&"object"==typeof t?t:{},r={};if(e.wallets&&"object"==typeof e.wallets)for(const[t,i]of Object.entries(e.wallets)){if(!Array.isArray(i)){console.warn(`[WalletAdapter] Ignoring malformed risks for "${t}": expected an array, got ${typeof i}.`);continue}const e=[];for(const r of i)n(r)?e.push(o(r)):console.warn(`[WalletAdapter] Dropping malformed risk entry for "${t}":`,r);e.length>0&&(r[t]=e)}return{v:"string"==typeof e.v?e.v:"",ts:"number"==typeof e.ts?e.ts:0,wallets:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.defaultSecurityOptions=void 0,t.clearCache=function(){Object.keys(i).forEach((t=>{Reflect.deleteProperty(i,t)}))},t.fetchJsonWithCache=function(n){return e(this,void 0,void 0,(function*(){const{configUrls:o=t.defaultSecurityOptions.configUrls,timeout:s=t.defaultSecurityOptions.timeout,retries:a=t.defaultSecurityOptions.retries,onConfigFallback:c,cacheTTL:l=t.defaultSecurityOptions.cacheTTL}=n,d=Date.now();const u=(yield Promise.all(o.map((function(t){return e(this,void 0,void 0,(function*(){const n=i[t];if(n&&d-n.timestamp<l)return n.data;function o(){return e(this,void 0,void 0,(function*(){return new Promise(((e,n)=>{const o=new AbortController,i=setTimeout((()=>o.abort()),s);fetch(t,{signal:o.signal}).then((t=>{clearTimeout(i),t.ok?t.json().then((t=>e(r(t))),n):n(new Error("Fetch failed with code: "+t.status))})).catch((t=>{clearTimeout(i),n(t)}))}))}))}for(let e=0;e<=a;e++)try{const e=yield o();return i[t]={data:e,timestamp:Date.now()},e}catch(n){console.warn(`[WalletAdapter] Fetch attempt ${e+1} for ${t} failed:`,n)}return null}))})))).filter((t=>null!==t));return u.length>0?u.reduce(((t,e)=>{var n;e.ts>t.ts&&(t.v=e.v,t.ts=e.ts);for(const[o,r]of Object.entries(e.wallets))t.wallets[o]=[...null!==(n=t.wallets[o])&&void 0!==n?n:[],...r];return t}),{v:"",ts:0,wallets:{}}):c?r(yield c()):{v:"",ts:0,wallets:{}}}))},t.defaultSecurityOptions={onRiskDetected:t=>e(void 0,void 0,void 0,(function*(){console.log("[WalletAdapter] Risk detected:",t)})),configUrls:[],enabled:!1,timeout:2e3,retries:0,cacheTTL:6e5};const i={}}(I)),I}function C(){if(b)return k;b=1;var t=k&&k.__awaiter||function(t,e,n,o){return new(n||(n=Promise))((function(r,i){function s(t){try{c(o.next(t))}catch(t){i(t)}}function a(t){try{c(o.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((o=o.apply(t,e||[])).next())}))};Object.defineProperty(k,"__esModule",{value:!0}),k.AddonAdapter=void 0;const e=y(),n=u(),o=T(),r=v(),i=m();class s extends e.Adapter{constructor(t){if(super(),this.commonConfig={checkTimeout:2e3,openAppWithDeeplink:!0,openUrlWhenWalletNotFound:!0,securityOptions:o.defaultSecurityOptions},this._securityCheckCache=null,this.commonConfig=Object.assign(Object.assign({},this.commonConfig),t),"number"!=typeof this.commonConfig.checkTimeout)throw new Error("[WalletAdapter] config.checkTimeout should be a number");s._validateSecurityOptions(this.commonConfig.securityOptions)}static _validateSecurityOptions(t){const{enabled:e,configUrls:n}=t;if(e&&(!n||0===n.length))throw new Error("[WalletAdapter] config.securityOptions.configUrls is required when securityOptions.enabled is true")}updateSecurityOptions(t){const e=Object.assign(Object.assign({},this.commonConfig.securityOptions),t);s._validateSecurityOptions(e),this.commonConfig.securityOptions=e,this._securityCheckCache=null}_beforeConnect(){return t(this,void 0,void 0,(function*(){if(this.connected||this.connecting)return!1;if(yield this._checkWallet(),this.readyState===r.WalletReadyState.NotFound)throw(0,i.isInBrowser)()&&!this._openAppByDeepLinkIfNeed()&&!1!==this.commonConfig.openUrlWhenWalletNotFound&&window.open(this.url,"_blank"),new n.WalletNotFoundError;return yield this.checkSecurity(),!0}))}checkSecurity(){return t(this,void 0,void 0,(function*(){if(!this.commonConfig.securityOptions.enabled)return;const e=this._securityCheckCache;if(e&&(null===e.settledAt||Date.now()-e.settledAt<s.SECURITY_CHECK_CACHE_TTL))return e.promise;const n=(()=>t(this,void 0,void 0,(function*(){const t=(yield(0,o.fetchJsonWithCache)(this.commonConfig.securityOptions)).wallets[this.name];if(t&&t.length>0){const e=this.commonConfig.securityOptions.onRiskDetected||o.defaultSecurityOptions.onRiskDetected;yield e({risks:t})}})))(),r={promise:n,settledAt:null};return this._securityCheckCache=r,n.finally((()=>{this._securityCheckCache===r&&(r.settledAt=Date.now())})).catch((()=>{})),n}))}}return k.AddonAdapter=s,s.SECURITY_CHECK_CACHE_TTL=5e3,k}function E(){return S||(S=1,t=r,e=r&&r.__createBinding||(Object.create?function(t,e,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(e,n);r&&!("get"in r?!e.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,o,r)}:function(t,e,n,o){void 0===o&&(o=n),t[o]=e[n]}),n=r&&r.__exportStar||function(t,n){for(var o in t)"default"===o||Object.prototype.hasOwnProperty.call(n,o)||e(n,t,o)},Object.defineProperty(t,"__esModule",{value:!0}),n(y(),t),n(u(),t),n(v(),t),n(h(),t),n(m(),t),n(C(),t),n(T(),t)),r;var t,e,n}var N,O,_={},D={},j={};function P(){if(N)return j;N=1;var t=j&&j.__awaiter||function(t,e,n,o){return new(n||(n=Promise))((function(r,i){function s(t){try{c(o.next(t))}catch(t){i(t)}}function a(t){try{c(o.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((o=o.apply(t,e||[])).next())}))};Object.defineProperty(j,"__esModule",{value:!0}),j.supportTron=n,j.supportTronLink=o,j.isInTronLinkApp=r,j.openTronLink=function({dappIcon:t,dappName:n}={dappIcon:"",dappName:""}){if(!o()&&(0,e.isInMobileBrowser)()&&!r()){let e="",o="";try{e=document.title;const t=document.querySelector('link[rel*="icon"]');t&&(o=new URL(t.getAttribute("href")||"",location.href).toString())}catch(t){}const{origin:r,pathname:i,search:s,hash:a}=window.location,c=r+i+s+(a.includes("?")?a:`${a}?_=1`),l={action:"open",actionId:Date.now()+"",callbackUrl:"http://someurl.com",dappIcon:t||o,dappName:n||e,url:c,protocol:"TronLink",version:"1.0",chainId:"0x2b6653dc"};return window.location.href=`tronlinkoutside://pull.activity?param=${encodeURIComponent(JSON.stringify(l))}`,!0}return!1},j.waitTronwebReady=function(e){return t(this,void 0,void 0,(function*(){return new Promise(((t,n)=>{const o=setInterval((()=>{e.tronWeb&&(clearInterval(o),clearTimeout(r),t())}),50),r=setTimeout((()=>{clearInterval(o),n("`window.tron.tronweb` is not ready.")}),2e3)}))}))};const e=E();function n(){return(0,e.isInBrowser)()&&!(!window.tron||!window.tron.isTronLink)}function o(){return(0,e.isInBrowser)()&&!!(n()||window.tronLink||window.tronWeb)}function r(){return(0,e.isInBrowser)()&&void 0!==window.iTron}return j}function L(){return O||(O=1,function(t){var e=D&&D.__awaiter||function(t,e,n,o){return new(n||(n=Promise))((function(r,i){function s(t){try{c(o.next(t))}catch(t){i(t)}}function a(t){try{c(o.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((o=o.apply(t,e||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.TronLinkAdapter=t.TronLinkAdapterName=t.chainIdNetworkMap=void 0,t.getNetworkInfoByTronWeb=r;const n=E(),o=P();function r(o){return e(this,void 0,void 0,(function*(){var e,r,i;const{blockID:s=""}=yield o.trx.getBlockByNumber(0),a=`0x${s.slice(-8)}`;return{networkType:t.chainIdNetworkMap[a]||n.NetworkType.Unknown,chainId:a,fullNode:(null===(e=o.fullNode)||void 0===e?void 0:e.host)||"",solidityNode:(null===(r=o.solidityNode)||void 0===r?void 0:r.host)||"",eventServer:(null===(i=o.eventServer)||void 0===i?void 0:i.host)||""}}))}t.chainIdNetworkMap={"0x2b6653dc":n.NetworkType.Mainnet,"0x94a9059e":n.NetworkType.Shasta,"0xcd8690dc":n.NetworkType.Nile},t.TronLinkAdapterName="TronLink";class i extends n.AddonAdapter{constructor(r={}){super(r),this.name=t.TronLinkAdapterName,this.url="https://www.tronlink.org/",this.icon="data:image/png;base64,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",this._readyState=(0,n.isInBrowser)()?n.WalletReadyState.Loading:n.WalletReadyState.NotFound,this._state=(0,n.isInBrowser)()?n.AdapterState.Loading:n.AdapterState.NotFound,this._supportNewTronProtocol=!1,this._onChainChanged=t=>{this.emit("chainChanged",t)},this._onAccountsChanged=()=>{var t,e,o;const r=this.address||"",i=(null===(t=this._wallet)||void 0===t?void 0:t.tronWeb)&&(null===(o=null===(e=this._wallet)||void 0===e?void 0:e.tronWeb.defaultAddress)||void 0===o?void 0:o.base58)||"";this.setAddress(i||null),this.setState(this.address?n.AdapterState.Connected:n.AdapterState.Disconnect),this.emit("accountsChanged",this.address||"",r),!r&&this.address?this.emit("connect",this.address):r&&!this.address&&this.emit("disconnect")},this._checkPromise=null,this._updateWallet=()=>e(this,void 0,void 0,(function*(){var t,e,o,r,i,s,a,c;this._supportNewTronProtocol=!1;let l=this.state,d=this.address;if((0,n.isInMobileBrowser)())if(window.tronLink?this._wallet=window.tronLink:this._wallet={ready:!!(null===(t=window.tronWeb)||void 0===t?void 0:t.defaultAddress),tronWeb:window.tronWeb,request:()=>Promise.resolve(!0)},d=(null===(o=null===(e=this._wallet.tronWeb)||void 0===e?void 0:e.defaultAddress)||void 0===o?void 0:o.base58)||null,d){try{yield this.checkSecurity()}catch(t){return this.setAddress(null),void this.setState(n.AdapterState.Disconnect)}l=n.AdapterState.Connected}else l=n.AdapterState.Disconnect;else if(this.isLegacyTronLinkProvider(window.tron)){this._supportNewTronProtocol=!0,this._wallet=window.tron,this._listenTronEvent();try{d=(null===(r=this._wallet)||void 0===r?void 0:r.tronWeb)&&(null===(s=null===(i=this._wallet.tronWeb)||void 0===i?void 0:i.defaultAddress)||void 0===s?void 0:s.base58)||null,l=d?n.AdapterState.Connected:n.AdapterState.Disconnect}catch(t){return console.error("Unknown error: "+t," Please install TronLink extension wallet."),d=null,l=n.AdapterState.Disconnect,this._readyState=n.WalletReadyState.NotFound,void this.emit("readyStateChanged",this.readyState)}}else window.tronLink?(this._wallet=window.tronLink,d=(null===(c=null===(a=this._wallet.tronWeb)||void 0===a?void 0:a.defaultAddress)||void 0===c?void 0:c.base58)||null,l=this._wallet.ready?n.AdapterState.Connected:n.AdapterState.Disconnect):(this._wallet=null,d=null,l=n.AdapterState.NotFound);(0,n.isInMobileBrowser)()&&l===n.AdapterState.Disconnect&&this.checkForWalletReadyForApp(),this.setAddress(d),this.setState(l)})),this.checkReadyInterval=null;const{checkTimeout:i=5e3,dappIcon:s="",dappName:a="",openUrlWhenWalletNotFound:c=!0,openTronLinkAppOnMobile:l=!0,openAppWithDeeplink:d=!0}=r;if("number"!=typeof i)throw new Error("[TronLinkAdapter] config.checkTimeout should be a number");if(this.config=Object.assign(Object.assign({},this.commonConfig),{checkTimeout:i,openTronLinkAppOnMobile:l,openAppWithDeeplink:d,openUrlWhenWalletNotFound:c,dappIcon:s,dappName:a}),this._connecting=!1,this._wallet=null,this._address=null,!(0,n.isInBrowser)())return this._readyState=n.WalletReadyState.NotFound,void this.setState(n.AdapterState.NotFound);(0,n.isInMobileBrowser)()&&((0,o.supportTron)()||(0,n.isInMobileBrowser)()&&(window.tronLink||window.tronWeb))?(this._readyState=n.WalletReadyState.Found,this._updateWallet().then((()=>{this.connected&&this.emit("connect",this.address||"")}))):this._checkWallet().then((()=>{this.connected&&this.emit("connect",this.address||"")}))}get address(){return this._address}get state(){return this._state}get readyState(){return this._readyState}get connecting(){return this._connecting}network(){return e(this,void 0,void 0,(function*(){var t;try{if(yield this._checkWallet(),this.state!==n.AdapterState.Connected)throw new n.WalletDisconnectedError;const e=(null===(t=this._wallet)||void 0===t?void 0:t.tronWeb)||window.tronWeb;if(!e)throw new n.WalletDisconnectedError;try{return yield r(e)}catch(t){throw new n.WalletGetNetworkError(null==t?void 0:t.message,t)}}catch(t){throw this.emit("error",t),t}}))}connect(){return e(this,void 0,void 0,(function*(){var t,e;try{if(!(yield this._beforeConnect()))return;if(!this._wallet)return;if(this._connecting=!0,this._supportNewTronProtocol){const t=this._wallet;try{const e=(yield t.request({method:"eth_requestAccounts"}))[0];this.setAddress(e),this.setState(n.AdapterState.Connected),this._listenTronEvent(),this._wallet.tronWeb||(yield(0,o.waitTronwebReady)(this._wallet))}catch(t){let e=(null==t?void 0:t.message)||t||"Connect TronLink wallet failed.";throw-32002===t.code&&(e="The same DApp has already initiated a request to connect to TronLink wallet, and the pop-up window has not been closed."),4001===t.code&&(e="The user rejected connection."),new n.WalletConnectionError(e,t)}}else if(window.tronLink){const e=this._wallet,o=yield e.request({method:"tron_requestAccounts"});if(!o)throw new n.WalletConnectionError("TronLink wallet is locked or no wallet account is avaliable.");if(4e3===o.code)throw new n.WalletConnectionError("The same DApp has already initiated a request to connect to TronLink wallet, and the pop-up window has not been closed.");if(4001===o.code)throw new n.WalletConnectionError("The user rejected connection.");const r=(null===(t=e.tronWeb.defaultAddress)||void 0===t?void 0:t.base58)||"";this.setAddress(r),this.setState(n.AdapterState.Connected)}else{if(!window.tronWeb)throw new n.WalletConnectionError("Cannot connect wallet.");{const t=(null===(e=this._wallet.tronWeb.defaultAddress)||void 0===e?void 0:e.base58)||"";this.setAddress(t),this.setState(n.AdapterState.Connected)}}this.connected&&this.emit("connect",this.address||"")}catch(t){const e=t instanceof n.WalletError?t:new n.WalletConnectionError(null==t?void 0:t.message,t);throw this.emit("error",e),e}finally{this._connecting=!1}}))}disconnect(){return e(this,void 0,void 0,(function*(){this._supportNewTronProtocol&&this._stopListenTronEvent(),this.state===n.AdapterState.Connected&&(this.setAddress(null),this.setState(n.AdapterState.Disconnect),this.emit("disconnect"))}))}_checkAndSign(t,n){return e(this,void 0,void 0,(function*(){try{const e=yield this.checkAndGetWallet();try{return yield t(e)}catch(t){throw t instanceof Error||"object"==typeof t&&t.message?new n(t.message,t):"string"==typeof t?new n(t,new Error(t)):new n("Unknown error",t)}}catch(t){throw this.emit("error",t),t}}))}signTransaction(t){return e(this,void 0,void 0,(function*(){return this._checkAndSign((e=>e.tronWeb.trx.sign(t)),n.WalletSignTransactionError)}))}multiSign(t){return e(this,arguments,void 0,(function*(t,e={}){return this._checkAndSign((n=>n.tronWeb.trx.multiSign(t,void 0,e.permissionId)),n.WalletSignTransactionError)}))}signMessage(t){return e(this,void 0,void 0,(function*(){return this._checkAndSign((n=>e(this,void 0,void 0,(function*(){return n.tronWeb.trx.signMessageV2(t)}))),n.WalletSignMessageError)}))}_signTypedData(t){return e(this,void 0,void 0,(function*(){return this._checkAndSign((n=>e(this,void 0,void 0,(function*(){return n.tronWeb.trx._signTypedData(t.domain,t.types,t.message)}))),n.WalletSignTypedDataError)}))}switchChain(t){return e(this,void 0,void 0,(function*(){try{if(yield this._checkWallet(),this.state===n.AdapterState.NotFound)throw!1!==this.config.openUrlWhenWalletNotFound&&(0,n.isInBrowser)()&&window.open(this.url,"_blank"),new n.WalletNotFoundError;if(!this._supportNewTronProtocol)throw new n.WalletSwitchChainError("Current version of TronLink doesn't support switch chain operation.");const e=this._wallet;try{yield e.request({method:"wallet_switchEthereumChain",params:[{chainId:t}]})}catch(t){throw new n.WalletSwitchChainError((null==t?void 0:t.message)||t,t instanceof Error?t:new Error(t))}}catch(t){throw this.emit("error",t),t}}))}checkAndGetWallet(){return e(this,void 0,void 0,(function*(){if(this._openAppByDeepLinkIfNeed())throw new n.WalletNotFoundError;if(yield this._checkWallet(),this.state!==n.AdapterState.Connected)throw new n.WalletDisconnectedError;const t=this._wallet;if(!t||!t.tronWeb)throw new n.WalletDisconnectedError;return t}))}_openAppByDeepLinkIfNeed(){if(!1===this.config.openAppWithDeeplink||!1===this.config.openTronLinkAppOnMobile)return!1;const{dappName:t="",dappIcon:e=""}=this.config;return(0,o.openTronLink)({dappIcon:e,dappName:t})}_listenTronEvent(){var t,e;this._stopListenTronEvent();const n=this._wallet;null===(t=n.on)||void 0===t||t.call(n,"chainChanged",this._onChainChanged),null===(e=n.on)||void 0===e||e.call(n,"accountsChanged",this._onAccountsChanged)}_stopListenTronEvent(){var t,e;const n=this._wallet;null===(t=n.removeListener)||void 0===t||t.call(n,"chainChanged",this._onChainChanged),null===(e=n.removeListener)||void 0===e||e.call(n,"accountsChanged",this._onAccountsChanged)}isLegacyTronLinkProvider(t){return!!(null==t?void 0:t.isTronLink)}hasDesktopLegacyTronLinkProvider(){return this.isLegacyTronLinkProvider(window.tron)||!!window.tronLink}_checkWallet(){if(this.readyState===n.WalletReadyState.Found)return Promise.resolve(!0);if(this._checkPromise)return this._checkPromise;if((0,n.isInBrowser)()&&!(0,n.isInMobileBrowser)())return this._checkPromise=new Promise((t=>{let o=!1,r=null,i=null;const s=()=>{r&&(clearTimeout(r),r=null),"undefined"!=typeof window&&i&&window.removeEventListener(n.TIP6963AnnounceProviderEventName,i)};r=setTimeout((()=>{if(o)return;if(o=!0,s(),"undefined"==typeof window)return void t(!1);this._updateWallet();const e=this.state!==n.AdapterState.NotFound;this._readyState=e?n.WalletReadyState.Found:n.WalletReadyState.NotFound,this.emit("readyStateChanged",this._readyState),t(e)}),this.config.checkTimeout),i=r=>e(this,void 0,void 0,(function*(){var e,i;if(o)return;const{info:a,provider:c}=r.detail;if("TronLink"===a.name){o=!0,this._supportNewTronProtocol=!0,this._wallet=c;try{yield this.checkSecurity()}catch(e){return this.setAddress(null),this.setState(n.AdapterState.Disconnect),this._readyState=n.WalletReadyState.Found,this.emit("readyStateChanged",this.readyState),void t(!0)}this._listenTronEvent(),this._readyState=n.WalletReadyState.Found;const r=(null===(e=this._wallet)||void 0===e?void 0:e.tronWeb)&&(null===(i=this._wallet.tronWeb.defaultAddress)||void 0===i?void 0:i.base58)||null,a=r?n.AdapterState.Connected:n.AdapterState.Disconnect;this.setAddress(r),this.setState(a),this.emit("readyStateChanged",this.readyState),s(),t(!0)}})),window.addEventListener(n.TIP6963AnnounceProviderEventName,i),window.dispatchEvent(new Event(n.TIP6963RequestProviderEventName))})),this._checkPromise;const t=Math.floor(this.config.checkTimeout/100);let o,r=0;return this._checkPromise=new Promise((e=>{const i=()=>{r++,this._updateWallet();const i=!(!(0,n.isInMobileBrowser)()||!window.tronLink&&!window.tronWeb);(i||r>t)&&(o&&clearInterval(o),this._readyState=i?n.WalletReadyState.Found:n.WalletReadyState.NotFound,this.emit("readyStateChanged",this.readyState),e(i))};o=setInterval(i,100),i()})),this._checkPromise}checkForWalletReadyForApp(){if(this.checkReadyInterval)return;let t=0;const e=Math.floor(this.config.checkTimeout/200);this.checkReadyInterval=setInterval((()=>{var n,o;(window.tronLink?null===(n=window.tronLink.tronWeb)||void 0===n?void 0:n.defaultAddress:null===(o=window.tronWeb)||void 0===o?void 0:o.defaultAddress)?(this.checkReadyInterval&&clearInterval(this.checkReadyInterval),this.checkReadyInterval=null,this._updateWallet(),this.emit("connect",this.address||"")):t>e?(this.checkReadyInterval&&clearInterval(this.checkReadyInterval),this.checkReadyInterval=null):t++}),200)}setAddress(t){this._address=t}setState(t){t!==this.state&&(this._state=t,this.emit("stateChanged",t))}}t.TronLinkAdapter=i}(D)),D}var x,M,R={};function F(){return M||(M=1,t=_,e=_&&_.__createBinding||(Object.create?function(t,e,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(e,n);r&&!("get"in r?!e.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,o,r)}:function(t,e,n,o){void 0===o&&(o=n),t[o]=e[n]}),n=_&&_.__exportStar||function(t,n){for(var o in t)"default"===o||Object.prototype.hasOwnProperty.call(n,o)||e(n,t,o)},Object.defineProperty(t,"__esModule",{value:!0}),n(L(),t),n((x||(x=1,Object.defineProperty(R,"__esModule",{value:!0})),R),t),n(P(),t)),_;var t,e,n}var B,G,q,z,U,H,Z={};function Q(){return B||(B=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.isTrustApp=void 0,t.supportTrust=function(){return"undefined"!=typeof window&&!(!window.trustwallet||!window.trustwallet.tronLink)},t.openTrustWallet=function(){if(!(0,t.isTrustApp)()&&(0,e.isInMobileBrowser)())return window.location.href="https://link.trustwallet.com/open_url?url="+encodeURIComponent(window.location.href),!0;return!1};const e=E();t.isTrustApp=function(){return"undefined"!=typeof window&&void 0!==window.navigator&&/Trust/i.test(window.navigator.userAgent)}}(Z)),Z}function Y(){return G||(G=1,function(t){var e=o&&o.__awaiter||function(t,e,n,o){return new(n||(n=Promise))((function(r,i){function s(t){try{c(o.next(t))}catch(t){i(t)}}function a(t){try{c(o.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((o=o.apply(t,e||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.TrustAdapter=t.TrustAdapterName=void 0;const n=E(),r=F(),i=Q();t.TrustAdapterName="Trust";class s extends n.AddonAdapter{constructor(o={}){if(super(o),this.name=t.TrustAdapterName,this.url="https://trustwallet.com",this.icon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTgiIGhlaWdodD0iNjUiIHZpZXdCb3g9IjAgMCA1OCA2NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgOS4zODk0OUwyOC44OTA3IDBWNjUuMDA0MkM4LjI1NDUgNTYuMzM2OSAwIDM5LjcyNDggMCAzMC4zMzUzVjkuMzg5NDlaIiBmaWxsPSIjMDUwMEZGIi8+CjxwYXRoIGQ9Ik01Ny43ODIyIDkuMzg5NDlMMjguODkxNSAwVjY1LjAwNDJDNDkuNTI3NyA1Ni4zMzY5IDU3Ljc4MjIgMzkuNzI0OCA1Ny43ODIyIDMwLjMzNTNWOS4zODk0OVoiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8yMjAxXzY5NDIpIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMjIwMV82OTQyIiB4MT0iNTEuMzYxNSIgeTE9Ii00LjE1MjkzIiB4Mj0iMjkuNTM4NCIgeTI9IjY0LjUxNDciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agb2Zmc2V0PSIwLjAyMTEyIiBzdG9wLWNvbG9yPSIjMDAwMEZGIi8+CjxzdG9wIG9mZnNldD0iMC4wNzYyNDIzIiBzdG9wLWNvbG9yPSIjMDA5NEZGIi8+CjxzdG9wIG9mZnNldD0iMC4xNjMwODkiIHN0b3AtY29sb3I9IiM0OEZGOTEiLz4KPHN0b3Agb2Zmc2V0PSIwLjQyMDA0OSIgc3RvcC1jb2xvcj0iIzAwOTRGRiIvPgo8c3RvcCBvZmZzZXQ9IjAuNjgyODg2IiBzdG9wLWNvbG9yPSIjMDAzOEZGIi8+CjxzdG9wIG9mZnNldD0iMC45MDI0NjUiIHN0b3AtY29sb3I9IiMwNTAwRkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K",this._readyState=(0,n.isInBrowser)()?n.WalletReadyState.Loading:n.WalletReadyState.NotFound,this._state=n.AdapterState.Loading,this.messageHandler=t=>e(this,void 0,void 0,(function*(){var o,r,i;const s=null===(o=t.data)||void 0===o?void 0:o.message;if(s)if("accountsChanged"===s.action)setTimeout((()=>e(this,void 0,void 0,(function*(){var t;const e=this.address||"";if(null===(t=this._wallet)||void 0===t?void 0:t.ready){try{yield this.checkSecurity()}catch(t){return this.setAddress(null),void this.setState(n.AdapterState.Disconnect)}const t=s.data.address;this.setAddress(t),this.setState(n.AdapterState.Connected)}else this.setAddress(null),this.setState(n.AdapterState.Disconnect);(this.address||"")!==e&&this.emit("accountsChanged",this.address||"",e),!e&&this.address?this.emit("connect",this.address):e&&!this.address&&this.emit("disconnect")}))),200);else if("connect"===s.action){const t=this.connected,e=this.address||"",o=(null===(i=null===(r=this._wallet.tronWeb)||void 0===r?void 0:r.defaultAddress)||void 0===i?void 0:i.base58)||"";if(!o)return;try{yield this.checkSecurity()}catch(t){return this.setAddress(null),void this.setState(n.AdapterState.Disconnect)}this.setAddress(o),this.setState(n.AdapterState.Connected),t?o!==e&&this.emit("accountsChanged",this.address||"",e):this.emit("connect",o)}else"disconnect"===s.action&&(this.setAddress(null),this.setState(n.AdapterState.Disconnect),this.emit("disconnect"))})),this._checkPromise=null,this._updateWallet=()=>e(this,void 0,void 0,(function*(){var t,e;let o=this.state,r=this.address;if((0,i.supportTrust)())if(this._wallet=window.trustwallet.tronLink,this._listenEvent(),r=(null===(e=null===(t=this._wallet.tronWeb)||void 0===t?void 0:t.defaultAddress)||void 0===e?void 0:e.base58)||null,r){try{yield this.checkSecurity()}catch(t){return this.setAddress(null),void this.setState(n.AdapterState.Disconnect)}o=n.AdapterState.Connected}else o=n.AdapterState.Disconnect;else this._wallet=null,r=null,o=n.AdapterState.NotFound;this.setAddress(r),this.setState(o)})),this.config=Object.assign({},this.commonConfig),this._connecting=!1,this._wallet=null,this._address=null,!(0,n.isInBrowser)())return this._readyState=n.WalletReadyState.NotFound,void this.setState(n.AdapterState.NotFound);(0,i.supportTrust)()?(this._readyState=n.WalletReadyState.Found,this._updateWallet().then((()=>{this.connected&&this.emit("connect",this.address||"")}))):this._checkWallet().then((()=>{this.connected&&this.emit("connect",this.address||"")}))}get address(){return this._address}get state(){return this._state}get readyState(){return this._readyState}get connecting(){return this._connecting}network(){return e(this,void 0,void 0,(function*(){try{if(yield this._checkWallet(),this.state!==n.AdapterState.Connected)throw new n.WalletDisconnectedError;const t=this._wallet;if(!t||!t.tronWeb)throw new n.WalletDisconnectedError;try{return yield(0,r.getNetworkInfoByTronWeb)(t.tronWeb)}catch(t){throw new n.WalletGetNetworkError(null==t?void 0:t.message,t)}}catch(t){throw this.emit("error",t),t}}))}connect(){return e(this,void 0,void 0,(function*(){var t;try{if(!(yield this._beforeConnect()))return;if(!this._wallet)return;this._connecting=!0;const e=this._wallet,o=yield e.request({method:"tron_requestAccounts"});if(!o)throw new n.WalletConnectionError("Request connect error.");if(4e3===o.code)throw new n.WalletConnectionError("The same DApp has already initiated a request to connect to trustwallet, and the pop-up window has not been closed.");if(4001===o.code)throw new n.WalletConnectionError("The user rejected connection.");const r=(null===(t=e.tronWeb.defaultAddress)||void 0===t?void 0:t.base58)||"";this.setAddress(r),this.setState(n.AdapterState.Connected),this._listenEvent(),this.connected&&this.emit("connect",this.address||"")}catch(t){const e=t instanceof n.WalletError?t:new n.WalletConnectionError(null==t?void 0:t.message,t);throw this.emit("error",e),e}finally{this._connecting=!1}}))}disconnect(){return e(this,void 0,void 0,(function*(){this._stopListenEvent(),this.state===n.AdapterState.Connected&&(this.setAddress(null),this.setState(n.AdapterState.Disconnect),this.emit("disconnect"))}))}signTransaction(t){return e(this,void 0,void 0,(function*(){try{const e=yield this.checkAndGetWallet();try{return yield e.tronWeb.trx.sign(t)}catch(t){throw t instanceof Error||"object"==typeof t&&t.message?new n.WalletSignTransactionError(t.message,t):"string"==typeof t?new n.WalletSignTransactionError(t,new Error(t)):new n.WalletSignTransactionError("Unknown error",t)}}catch(t){throw this.emit("error",t),t}}))}multiSign(t){return e(this,arguments,void 0,(function*(t,e={}){try{const o=yield this.checkAndGetWallet();try{return yield o.tronWeb.trx.multiSign(t,void 0,e.permissionId)}catch(t){throw t instanceof Error||"object"==typeof t&&t.message?new n.WalletSignTransactionError(t.message,t):"string"==typeof t?new n.WalletSignTransactionError(t,new Error(t)):new n.WalletSignTransactionError("Unknown error",t)}}catch(t){throw this.emit("error",t),t}}))}signMessage(t){return e(this,void 0,void 0,(function*(){try{const e=yield this.checkAndGetWallet();try{return yield e.tronWeb.trx.signMessageV2(t)}catch(t){throw t instanceof Error||"object"==typeof t&&t.message?new n.WalletSignMessageError(t.message,t):"string"==typeof t?new n.WalletSignMessageError(t,new Error(t)):new n.WalletSignMessageError("Unknown error",t)}}catch(t){throw this.emit("error",t),t}}))}checkAndGetWallet(){return e(this,void 0,void 0,(function*(){if(this.checkIfopenTrustWallet(),yield this._checkWallet(),this.state!==n.AdapterState.Connected)throw new n.WalletDisconnectedError;const t=this._wallet;if(!t||!t.tronWeb)throw new n.WalletDisconnectedError;return t}))}_listenEvent(){this._stopListenEvent(),window.addEventListener("message",this.messageHandler)}_stopListenEvent(){window.removeEventListener("message",this.messageHandler)}checkIfopenTrustWallet(){if(!1!==this.config.openAppWithDeeplink&&(0,i.openTrustWallet)())throw new n.WalletNotFoundError}_openAppByDeepLinkIfNeed(){return!1!==this.config.openAppWithDeeplink&&(0,i.openTrustWallet)()}_checkWallet(){if(this.readyState===n.WalletReadyState.Found)return Promise.resolve(!0);if(this._checkPromise)return this._checkPromise;const t=Math.floor(this.config.checkTimeout/100);let e,o=0;return this._checkPromise=new Promise((r=>{const s=()=>{o++;const s=(0,i.supportTrust)();(s||o>t)&&(e&&clearInterval(e),this._readyState=s?n.WalletReadyState.Found:n.WalletReadyState.NotFound,this._updateWallet(),this.emit("readyStateChanged",this.readyState),r(s))};e=setInterval(s,100),s()})),this._checkPromise}setAddress(t){this._address=t}setState(t){t!==this.state&&(this._state=t,this.emit("stateChanged",t))}}t.TrustAdapter=s}(o)),o}return t((q||(q=1,z=n,U=n&&n.__createBinding||(Object.create?function(t,e,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(e,n);r&&!("get"in r?!e.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,o,r)}:function(t,e,n,o){void 0===o&&(o=n),t[o]=e[n]}),H=n&&n.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||U(e,t,n)},Object.defineProperty(z,"__esModule",{value:!0}),H(Y(),z),H(Q(),z)),n))}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tronweb3/tronwallet-adapter-trust",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Wallet adapter for Trust Extension.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"TRON",
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
"module": "./lib/esm/index.js",
|
|
24
24
|
"types": "./lib/types/index.d.ts",
|
|
25
25
|
"exports": {
|
|
26
|
-
"
|
|
26
|
+
"types": "./lib/types/index.d.ts",
|
|
27
27
|
"import": "./lib/esm/index.js",
|
|
28
|
-
"
|
|
28
|
+
"require": "./lib/cjs/index.js"
|
|
29
29
|
},
|
|
30
30
|
"files": [
|
|
31
31
|
"lib",
|
|
@@ -36,19 +36,19 @@
|
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@tronweb3/tronwallet-abstract-adapter": "^1.
|
|
40
|
-
"@tronweb3/tronwallet-adapter-tronlink": "^1.
|
|
39
|
+
"@tronweb3/tronwallet-abstract-adapter": "^1.2.0",
|
|
40
|
+
"@tronweb3/tronwallet-adapter-tronlink": "^1.2.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@testing-library/dom": "
|
|
44
|
-
"
|
|
45
|
-
"
|
|
43
|
+
"@testing-library/dom": "8.20.1",
|
|
44
|
+
"shx": "0.3.4",
|
|
45
|
+
"vitest": "3.2.4"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"clean": "shx mkdir -p lib && shx rm -rf lib",
|
|
49
49
|
"package": "shx echo '{ \"type\": \"commonjs\" }' > lib/cjs/package.json",
|
|
50
|
-
"test": "
|
|
51
|
-
"test:coverage": "
|
|
50
|
+
"test": "vitest run",
|
|
51
|
+
"test:coverage": "vitest run --coverage",
|
|
52
52
|
"build:umd": "node ../../../scripts/build-umd.js"
|
|
53
53
|
}
|
|
54
54
|
}
|
package/src/adapter.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {
|
|
2
|
-
Adapter,
|
|
3
2
|
AdapterState,
|
|
4
3
|
isInBrowser,
|
|
5
4
|
WalletReadyState,
|
|
@@ -9,6 +8,8 @@ import {
|
|
|
9
8
|
WalletConnectionError,
|
|
10
9
|
WalletSignTransactionError,
|
|
11
10
|
WalletGetNetworkError,
|
|
11
|
+
AddonAdapter,
|
|
12
|
+
WalletError,
|
|
12
13
|
} from '@tronweb3/tronwallet-abstract-adapter';
|
|
13
14
|
import type {
|
|
14
15
|
Transaction,
|
|
@@ -33,23 +34,11 @@ declare global {
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
export
|
|
37
|
-
/**
|
|
38
|
-
* Timeout in millisecond for checking if Trust wallet exists.
|
|
39
|
-
* Default is 2 * 1000ms
|
|
40
|
-
*/
|
|
41
|
-
checkTimeout?: number;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Set if open app using DeepLink.
|
|
45
|
-
* Default is true.
|
|
46
|
-
*/
|
|
47
|
-
openAppWithDeeplink?: boolean;
|
|
48
|
-
}
|
|
37
|
+
export type TrustAdapterConfig = BaseAdapterConfig;
|
|
49
38
|
|
|
50
39
|
export const TrustAdapterName = 'Trust' as AdapterName<'Trust'>;
|
|
51
40
|
|
|
52
|
-
export class TrustAdapter extends
|
|
41
|
+
export class TrustAdapter extends AddonAdapter {
|
|
53
42
|
name = TrustAdapterName;
|
|
54
43
|
url = 'https://trustwallet.com';
|
|
55
44
|
icon =
|
|
@@ -64,17 +53,10 @@ export class TrustAdapter extends Adapter {
|
|
|
64
53
|
private _address: string | null;
|
|
65
54
|
|
|
66
55
|
constructor(config: TrustAdapterConfig = {}) {
|
|
67
|
-
super();
|
|
68
|
-
const { checkTimeout = 2 * 1000, openUrlWhenWalletNotFound = true, openAppWithDeeplink = true } = config;
|
|
69
|
-
|
|
70
|
-
if (typeof checkTimeout !== 'number') {
|
|
71
|
-
throw new Error('[TrustAdapter] config.checkTimeout should be a number');
|
|
72
|
-
}
|
|
56
|
+
super(config);
|
|
73
57
|
|
|
74
58
|
this.config = {
|
|
75
|
-
|
|
76
|
-
openAppWithDeeplink,
|
|
77
|
-
openUrlWhenWalletNotFound,
|
|
59
|
+
...this.commonConfig,
|
|
78
60
|
};
|
|
79
61
|
this._connecting = false;
|
|
80
62
|
this._wallet = null;
|
|
@@ -87,7 +69,11 @@ export class TrustAdapter extends Adapter {
|
|
|
87
69
|
}
|
|
88
70
|
if (supportTrust()) {
|
|
89
71
|
this._readyState = WalletReadyState.Found;
|
|
90
|
-
this._updateWallet()
|
|
72
|
+
this._updateWallet().then(() => {
|
|
73
|
+
if (this.connected) {
|
|
74
|
+
this.emit('connect', this.address || '');
|
|
75
|
+
}
|
|
76
|
+
});
|
|
91
77
|
} else {
|
|
92
78
|
this._checkWallet().then(() => {
|
|
93
79
|
if (this.connected) {
|
|
@@ -136,33 +122,21 @@ export class TrustAdapter extends Adapter {
|
|
|
136
122
|
|
|
137
123
|
async connect(): Promise<void> {
|
|
138
124
|
try {
|
|
139
|
-
this.
|
|
140
|
-
if (this.connected || this.connecting) return;
|
|
141
|
-
await this._checkWallet();
|
|
142
|
-
if (this.state === AdapterState.NotFound) {
|
|
143
|
-
if (this.config.openUrlWhenWalletNotFound !== false && isInBrowser()) {
|
|
144
|
-
window.open(this.url, '_blank');
|
|
145
|
-
}
|
|
146
|
-
throw new WalletNotFoundError();
|
|
147
|
-
}
|
|
125
|
+
if (!(await this._beforeConnect())) return;
|
|
148
126
|
if (!this._wallet) return;
|
|
149
127
|
this._connecting = true;
|
|
150
128
|
const wallet = this._wallet as TronLinkWallet;
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
throw new WalletConnectionError('The user rejected connection.');
|
|
163
|
-
}
|
|
164
|
-
} catch (error: any) {
|
|
165
|
-
throw new WalletConnectionError(error?.message, error);
|
|
129
|
+
const res = await wallet.request({ method: 'tron_requestAccounts' });
|
|
130
|
+
if (!res) {
|
|
131
|
+
throw new WalletConnectionError('Request connect error.');
|
|
132
|
+
}
|
|
133
|
+
if (res.code === 4000) {
|
|
134
|
+
throw new WalletConnectionError(
|
|
135
|
+
'The same DApp has already initiated a request to connect to trustwallet, and the pop-up window has not been closed.'
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
if (res.code === 4001) {
|
|
139
|
+
throw new WalletConnectionError('The user rejected connection.');
|
|
166
140
|
}
|
|
167
141
|
|
|
168
142
|
const address = wallet.tronWeb.defaultAddress?.base58 || '';
|
|
@@ -171,8 +145,9 @@ export class TrustAdapter extends Adapter {
|
|
|
171
145
|
this._listenEvent();
|
|
172
146
|
this.connected && this.emit('connect', this.address || '');
|
|
173
147
|
} catch (error: any) {
|
|
174
|
-
|
|
175
|
-
|
|
148
|
+
const err = error instanceof WalletError ? error : new WalletConnectionError(error?.message, error);
|
|
149
|
+
this.emit('error', err);
|
|
150
|
+
throw err;
|
|
176
151
|
} finally {
|
|
177
152
|
this._connecting = false;
|
|
178
153
|
}
|
|
@@ -188,12 +163,12 @@ export class TrustAdapter extends Adapter {
|
|
|
188
163
|
this.emit('disconnect');
|
|
189
164
|
}
|
|
190
165
|
|
|
191
|
-
async signTransaction(transaction: Transaction
|
|
166
|
+
async signTransaction(transaction: Transaction): Promise<SignedTransaction> {
|
|
192
167
|
try {
|
|
193
168
|
const wallet = await this.checkAndGetWallet();
|
|
194
169
|
|
|
195
170
|
try {
|
|
196
|
-
return await wallet.tronWeb.trx.sign(transaction
|
|
171
|
+
return await wallet.tronWeb.trx.sign(transaction);
|
|
197
172
|
} catch (error: any) {
|
|
198
173
|
if (error instanceof Error || (typeof error === 'object' && error.message)) {
|
|
199
174
|
throw new WalletSignTransactionError(error.message, error);
|
|
@@ -209,16 +184,12 @@ export class TrustAdapter extends Adapter {
|
|
|
209
184
|
}
|
|
210
185
|
}
|
|
211
186
|
|
|
212
|
-
async multiSign(
|
|
213
|
-
transaction: Transaction,
|
|
214
|
-
privateKey?: string | false,
|
|
215
|
-
permissionId?: number
|
|
216
|
-
): Promise<SignedTransaction> {
|
|
187
|
+
async multiSign(transaction: Transaction, options: { permissionId?: number } = {}): Promise<SignedTransaction> {
|
|
217
188
|
try {
|
|
218
189
|
const wallet = await this.checkAndGetWallet();
|
|
219
190
|
|
|
220
191
|
try {
|
|
221
|
-
return await wallet.tronWeb.trx.multiSign(transaction,
|
|
192
|
+
return await wallet.tronWeb.trx.multiSign(transaction, undefined, options.permissionId);
|
|
222
193
|
} catch (error: any) {
|
|
223
194
|
if (error instanceof Error || (typeof error === 'object' && error.message)) {
|
|
224
195
|
throw new WalletSignTransactionError(error.message, error);
|
|
@@ -234,11 +205,11 @@ export class TrustAdapter extends Adapter {
|
|
|
234
205
|
}
|
|
235
206
|
}
|
|
236
207
|
|
|
237
|
-
async signMessage(message: string
|
|
208
|
+
async signMessage(message: string): Promise<string> {
|
|
238
209
|
try {
|
|
239
210
|
const wallet = await this.checkAndGetWallet();
|
|
240
211
|
try {
|
|
241
|
-
return await wallet.tronWeb.trx.signMessageV2(message
|
|
212
|
+
return await wallet.tronWeb.trx.signMessageV2(message);
|
|
242
213
|
} catch (error: any) {
|
|
243
214
|
if (error instanceof Error || (typeof error === 'object' && error.message)) {
|
|
244
215
|
throw new WalletSignMessageError(error.message, error);
|
|
@@ -272,15 +243,23 @@ export class TrustAdapter extends Adapter {
|
|
|
272
243
|
window.removeEventListener('message', this.messageHandler);
|
|
273
244
|
}
|
|
274
245
|
|
|
275
|
-
private messageHandler = (e: TronLinkMessageEvent) => {
|
|
246
|
+
private messageHandler = async (e: TronLinkMessageEvent) => {
|
|
276
247
|
const message = e.data?.message;
|
|
277
248
|
if (!message) {
|
|
278
249
|
return;
|
|
279
250
|
}
|
|
280
251
|
if (message.action === 'accountsChanged') {
|
|
281
|
-
setTimeout(() => {
|
|
252
|
+
setTimeout(async () => {
|
|
282
253
|
const preAddr = this.address || '';
|
|
283
254
|
if ((this._wallet as TronLinkWallet)?.ready) {
|
|
255
|
+
// Gate the connect transition with the security check.
|
|
256
|
+
try {
|
|
257
|
+
await this.checkSecurity();
|
|
258
|
+
} catch {
|
|
259
|
+
this.setAddress(null);
|
|
260
|
+
this.setState(AdapterState.Disconnect);
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
284
263
|
const address = (message.data as AccountsChangedEventData).address;
|
|
285
264
|
this.setAddress(address);
|
|
286
265
|
this.setState(AdapterState.Connected);
|
|
@@ -302,6 +281,18 @@ export class TrustAdapter extends Adapter {
|
|
|
302
281
|
const isCurConnected = this.connected;
|
|
303
282
|
const preAddress = this.address || '';
|
|
304
283
|
const address = (this._wallet as TronLinkWallet).tronWeb?.defaultAddress?.base58 || '';
|
|
284
|
+
// Trust may post a `connect` message before the address is available;
|
|
285
|
+
// ignore it so we don't report a connection (and emit connect) with no address.
|
|
286
|
+
if (!address) {
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
try {
|
|
290
|
+
await this.checkSecurity();
|
|
291
|
+
} catch {
|
|
292
|
+
this.setAddress(null);
|
|
293
|
+
this.setState(AdapterState.Disconnect);
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
305
296
|
this.setAddress(address);
|
|
306
297
|
this.setState(AdapterState.Connected);
|
|
307
298
|
if (!isCurConnected) {
|
|
@@ -325,12 +316,19 @@ export class TrustAdapter extends Adapter {
|
|
|
325
316
|
}
|
|
326
317
|
}
|
|
327
318
|
|
|
319
|
+
protected _openAppByDeepLinkIfNeed(): boolean {
|
|
320
|
+
if (this.config.openAppWithDeeplink === false) {
|
|
321
|
+
return false;
|
|
322
|
+
}
|
|
323
|
+
return openTrustWallet();
|
|
324
|
+
}
|
|
325
|
+
|
|
328
326
|
private _checkPromise: Promise<boolean> | null = null;
|
|
329
327
|
/**
|
|
330
328
|
* check if wallet exists by interval, the promise only resolve when wallet detected or timeout
|
|
331
329
|
* @returns if trustwallet exists
|
|
332
330
|
*/
|
|
333
|
-
|
|
331
|
+
protected _checkWallet(): Promise<boolean> {
|
|
334
332
|
if (this.readyState === WalletReadyState.Found) {
|
|
335
333
|
return Promise.resolve(true);
|
|
336
334
|
}
|
|
@@ -359,15 +357,26 @@ export class TrustAdapter extends Adapter {
|
|
|
359
357
|
return this._checkPromise;
|
|
360
358
|
}
|
|
361
359
|
|
|
362
|
-
private _updateWallet = () => {
|
|
360
|
+
private _updateWallet = async () => {
|
|
363
361
|
let state = this.state;
|
|
364
362
|
let address = this.address;
|
|
365
363
|
if (supportTrust()) {
|
|
366
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
367
364
|
this._wallet = window.trustwallet!.tronLink;
|
|
368
365
|
this._listenEvent();
|
|
369
366
|
address = this._wallet.tronWeb?.defaultAddress?.base58 || null;
|
|
370
|
-
|
|
367
|
+
if (address) {
|
|
368
|
+
// Only run the security check once the wallet is actually connected.
|
|
369
|
+
try {
|
|
370
|
+
await this.checkSecurity();
|
|
371
|
+
} catch {
|
|
372
|
+
this.setAddress(null);
|
|
373
|
+
this.setState(AdapterState.Disconnect);
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
376
|
+
state = AdapterState.Connected;
|
|
377
|
+
} else {
|
|
378
|
+
state = AdapterState.Disconnect;
|
|
379
|
+
}
|
|
371
380
|
} else {
|
|
372
381
|
this._wallet = null;
|
|
373
382
|
address = null;
|