@tronweb3/tronwallet-adapter-trust 1.0.3 → 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.
@@ -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 l(){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),l=n?n+e:e;return t._events[l]?t._events[l].fn?t._events[l]=[t._events[l],a]:t._events[l].push(a):(t._events[l]=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 l,c,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(c=1,l=new Array(h-1);c<h;c++)l[c-1]=arguments[c];d.fn.apply(d.context,l)}else{var u,w=d.length;for(c=0;c<w;c++)switch(d[c].once&&this.removeListener(t,d[c].fn,void 0,!0),h){case 1:d[c].fn.call(d[c].context);break;case 2:d[c].fn.call(d[c].context,e);break;case 3:d[c].fn.call(d[c].context,e,r);break;case 4:d[c].fn.call(d[c].context,e,r,o);break;default:if(!l)for(u=1,l=new Array(h-1);u<h;u++)l[u-1]=arguments[u];d[c].fn.apply(d[c].context,l)}}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 l=0,c=[],d=a.length;l<d;l++)(a[l].fn!==e||o&&!a[l].once||r&&a[l].context!==r)&&c.push(a[l]);c.length?this._events[i]=1===c.length?c[0]:c: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 l 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,e={}){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=l,s}var c,d={};var h,u={};var w,p,f={};function v(){return p||(p=1,t=i,r=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]}),o=i&&i.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)},Object.defineProperty(t,"__esModule",{value:!0}),o(l(),t),o(function(){if(c)return d;c=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}}return 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"}},d}(),t),o((h||(h=1,Object.defineProperty(u,"__esModule",{value:!0}),u.TIP6963RequestProviderEventName=u.TIP6963AnnounceProviderEventName=u.ChainNetwork=u.NetworkType=void 0,function(t){t.Mainnet="Mainnet",t.Shasta="Shasta",t.Nile="Nile",t.Unknown="Unknown"}(e||(u.NetworkType=e={})),function(t){t.Mainnet="Mainnet",t.Shasta="Shasta",t.Nile="Nile"}(n||(u.ChainNetwork=n={})),u.TIP6963AnnounceProviderEventName="TIP6963:announceProvider",u.TIP6963RequestProviderEventName="TIP6963:requestProvider"),u),t),o(function(){if(w)return f;function t(){return"undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator}return w=1,Object.defineProperty(f,"__esModule",{value:!0}),f.isInBrowser=t,f.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)},f.isInMobileBrowser=function(){return"undefined"!=typeof navigator&&navigator.userAgent.match(/Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i)},f}(),t)),i;var t,e,n,r,o}var A,g,y={},m={},W={};function b(){if(A)return W;A=1;var t=W&&W.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function s(t){try{l(r.next(t))}catch(t){i(t)}}function a(t){try{l(r.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}l((r=r.apply(t,e||[])).next())}))};Object.defineProperty(W,"__esModule",{value:!0}),W.supportTron=n,W.supportTronLink=r,W.isInTronLinkApp=o,W.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,l=o+i+s+(a.includes("?")?a:`${a}?_=1`),c={action:"open",actionId:Date.now()+"",callbackUrl:"http://someurl.com",dappIcon:t||r,dappName:n||e,url:l,protocol:"TronLink",version:"1.0",chainId:"0x2b6653dc"};return window.location.href=`tronlinkoutside://pull.activity?param=${encodeURIComponent(JSON.stringify(c))}`,!0}return!1},W.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=v();function n(){return(0,e.isInBrowser)()&&!(!window.tron||!window.tron.isTronLink)}function r(){return(0,e.isInBrowser)()&&!!(n()||window.tronLink||window.tronWeb)}function o(){return(0,e.isInBrowser)()&&void 0!==window.iTron}return W}function I(){return g||(g=1,function(t){var e=m&&m.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function s(t){try{l(r.next(t))}catch(t){i(t)}}function a(t){try{l(r.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}l((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=v(),r=b();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=(0,n.isInBrowser)()?n.AdapterState.Loading:n.AdapterState.NotFound,this._supportNewTronProtocol=!1,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)||"";this.setAddress(i||null),this.setState(this.address?n.AdapterState.Connected: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,l,c;this._supportNewTronProtocol=!1;let d=this.state,h=this.address;if((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)},h=(null===(r=null===(e=this._wallet.tronWeb)||void 0===e?void 0:e.defaultAddress)||void 0===r?void 0:r.base58)||null,d=h?n.AdapterState.Connected:n.AdapterState.Disconnect;else if(window.tron&&window.tron.isTronLink){this._supportNewTronProtocol=!0,this._wallet=window.tron,this._listenTronEvent();try{h=(null===(o=this._wallet)||void 0===o?void 0:o.tronWeb)&&(null===(s=null===(i=this._wallet.tronWeb)||void 0===i?void 0:i.defaultAddress)||void 0===s?void 0:s.base58)||null,d=h?n.AdapterState.Connected:n.AdapterState.Disconnect}catch(t){return console.error("Unknown error: "+t," Please install TronLink extension wallet."),h=null,d=n.AdapterState.Disconnect,this._readyState=n.WalletReadyState.NotFound,void this.emit("readyStateChanged",this.readyState)}}else window.tronLink?(this._wallet=window.tronLink,h=(null===(l=null===(a=this._wallet.tronWeb)||void 0===a?void 0:a.defaultAddress)||void 0===l?void 0:l.base58)||null,d=this._wallet.ready?n.AdapterState.Connected:n.AdapterState.Disconnect):window.tronWeb?(this._wallet={ready:window.tronWeb.ready,tronWeb:window.tronWeb,request:()=>Promise.resolve(!0)},h=(null===(c=this._wallet.tronWeb.defaultAddress)||void 0===c?void 0:c.base58)||null,d=this._wallet.ready?n.AdapterState.Connected:n.AdapterState.Disconnect):(this._wallet=null,h=null,d=n.AdapterState.NotFound);(0,n.isInMobileBrowser)()&&d===n.AdapterState.Disconnect&&this.checkForWalletReadyForApp(),this.setAddress(h),this.setState(d)},this.checkReadyInterval=null;const{checkTimeout:o=3e4,dappIcon:i="",dappName:s="",openUrlWhenWalletNotFound:a=!0,openTronLinkAppOnMobile:l=!0,openAppWithDeeplink:c=!0}=e;if("number"!=typeof o)throw new Error("[TronLinkAdapter] config.checkTimeout should be a number");this.config={checkTimeout:o,openTronLinkAppOnMobile:l,openAppWithDeeplink:c,openUrlWhenWalletNotFound:a,dappIcon:i,dappName:s},this._connecting=!1,this._wallet=null,this._address=null,(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)}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.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)}))}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}))}checkIfOpenTronLink(){const{dappName:t="",dappIcon:e=""}=this.config;if(!1!==this.config.openTronLinkAppOnMobile&&!1!==this.config.openAppWithDeeplink&&(0,r.openTronLink)({dappIcon:e,dappName:t}))throw new n.WalletNotFoundError}_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)}_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}(m)),m}var k,S,T={};function N(){return S||(S=1,t=y,e=y&&y.__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=y&&y.__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(I(),t),n((k||(k=1,Object.defineProperty(T,"__esModule",{value:!0})),T),t),n(b(),t)),y;var t,e,n}var E,C,O,M,_,L,x={};function P(){return E||(E=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=v();t.isTrustApp=function(){return"undefined"!=typeof window&&void 0!==window.navigator&&/Trust/i.test(window.navigator.userAgent)}}(x)),x}function D(){return C||(C=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{l(r.next(t))}catch(t){i(t)}}function a(t){try{l(r.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}l((r=r.apply(t,e||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.TrustAdapter=t.TrustAdapterName=void 0;const n=v(),r=N(),i=P();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){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 r=yield this.checkAndGetWallet();try{return yield r.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}_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((O||(O=1,M=r,_=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]}),L=r&&r.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||_(e,t,n)},Object.defineProperty(M,"__esModule",{value:!0}),L(D(),M),L(P(),M)),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",
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
- "require": "./lib/cjs/index.js",
26
+ "types": "./lib/types/index.d.ts",
27
27
  "import": "./lib/esm/index.js",
28
- "types": "./lib/types/index.d.ts"
28
+ "require": "./lib/cjs/index.js"
29
29
  },
30
30
  "files": [
31
31
  "lib",
@@ -36,8 +36,8 @@
36
36
  "access": "public"
37
37
  },
38
38
  "dependencies": {
39
- "@tronweb3/tronwallet-abstract-adapter": "^1.1.12",
40
- "@tronweb3/tronwallet-adapter-tronlink": "^1.1.14"
39
+ "@tronweb3/tronwallet-abstract-adapter": "^1.2.0",
40
+ "@tronweb3/tronwallet-adapter-tronlink": "^1.2.0"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@testing-library/dom": "8.20.1",
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 interface TrustAdapterConfig extends BaseAdapterConfig {
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 Adapter {
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
- checkTimeout,
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.checkIfopenTrustWallet();
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
- try {
152
- const res = await wallet.request({ method: 'tron_requestAccounts' });
153
- if (!res) {
154
- throw new WalletConnectionError('Request connect error.');
155
- }
156
- if (res.code === 4000) {
157
- throw new WalletConnectionError(
158
- 'The same DApp has already initiated a request to connect to trustwallet, and the pop-up window has not been closed.'
159
- );
160
- }
161
- if (res.code === 4001) {
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
- this.emit('error', error);
175
- throw error;
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
  }
@@ -268,15 +243,23 @@ export class TrustAdapter extends Adapter {
268
243
  window.removeEventListener('message', this.messageHandler);
269
244
  }
270
245
 
271
- private messageHandler = (e: TronLinkMessageEvent) => {
246
+ private messageHandler = async (e: TronLinkMessageEvent) => {
272
247
  const message = e.data?.message;
273
248
  if (!message) {
274
249
  return;
275
250
  }
276
251
  if (message.action === 'accountsChanged') {
277
- setTimeout(() => {
252
+ setTimeout(async () => {
278
253
  const preAddr = this.address || '';
279
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
+ }
280
263
  const address = (message.data as AccountsChangedEventData).address;
281
264
  this.setAddress(address);
282
265
  this.setState(AdapterState.Connected);
@@ -298,6 +281,18 @@ export class TrustAdapter extends Adapter {
298
281
  const isCurConnected = this.connected;
299
282
  const preAddress = this.address || '';
300
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
+ }
301
296
  this.setAddress(address);
302
297
  this.setState(AdapterState.Connected);
303
298
  if (!isCurConnected) {
@@ -321,12 +316,19 @@ export class TrustAdapter extends Adapter {
321
316
  }
322
317
  }
323
318
 
319
+ protected _openAppByDeepLinkIfNeed(): boolean {
320
+ if (this.config.openAppWithDeeplink === false) {
321
+ return false;
322
+ }
323
+ return openTrustWallet();
324
+ }
325
+
324
326
  private _checkPromise: Promise<boolean> | null = null;
325
327
  /**
326
328
  * check if wallet exists by interval, the promise only resolve when wallet detected or timeout
327
329
  * @returns if trustwallet exists
328
330
  */
329
- private _checkWallet(): Promise<boolean> {
331
+ protected _checkWallet(): Promise<boolean> {
330
332
  if (this.readyState === WalletReadyState.Found) {
331
333
  return Promise.resolve(true);
332
334
  }
@@ -355,14 +357,26 @@ export class TrustAdapter extends Adapter {
355
357
  return this._checkPromise;
356
358
  }
357
359
 
358
- private _updateWallet = () => {
360
+ private _updateWallet = async () => {
359
361
  let state = this.state;
360
362
  let address = this.address;
361
363
  if (supportTrust()) {
362
364
  this._wallet = window.trustwallet!.tronLink;
363
365
  this._listenEvent();
364
366
  address = this._wallet.tronWeb?.defaultAddress?.base58 || null;
365
- state = this._wallet.ready ? AdapterState.Connected : AdapterState.Disconnect;
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
+ }
366
380
  } else {
367
381
  this._wallet = null;
368
382
  address = null;