Cryptocurrency Heatmap | MUST READ

[]


Get Your Nord VPN account NOW ! claim the discount
Cryptocurrency Heatmap — TradingView {“use strict”;const t=/(?:^|;)s*theme=(dark|light)(?:;|$)|$/.exec(document.cookie)[1];t&&(document.documentElement.classList.toggle(“theme-dark”,”dark”===t),document.documentElement.classList.toggle(“theme-light”,”light”===t),window.initData=window.initData||{},window.initData.theme=t)})(); ]]> {“use strict”;function t(t,e=!1){const{searchParams:s}=new URL(String(location)),n=function(t){const e=t+”=”,s=document.cookie.split(“;”);for(let t=0;t{},s=”~m~”;class n{constructor(t,e={}){this.sessionid=null,this.connected=!1,this._timeout=null,this._base=t,this._options={timeout:e.timeout||2e4}}connect(){this._socket=new WebSocket(this._prepareUrl()),this._socket.onmessage=t=>{if(“string”!=typeof t.data)throw new TypeError(`The WebSocket message should be a string. Recieved ${Object.prototype.toString.call(t.data)}`);this._onData(t.data)},this._socket.onclose=this._onClose.bind(this),this._socket.onerror=this._onError.bind(this)}send(t){this._socket&&this._socket.send(this._encode(t))}disconnect(){this._clearIdleTimeout(),this._socket&&(this._socket.onmessage=e,this._socket.onclose=e,this._socket.onerror=e,this._socket.close())}_clearIdleTimeout(){null!==this._timeout&&(clearTimeout(this._timeout),this._timeout=null)}_encode(t){let e,o=””;const i=Array.isArray(t)?t:[t],c=i.length;for(let t=0;t=20}isMaxReconnects(){return this._reconnectCount>=20}getPingInfo(){return this._pingInfo||null}_tryGetProHost(){return window.TradingView&&window.TradingView.onChartPage&&”battle”===window.environment&&!this._redirectCount&&-1===window.location.href.indexOf(“ws_host”)?this._initialHost?this._initialHost:void 0!==window.user&&window.user.pro_plan?this._proHost||this._suggestedHost:null:null}_queueMessage(t){0===this._queueStack.length&&this._logMessage(0,”Socket is not connected. Queued a message”),this._queueStack.push(t)}_processMessageQueue(){0!==this._queueStack.length&&(this._logMessage(0,”Processing queued messages”),this._queueStack.forEach(this.send.bind(this)),this._logMessage(0,”Processed “+this._queueStack.length+” messages”),this._queueStack=[])}_onDisconnect(t){this._noReconnectAfterTimeout||null!==this._reconnectTimeout||(this._reconnectTimeout=setTimeout(this._tryReconnect.bind(this),5e3)),this._clearOnlineCancellationToken();let e=”disconnect session:”+this.getSessionId();t&&(e+=”, code:”+t.code+”, reason:”+t.reason,1005===t.code&&this._sendTelemetry(“websocket_code_1005″)),this._logMessage(0,e),this._propagateDisconnect(t),this._closeSocket(),this._queueStack=[]}_closeSocket(){null!==this._socket&&(this._socket.offAll(),this._socket.disconnect(),this._socket=null)}_logMessage(t,e){const s={method:t,message:e};this._logger?this._flushLogMessage(s):(s.message=`[${(new Date).toISOString()}] ${s.message}`,this._logsQueue.push(s))}_flushLogMessage(t){switch(t.method){case 2:this._logger.logDebug(t.message);break;case 3:this._logger.logError(t.message);break;case 0:this._logger.logInfo(t.message);break;case 1:this._logger.logNormal(t.message)}}_flushLogs(){this._flushLogMessage({method:1,message:”messages from queue. Start.”}),this._logsQueue.forEach((t=>{this._flushLogMessage(t)})),this._flushLogMessage({method:1,message:”messages from queue. End.”}),this._logsQueue=[]}_sendTelemetry(t,e){const s={event:t,params:e};this._telemetry?this._flushTelemetryObject(s):this._telemetryObjectsQueue.push(s)}_flushTelemetryObject(t){this._telemetry.sendChartReport(t.event,t.params,!1)}_flushTelemetry(){this._telemetryObjectsQueue.forEach((t=>{this._flushTelemetryObject(t)})),this._telemetryObjectsQueue=[]}_doConnect(){this._socket&&(this._socket.isConnected()||this._socket.isConnecting())||(this._clearOnlineCancellationToken(),this._host=this.getHost(),this._socket=new o(this._host,{timeout:this._dataRequestTimeout}),this._logMessage(0,”Connecting to “+this._host),this._bindEvents(),this._disconnectCallbacks=[],this._connectionStart=performance.now(),this._connectionEstablished=null,this._socket.connect())}_propagateDisconnect(t){const e=this._disconnectCallbacks.length;for(let s=0;s{const t=this.getSessionId();if(“string”==typeof t){const e=JSON.parse(t);if(e.redirect)return this._redirectCount+=1,this._suggestedHost=e.redirect,this.isMaxRedirects()&&this._sendTelemetry(“redirect_bailout”),void this._redirect()}this._connectionEstablished=performance.now(),this._processMessageQueue(),this._logMessage(0,”connect session:”+t)})),this._socket.on(“disconnect”,this._onDisconnect.bind(this)),this._socket.on(“close”,this._onDisconnect.bind(this)),this._socket.on(“error”,(t=>{this._logMessage(0,new Date+” session:”+this.getSessionId()+” websocket error:”+JSON.stringify(t)),this._sendTelemetry(“websocket_error”),this._errorsCount++,!this._errorsInfoSent&&this._errorsCount>=c&&(void 0!==this._lastConnectCallStack&&(this._sendTelemetry(“websocket_error_connect_stack”,{text:this._lastConnectCallStack}),delete this._lastConnectCallStack),void 0!==this._getLogHistory&&this._sendTelemetry(“websocket_error_log”,{text:this._getLogHistory(50).join(“n”)}),this._errorsInfoSent=!0)})))}_redirect(){this.disconnect(),this._reconnectWhenOnline()}_tryReconnect(){this._tryConnect()&&(this._reconnectCount+=1)}_tryConnect(){return this._clearReconnectTimeout(),this._lastConnectCallStack=new Error(`WebSocket connect stack. Is connected: ${this.isConnected()}.`).stack||””,!this.isConnected()&&(this.disconnect(),this._reconnectWhenOnline(),!0)}_clearOnlineCancellationToken(){this._onlineCancellationToken&&(this._onlineCancellationToken(),this._onlineCancellationToken=null)}_clearReconnectTimeout(){null!==this._reconnectTimeout&&(clearTimeout(this._reconnectTimeout),this._reconnectTimeout=null)}_reconnectWhenOnline(){if(navigator.onLine)return this._logMessage(0,”Network status: online – trying to connect”),this._doConnect(),void(this._onReconnect&&this._onReconnect());this._logMessage(0,”Network status: offline – wait until online”),this._onlineCancellationToken=function(t){let e=t;const s=()=>{window.removeEventListener(“online”,s),e&&e()};return window.addEventListener(“online”,s),()=>{e=null}}((()=>{this._logMessage(0,”Network status changed to online – trying to connect”),this._doConnect(),this._onReconnect&&this._onReconnect()}))}_onTelemetrySent(t){“websocket_error”in t&&(this._errorsCount=0,this._errorsInfoSent=!1)}_startPing(){if(this._pingIntervalId)return;const t=i(this.getHost());t.pathname+=”ping”,t.protocol=”https:”;let e=0,s=0;const n=t=>{this._pingInfo=this._pingInfo||{max:0,min:1/0,avg:0};const n=(new Date).getTime()-t;n>this._pingInfo.max&&(this._pingInfo.max=n),n=10&&this._pingIntervalId&&(clearInterval(this._pingIntervalId),delete this._pingIntervalId)};this._pingIntervalId=setInterval((()=>{const e=(new Date).getTime(),s=new XMLHttpRequest;s.open(“GET”,t,!0),s.send(),s.onreadystatechange=()=>{s.readyState===XMLHttpRequest.DONE&&200===s.status&&n(e)}}),1e4)}}window.WSBackendConnection=new r(window.WEBSOCKET_HOST,{pingRequired:window.WS_HOST_PING_REQUIRED, proHost:window.WEBSOCKET_PRO_HOST,reconnectHost:window.WEBSOCKET_HOST_FOR_RECONNECT,initialHost:window.WEBSOCKET_INITIAL_HOST}),window.WSBackendConnectionCtor=r})(); ]]> {“use strict”;window.initData=window.initData||{},window.initData.block_widgetbar=function(i,t,n,a){function w(n){const w={resizerBridge:new t(window).allocate({areaName:”right”}),adaptive:!0,settingsPrefix:”widgetbar”,instantLoad:n,configuration:a};window.widgetbar=new i(w)}window.is_authenticated?w():window.loginStateChange.subscribe(this,(i=>{!i&&!window.widgetbar&&window.user&&window.is_authenticated&&w(!0)}))}})();]]>{“use strict”;function n(){const n=parseFloat(document.body.style.paddingRight||”0″);document.body.classList.toggle(“is-widgetbar-expanded”,n>46)}n(),function(n){let t=null;function e(){null===t&&(t=window.requestAnimationFrame(i))}function i(){n(),t=null}window.addEventListener(“resize”,e,!1)}(n)})();]]>

Know more about this !

Try Our Hosting Partners Hostinger.com Today!

Contact Us Now!

You are a:

7 + 11 =