1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3351],{39580:(e,t,s)=>{s.d(t,{z:()=>o});var i=s(34733);class r{connect(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.isSocketOpen())return;this.token=e,this.isManuallyClosed=!1,t&&(this.isReconnecting=!0),this.updateStatus("connecting"),this.closeSocket();let s=new WebSocket(this.buildWebSocketUrl(e));this.socket=s;let r=setTimeout(()=>{s.readyState===WebSocket.CONNECTING&&((0,i.Rm)("WebSocket connection timeout"),s.close())},this.CONNECT_TIMEOUT);s.onopen=()=>{clearTimeout(r),this.socket===s&&((0,i.Rm)("â
WebSocket transport opened"),this.startServerReadyTimeout(s))},s.onmessage=e=>{this.socket===s&&this.handleMessage(this.parseMessage(e.data))},s.onerror=()=>{(0,i.Rm)("â WebSocket connection or transport error")},s.onclose=e=>{if(clearTimeout(r),this.stopServerReadyTimeout(),this.socket!==s)return;let t=this.isServerRestart;this.socket=null,this.stopHeartbeat(),this.updateStatus("disconnected"),(0,i.Rm)("â ï¸ WebSocket disconnected:",e.reason||"code=".concat(e.code)),this.isManuallyClosed||t||this.scheduleReconnect(),t&&(this.isServerRestart=!1,this.scheduleReconnect())}}scheduleReconnect(){if(this.isManuallyClosed||this.isReconnecting&&this.reconnectTimer)return;this.stopReconnect(),this.isReconnecting=!0;let e=this.reconnectAttemptCount>=7?this.MAX_RETRY_DELAY:Math.min(this.INITIAL_RETRY_DELAY*2**this.reconnectAttemptCount,this.MAX_RETRY_DELAY);(0,i.Rm)("Scheduling reconnect in ".concat(e,"ms (attempt ").concat(this.reconnectAttemptCount+1,")")),this.reconnectTimer=setTimeout(()=>{if(this.reconnectTimer=void 0,this.reconnectAttemptCount++,this.isSocketOpen()){this.isReconnecting=!1;return}(0,i.Rm)("Attempting to reconnect..."),this.closeSocket(),this.connect(this.token,!0)},e)}stopReconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=void 0)}startHeartbeat(){this.stopHeartbeat(),this.sendHeartbeat(),this.heartbeatTimer=setInterval(()=>{this.sendHeartbeat()},this.HEARTBEAT_INTERVAL)}stopHeartbeat(){this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0),this.stopHeartbeatTimeout()}sendHeartbeat(){if(!this.isSocketOpen())return void this.handleHeartbeatLost("socket is not open");this.sendJson({op:"ping",timestamp:Date.now()})&&this.startHeartbeatTimeout()}startHeartbeatTimeout(){this.stopHeartbeatTimeout(),this.heartbeatTimeoutTimer=setTimeout(()=>{this.handleHeartbeatLost("pong timeout")},this.HEARTBEAT_TIMEOUT)}stopHeartbeatTimeout(){this.heartbeatTimeoutTimer&&(clearTimeout(this.heartbeatTimeoutTimer),this.heartbeatTimeoutTimer=void 0)}handleHeartbeatLost(e){this.isManuallyClosed||((0,i.Rm)("WebSocket heartbeat lost:",e),this.stopHeartbeat(),this.updateStatus("disconnected"),this.closeSocket(),this.scheduleReconnect())}startServerReadyTimeout(e){this.stopServerReadyTimeout(),this.serverReadyTimer=setTimeout(()=>{this.socket===e&&"connected"!==this.status&&((0,i.Rm)("WebSocket server ready timeout"),e.close())},this.SERVER_READY_TIMEOUT)}stopServerReadyTimeout(){this.serverReadyTimer&&(clearTimeout(this.serverReadyTimer),this.serverReadyTimer=void 0)}disconnect(){this.isManuallyClosed=!0,this.stopReconnect(),this.stopHeartbeat(),this.stopServerReadyTimeout(),this.closeSocket(),this.updateStatus("disconnected")}updateStatus(e){this.status!==e&&(this.status=e,this.statusListeners.forEach(t=>t(e)))}isConnected(){return"connected"===this.status}onStatusChange(e){return this.statusListeners.add(e),e(this.status),()=>this.statusListeners.delete(e)}subscribe(e,t){this.setSubscription(e,t)}unsubscribe(e,t){this.setUnSubscription(e,t)}setSubscription(e,t){this.subscriptions.has(e)||this.subscriptions.set(e,new Set);let s=this.subscriptions.get(e);s.has(t)||s.add(t)}setUnSubscription(e,t){if(t){let s=this.subscriptions.get(e);null==s||s.delete(t),(null==s?void 0:s.size)===0&&this.subscriptions.delete(e)}else this.subscriptions.delete(e)}subscribeTopic(e,t,s,i){this.setSubscription(t,i),this.activeEventMap.set(this.buildActiveEventKey(e,t,s),{topic:e,event:t,data:s}
1),this.isSocketOpen()&&this.sendTopicMessage(e,t,s)}unsubscribeTopic(e,t,s,r){this.activeEventMap.delete(this.buildActiveEventKey(e,t,s)),(0,i.Rm)("\uD83D\uDD34 Unsubscribe topic:",t),"unsubscribe"===e&&this.isSocketOpen()&&this.sendTopicMessage(e,t,s),this.setUnSubscription(t,r)}restoreSubscriptions(){if(!this.isManuallyClosed&&this.isSocketOpen())for(let{topic:e,event:t,data:s}of this.activeEventMap.values())(0,i.Rm)("\uD83D\uDD01 Re-subscribing topic: ".concat(t)),this.sendTopicMessage(e,t,s)}sendTopicMessage(e,t,s){if("auth"===e)return void this.sendJson({op:"auth",id:this.nextRequestId(),type:"jwt",token:s});if("subscribe"!==e&&"unsubscribe"!==e)return void this.sendJson({op:e,id:this.nextRequestId(),data:s});let i=this.buildSubscriptionArgs(t,s);0!==i.length&&this.sendJson({op:e,id:this.nextRequestId(),args:i})}sendJson(e){var t;return!!this.isSocketOpen()&&(null==(t=this.socket)||t.send(JSON.stringify(e)),!0)}handleMessage(e){if("connected"===e.event)return void this.handleServerConnected(e);if("pong"===e.event)return void this.stopHeartbeatTimeout();if("reconnect"===e.event)return void this.handleRestartMessage();if("subscribed"===e.event||"unsubscribed"===e.event)return void(0,i.Rm)("WebSocket message:",e.event,e);if("error"===e.event)return void(0,i.Rm)("WebSocket error:",e.code||"",e.message||e);if(e.channel)return void this.handleMarketUpdate(e,e.data);if(e.event){var t;this.dispatch(e.event,null!=(t=e.data)?t:e)}}handleServerConnected(e){var t;this.stopServerReadyTimeout(),(0,i.Rm)("â
WebSocket server connected:",(null==(t=e.data)?void 0:t.connId)||""),this.isReconnecting=!1,this.isServerRestart=!1,this.reconnectAttemptCount=0,this.updateStatus("connected"),this.startHeartbeat(),this.restoreSubscriptions()}handleMarketUpdate(e,t){let s=Array.isArray(t)?t:null!=t?[t]:[],i=e.channel;s.forEach(t=>{if(!t||"object"!=typeof t)return void this.dispatch(i,t);this.dispatch(i,this.normalizeMarketItem(t,e))})}normalizeMarketItem(e,t){var s,i,r,o,n,a,c,l,u,d,p,m,h,b,g,f,_,v,S;let k=null!=(i=null!=(s=e.interval)?s:e.t)?i:null==t?void 0:t.interval;return{...e,symbol:null!=(o=null!=(r=e.symbol)?r:e.s)?o:null==t?void 0:t.symbol,interval:k,timestamp:null!=(a=null!=(n=e.timestamp)?n:e.a)?a:e.lastTimestamp,open:null!=(l=null!=(c=e.open)?c:e.o)?l:e.openPrice,high:null!=(d=null!=(u=e.high)?u:e.h)?d:e.highPrice,low:null!=(m=null!=(p=e.low)?p:e.l)?m:e.lowPrice,close:null!=(g=null!=(b=null!=(h=e.close)?h:e.c)?b:e.closePrice)?g:e.price,price:null!=(v=null!=(_=null!=(f=e.price)?f:e.c)?_:e.close)?v:e.closePrice,volume:null!=(S=e.volume)?S:e.v}}handleRestartMessage(){if((0,i.Rm)("WebSocket server restart notification received"),this.isServerRestart=!0,this.stopHeartbeat(),this.stopReconnect(),this.reconnectAttemptCount=0,this.updateStatus("connecting"),this.socket)return void this.socket.close();this.scheduleReconnect()}dispatch(e,t){var s;null==(s=this.subscriptions.get(e))||s.forEach(e=>{e(t)})}buildWebSocketUrl(e){let t=new URL(this.url,window.location.href);return"http:"===t.protocol?t.protocol="ws:":"https:"===t.protocol&&(t.protocol="wss:"),e&&!t.searchParams.has("token")&&t.searchParams.set("token",e),t.toString()}buildSubscriptionArgs(e,t){return Array.isArray(t)?t.flatMap(t=>this.buildSubscriptionArgs(e,t)):t&&"object"==typeof t?[t]:"string"!=typeof t?[]:t.split(",").map(e=>e.trim()).filter(Boolean).map(t=>this.parseSubscriptionArg(e,t))}parseSubscriptionArg(e,t){if("ohlcv"===e){let s=t.lastIndexOf("_");return -1!==s?{channel:e,symbol:t.slice(0,s),interval:t.slice(s+1)}:{channel:e,symbol:t,interval:"1m"}}return{channel:e,symbol:t}}buildActiveEventKey(e,t,s){return"".concat(e,":").concat(t,":").concat(JSON.stringify(s))}nextRequestId(){return this.requestSeq+=1,"req-".concat(Date.now(),"-").concat(this.requestSeq)}parseMessage(e){if("string"!=typeof e)return{event:"message",data:e};try{return JSON.parse(e)}catch(t){return{event:"message",data:e}}}isSocketOpen(){var e;return(null==(e=this.socket)?void 0:e.readyState)===WebSocket.OPEN}closeSocket(){this.socket&&(this.stopServerReadyTimeout(),this.stopHeartbeatTimeout(),this.socket.onopen=null,this.socket.onmessage=null,this.socket.onerror=null,this.socket.onclose=null,(this.socket.readyState===WebSocket.OPEN||this.socket.readyState===WebSocket.CONNECTING)&&this.socket.close(),this.socket=null)}constructor(e){this.socket=null,this.isManuallyClosed=!1,this.isServerRestart=!1,this.status="disconnected",this.statusListeners=new Set,this.subscriptions=new Map,this.activeEventMap=new Map,this.requestSeq=0,this.isReconnecting=!1,this.INITIAL_RETRY_DELAY=1e3,this.MAX_RETRY_DELAY=3e4,this.CONNECT_TIMEOUT=1e4,this.SERVER_READY_TIMEOUT=1e4,this.HEARTBEAT_INTERVAL=3e4,this.HEARTBEAT_TIMEOUT=1e4,this.reconnectAttemptCount=0,this.handleBrowserOffline=()=>{this.isManuallyClosed||((0,i.Rm)("Browser network offline"),this.stopHeartbeat(),this.updateStatus("disconnected"),this.closeSocket(),this.scheduleReconnect())},this.handleBrowserOnline=()=>{this.isManuallyClosed||this.isSocketOpen()||((0,i.Rm)("Browser network online"),this.scheduleReconnect())},this.url=e,window.addEventListener("offline",this.handleBrowserOffline),window.addEventListener("online",this.handleBrowserOnline)}}let o=new r("wss://api.xstable.ai/api/v1/ws")},57454:(e,t,s)=>{s.d(t,{AX:()=>C,Aq:()=>ea,Bd:()=>W,EY:()=>x,Gj:()=>es,Hg:()=>L,IP:()=>P,Iv:()=>eu,Jv:()=>q,M8:()=>z,OS:()=>K,Sh:()=>w,TK:()=>G,Tp:()=>Q,V6:()=>em,W5:()=>Z,Xc:()=>M,Z:()=>er,bu:()=>j,cX:()=>O,cZ:()=>T,fp:()=>el,hK:()=>ep,kH:()=>eh,kM:()=>V,ky:()=>U,l0:()=>X,l8:()=>ee,mC:()=>N,oG:()=>eo,p7:()=>ei,pZ:()=>et,ri:()=>$,vg:()=>H,wY:()=>ed,wm:()=>I,wt:()=>ec,xJ:()=>Y,y1:()=>F,z6:()=>A,zU:()=>R});var i=s(66926),r=s(44362),o=s(6558),n=s(70140),a=s(98503),c=s(39580),l=s(81430),u=s(41886),d=s(42351),p=s(34733);let m="key_device_id",h="__user_login_redirect__",b="user_store",g="__user_unit_preference__",f="local_time",_="__latest_collateral_value__",v="__lang__",S="__first_deposit_trial_shown__",k="",y="",w=()=>k,O=()=>y,T=e=>{y=e},L=()=>localStorage.getItem(v)||(0,p.Z0)(),q=e=>{localStorage.setItem(v,e),eh.setState({language:e})},I=e=>{localStorage.setItem(h,e)},x=()=>{let e=localStorage.getItem(h);return e?(localStorage.removeItem(h),e):"/"},R=(e,t)=>{window.localStorage.setItem("".concat(_,"_").concat(e),t)},j=e=>window.localStorage.getItem("".concat(_,"_").concat(e))||"",P=()=>{let e=localStorage.getItem(m);if(e)return e;let t=(0,r.A)();return localStorage.setItem(m,t),t},N=()=>{let e=localStorage.getItem(g);return e?Number(e):0},A=e=>{localStorage.setItem(g,"".concat(e))},C=()=>{localStorage.removeItem(b)},M=()=>{localStorage.removeItem("__login_type__")},B=async e=>{eh.setState({depositRemindStatus:e.status,depositWithdrawInfo:e}),(0,u.P0)("success",(0,i.TO)().t("trade.deposit_success_toast",{amount:(0,p.tu)(e.amount,9),token:e.asset}),u.KW);try{await Y()}catch(e){console.error("Failed to refresh user info after deposit:",e)}switch((0,l.gX)(),"success"===e.status&&await en(e.amount),e.status){case"success":(0,a.$s)(a.B4,{amount:(0,p.Pj)(e.amount),token:e.asset});break;case"failed":(0,a.$s)(a.QW,{amount:(0,p.Pj)(e.amount),token:e.asset})}},E=e=>{e&&("deposit"===e.recordType?B(e):"withdraw"===e.recordType&&(e=>{(0,u.P0)("success",(0,i.TO)().t("trade.withdraw_success_toast",{amount:(0,p.tu)(e.amount,9),token:e.asset,address:(0,p.UQ)(e.address)}),u.KW),Y()})(e))},D=()=>{er("processing")},z=()=>{c.z.subscribe("transfers",E)},H=()=>{c.z.unsubscribe("transfers",E)},U=()=>{c.z.subscribe("deposit_pending",D)},W=()=>{c.z.unsubscribe("deposit_pending",D)},J=()=>{el()},F=()=>{c.z.subscribe("trial_fund",J)},X=()=>{c.z.unsubscribe("trial_fund",J)},Y=async()=>{let e=await (0,n.P9)();if(e){let t=eh.getState().userInfo;e.token=(null==t?void 0:t.token)||"";let s=eh.getState().isLogined;JSON.stringify(t)!==JSON.stringify(e)&&eh.setState({userInfo:e}),s||eh.setState({isLogined:!0}),eh.setState({totalBalance:e.totalBalance,crossAvailableBalance:Number(e.crossAvailableBalance),isolatedAvailableBalance:Number(e.isolatedAvailableBalance)}),localStorage.setItem(b,JSON.stringify(e))}},K=async e=>{try{let s=await (0,n.mc)({type:e});if(s){if(s.token)k=s.token;else{var t;s.token=(null==(t=eh.getState().userInfo)?void 0:t.token)||""}return eh.setState({userInfo:s,isLogined:!0}),localStorage.setItem(f,"".concat(Date.now())),localStorage.setItem(b,JSON.stringify(s)),localStorage.setItem(d.JL,"true"),s}}catch(e){}return null},G=e=>{if(!e)return;eh.setState(t=>({userInfo:{...t.userInfo,...e},kickOut:t.kickOut}));let t={...eh.getState().userInfo};localStorage.setItem(b,JSON.stringify(t)),eh.setState({totalBalance:e.totalBalance,crossAvailableBalance:Number(e.crossAvailableBalance),isolatedAvailableBalance:Number(e.isolatedAvailableBalance)})},Q=async e=>{k=e;let t=await (0,n.P9)();return t&&(t.token=e,eh.setState({userInfo:t,isLogined:!0,triggerLogin:!0,totalBalance:t.totalBalance,crossAvailableBalance:Number(t.crossAvailableBalance),isolatedAvailableBalance:Number(t.isolatedAvailableBalance)}),localStorage.setItem(f,"".concat(Date.now())),localStorage.setItem(b,JSON.stringify(t)),localStorage.setItem(d.JL,"true")),t},V=async function(e,t,s,i){let r,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"solana";(r=i?await (0,n.iD)({address:e,signature:t,referralCode:i,chain:o}):await (0,n.iD)({address:e,signature:t,chain:o}))&&(k=r.token,eh.setState({userInfo:r,isLogined:!0,triggerLogin:!0,totalBalance:r.totalBalance,crossAvailableBalance:Number(r.crossAvailableBalance),isolatedAvailableBalance:Number(r.isolatedAvailableBalance)}),localStorage.setItem(f,"".concat(Date.now())),localStorage.setItem(b,JSON.stringify(r)),localStorage.setItem(d.JL,"true"))},Z=()=>eh.getState().userInfo,$=()=>{k="",eh.setState({userInfo:void 0,isLogined:!1,uiLoginSuccess:!1,triggerLogin:!1,totalBalance:0,crossAvailableBalance:0,isolatedAvailableBalance:0})},ee=()=>{eh.setState({uiLoginSuccess:!0})},et=()=>{eh.setState({placeOrderCompleted:!0})},es=()=>{eh.setState({placeOrderCompleted:!1})},ei=e=>{eh.setState({kickOut:e,isLogined:!1,uiLoginSuccess:!1,triggerLogin:!1,totalBalance:0,crossAvailableBalance:0,isolatedAvailableBalance:0})},er=e=>{eh.setState({depositRemindStatus:e})},eo=()=>{eh.setState({depositRemindStatus:"pending",depositWithdrawInfo:void 0})},en=async e=>
1{if(!localStorage.getItem(S)&&eh.getState().userInfo)try{let t=await (0,n.io)();if(console.log("reqGetTrialFund",t),t&&"object"==typeof t){let s=Object.values(t)[0];if(s&&"object"==typeof s){let t=Number(s.ALL);!Number.isNaN(t)&&t>0&&(((e,t)=>{let s=Math.min(t,e);eh.setState({trialFundData:{creditedAmount:e,trialFundActivatedAmount:s}})})(e,t),localStorage.setItem(S,"true"))}}}catch(e){console.error("Failed to check trial fund:",e)}},ea=e=>((e,t)=>{if(!(null==e?void 0:e.rewardMap))return 0;let s=Object.values(e.rewardMap)[0],i=Number(null==s?void 0:s[t]);return Number.isNaN(i)?0:i})(e,"ALL"),ec=e=>{if(null==e?void 0:e.rewardMap)return Object.keys(e.rewardMap)[0]},el=async()=>{let e=await (0,n.io)();if(e){let t=eh.getState().userInfo;t&&eh.setState({userInfo:{...t,rewardMap:e||{}}})}},eu=()=>{let e=eh.getState().userInfo;return e&&1!==e.accountType},ed=()=>{let e=eh.getState().userInfo;return e?e.accountType:1},ep=(e,t,s)=>{eh.setState({totalBalance:e,crossAvailableBalance:t,isolatedAvailableBalance:s})},em=()=>{localStorage.getItem(d.XC)||(eh.setState({firstClosePositionStatus:"triggered"}),localStorage.setItem(d.XC,"1"))},eh=(0,o.v)(()=>({...(()=>{let e=localStorage.getItem(b),t=localStorage.getItem(g)||"0";if(e){let s=JSON.parse(e);return k=s.token,{userInfo:s,kickOut:!1,language:L(),isLogined:!0,placeOrderCompleted:!1,uiLoginSuccess:!1,triggerLogin:!1,depositRemindStatus:"pending",firstClosePositionStatus:"pending",unitPreference:Number(t),depositWithdrawInfo:void 0,trialFundData:void 0,pendingGuideStart:!1,totalBalance:s.totalBalance,crossAvailableBalance:0,isolatedAvailableBalance:0}}return{userInfo:void 0,kickOut:!1,isLogined:!1,placeOrderCompleted:!1,uiLoginSuccess:!1,triggerLogin:!1,language:L(),depositRemindStatus:"pending",firstClosePositionStatus:"pending",unitPreference:0,depositWithdrawInfo:void 0,trialFundData:void 0,pendingGuideStart:!1,totalBalance:0,crossAvailableBalance:0,isolatedAvailableBalance:0}})()}))},70140:(e,t,s)=>{s.d(t,{OS:()=>L,sB:()=>j,ij:()=>eO,kO:()=>K,Qh:()=>W,eZ:()=>eb,_U:()=>Z,xs:()=>H,oR:()=>z,Iq:()=>eJ,d:()=>en,qp:()=>U,Lh:()=>eY,r3:()=>P,oA:()=>ej,oP:()=>eF,GK:()=>ev,Ml:()=>ei,M6:()=>eu,uD:()=>el,zj:()=>eW,rw:()=>eH,J1:()=>ed,lU:()=>es,cX:()=>B,Sl:()=>D,ir:()=>G,qx:()=>V,wQ:()=>ex,hj:()=>eR,i7:()=>Q,jq:()=>Y,PI:()=>eL,Un:()=>eT,Be:()=>X,l9:()=>F,jC:()=>eh,oN:()=>em,TP:()=>$,xy:()=>R,zR:()=>et,vD:()=>M,pX:()=>eg,WZ:()=>eU,iM:()=>A,w5:()=>C,cE:()=>eK,Sn:()=>ey,Rp:()=>ek,Gm:()=>eS,fs:()=>ew,mX:()=>ee,iD:()=>q,SD:()=>eN,at:()=>eA,nU:()=>eP,He:()=>eC,t0:()=>eI,wH:()=>E,l5:()=>eq,sz:()=>ea,uC:()=>eo,jZ:()=>eE,pR:()=>eB,io:()=>eM,xu:()=>x,du:()=>N,Bc:()=>er,mc:()=>eD,P9:()=>I,XW:()=>eX,Gk:()=>ep,gF:()=>e_,G4:()=>ef,nz:()=>ez,lx:()=>J,jN:()=>ec});var i=s(63132),r=s(66926),o=s(41886),n=s(57454),a=s(42351),c=s(34733),l=s(58495),u=s.n(l);let d=e=>u().enc.Hex.stringify(u().SHA256(u().enc.Utf8.parse(e))),p=(e,t)=>{let s=u().enc.Utf8.parse(e),i=u().enc.Utf8.parse(e);return u().AES.decrypt(t,s,{iv:i,mode:u().mode.CBC,padding:u().pad.Pkcs7}).toString(u().enc.Utf8)},m=["/position/list"],h=p("ab4hpbh1c8itvuslduflolzdgioxq8x2120f","PUPPqm+HQ6smnzVbKZSxpQ=="),b=p("ab4hpbh1c8itvuslduflolzdgioxq8x2120f","4pJyY4+GH7UCWxgNBs5aBw=="),g=p("ab4hpbh1c8itvuslduflolzdgioxq8x2120f","8UijrYr8xbSPTelxIQSCQA==");class f{getHeader(){let e=(0,n.Sh)(),t=(0,n.IP)(),s=n.kH.getState().language||"en-US",i=(0,n.wY)();return e?{Authorization:"Bearer ".concat(e),guid:t,lang:s,"env-type":"".concat(i)}:{guid:t,lang:s,"env-type":"".concat(i)}}httpInterceptorsRequest(){f.axiosInstance.interceptors.request.use(e=>{for(let[t,s]of Object.entries(this.getHeader()))e.headers[t]=s;return this.signAndEncrypted(e),e},e=>(S(e.message),Promise.reject(e)))}httpInterceptorsResponse(){f.axiosInstance.interceptors.response.use(e=>{var t;let{code:s,errorCode:i}
1=e.data;if(Reflect.has(e.data,"code")&&200===s){let t=e.headers.date;if(t){let e=Date.parse(t),s=Date.now();window.localStorage.setItem(a.AC,"".concat(s-e))}if(e.data.timestamp&&window.localStorage.setItem(a.Cx,"".concat(e.data.timestamp)),!e.data.data||""===e.data.data)return{data:"",code:e.data.code,errorCode:e.data.errorCode,message:e.data.message};if(e.config.headers.has("aesKey")){let t=e.config.headers.aesKey,s=this.keys.get(t)||"";this.keys.delete(t);let i=JSON.parse(p(s,e.data.data));return(0,c.Xp)()&&!m.includes(e.config.url||"")&&((0,c.Rm)("response",e.config.url),(0,c.Rm)(i)),{data:i,code:e.data.code,errorCode:e.data.errorCode,message:e.data.message}}return e.data}return y(k(null!=(t=e.data.errorCode)?t:i),e.data.message),Promise.reject(O(e.data))},e=>{var t,s,i;let o=null==(t=e.response)?void 0:t.data,a=k(null==o?void 0:o.errorCode);if(o&&void 0!==a)return y(a,o.message),Promise.reject(O(o));let l="";switch(null==(s=e.response)?void 0:s.status){case 401:(0,n.p7)(!0);break;case 400:S(l=(0,r.TO)().t("home.request_error"));break;case 403:w();break;case 404:S(l="Not Found: ".concat(null==(i=e.response)?void 0:i.config.url));break;case 429:S(l=(0,r.TO)().t("home.many_request_toast"));break;case 500:S(l=(0,r.TO)().t("home.server_internal_error"));break;default:S(l=(0,r.TO)().t("home.network_connection_failed"))}return(0,c.Rm)(l),Promise.reject(e)})}signAndEncrypted(e){var t,s,i;let r,o,n=null==(t=(s=e.headers).get)?void 0:t.call(s,"Authorization");if(!n||!String(n).trim())return;let a=new Date().getTime(),c=(e=>{let t="",s="abcdefghijklmnopqrstuvwxyz0123456789";for(let i=0;i<e;i++)t+=s.charAt(Math.floor(Math.random()*s.length));return t})(36),l="";e.params&&(l=Object.keys(e.params).sort((e,t)=>e.localeCompare(t)).map(t=>"".concat(encodeURIComponent(t),"=").concat(encodeURIComponent(e.params[t]))).join("&"));let p="";p=e.data&&Object.keys(e.data).length>0?d(JSON.stringify(e.data)):d("");let m="";m+="".concat(null==(i=e.method)?void 0:i.toUpperCase(),"\n"),m+="".concat(e.url,"\n"),m+="".concat(l,"\n"),m+="".concat(p,"\n"),m+="".concat(a,"\n"),m+="".concat(c);let f=(r=String(n).replace("Bearer ",""),o=m,u().enc.Hex.stringify(u().HmacSHA256(u().enc.Utf8.parse(o),u().enc.Utf8.parse(r))));e.headers[h]=a,e.headers[b]=c,e.headers[g]=f}request(e){let t={...f.axiosConfigDefault,...e};return new Promise((e,s)=>{f.axiosInstance.request(t).then(t=>{e(t)}).catch(e=>{s(e)})})}requestObject(e){let t={...f.axiosConfigDefault,...e};return new Promise((e,s)=>{f.axiosInstance.request(t).then(t=>{e(t.data)}).catch(e=>{s(e)})})}requestList(e){let t={...f.axiosConfigDefault,...e};return new Promise((e,s)=>{f.axiosInstance.request(t).then(t=>{e(t.data)}).catch(e=>{s(e)})})}constructor(e){this.keys=new Map,f.axiosConfigDefault=e,f.axiosInstance=i.A.create(e),this.httpInterceptorsRequest(),this.httpInterceptorsResponse()}}let _=0,v="",S=e=>{(Date.now()-_>5e3||v!==e)&&(_=Date.now(),v=e,(0,o.P0)("error",e,o.KW))};function k(e){if(null==e)return;let t="string"==typeof e?Number(e):e;return Number.isNaN(t)?void 0:t}function y(e,t){void 0!==e&&(401===e?(0,n.p7)(!0):403===e?w():406===e||499===e||e>=7e3&&e<8e3||t&&S(t))}function w(){if("/region-unavailable"===window.location.pathname)return;let e="".concat(window.location.pathname).concat(window.location.search).concat(window.location.hash);window.sessionStorage.setItem(a.Pc,e),window.location.href="/region-unavailable"}function O(e){var t;let s=k(e.errorCode),i=null!=(t=null!=s?s:e.code)?t:500;return{...e,errorCode:s,code:i}}let T=new f({headers:{"Content-Type":"application/json;charset=UTF-8"},timeout:0,baseURL:"https://api.xstable.ai/",data:{},withCredentials:!0}),L={positionId:0,name:"",symbol:"",quantity:"",positionSide:"",leverage:"",notionalValue:0,marketPrice:0,liquidationPrice:0,margin:0,unrealizedPnl:0,returnRate:0,takeProfitStopLossOrders:[],limitList:[],timestamp:0,shortPrice:"",longPrice:"",spread:0,firstSpread:0,fundingFee:0,currentRate:0,entryPrice:0,showEntryPrice:0,pricePrecision:0,minHoldSeconds:0,fee:0,marginMode:"cross",rewardTrialFundConfig:{businessType:"",stopProfitPercentToDecimal:0,profitSettlementPercentToDecimal:0,profitTopPercentToDecimal:0,profitMaxConfig:0,profitCurrent:0,occupationAmount:0}};function q(e){return T.requestObject({url:"/xstable/user-service/user/login",method:"post",data:e})}function I(){return T.requestObject({url:"/xstable/user-service/user/info",method:"get"})}function x(){return T.requestObject({url:"/xstable/user-service/user/logout",method:"post"})}function R(e){return T.requestObject({url:"/xstable/user-service/user/verify",method:"get",params:e})}function j(e){return T.requestObject({url:"/xstable/user-service/user/active",method:"post",data:e})}function P(e){return T.requestObject({url:"/api/v1/capital/deposit-monitoring",method:"get",params:e})}function N(e){return T.requestObject({url:"/api/v1/withdrawals",method:"post",data:e})}function A(e){return T.requestObject({url:"/xstable/user-service/market/token/list",method:"get",params:e})}function C(e){return T.requestObject({url:"/api/v1/ohlcv",method:"get",params:e})}function M(e){return T.requestObject({url:"/api/v1/positions/history/chart-markers",method:"get",params:e})}function B(e){return T.requestObject({url:"/api/v1/web/capital/history",method:"get",params:e})}function E(e){return T.requestObject({url:"/api/v1/orders",method:"post",data:e})}function D(e){return T.requestObject({url:"/api/v1/web/positions",method:"get",params:e})}function z(e){return T.requestObject({url:"/api/v1/positions/close",method:"post",data:e})}function H(e){return T.requestObject({url:"/api/v1/positions/close-all",method:"post",data:e})}function U(e){return T.requestObject({url:"/xstable/user-service/open/order/limit/add",method:"post",data:e})}function W(e,t){return T.requestObject({url:"/api/v1/orders/".concat(e),method:"delete",params:t})}function J(e){return T.requestObject({url:"/api/v1/positions/trading-stop",method:"post",data:e})}function F(e){return T.requestObject({url:"/api/v1/web/positions/history",method:"get",params:e})}function X(e){return T.requestObject({url:"/api/v1/web/orders/open",method:"get",params:e})}function Y(){return T.requestList({url:"/xstable/user-service/market/closed/days/v2",method:"get"})}function K(e){return T.requestObject({url:"/xstable/user-service/invite/binding/referralCode",method:"post",data:e})}function G(){return T.requestObject({url:"/xstable/user-service/invite/base/info",method:"get"})}function Q(){return T.requestObject({url:"/xstable/user-service/invite/base/summary",method:"get"})}function V(e){return T.requestObject({url:"/xstable/user-service/invite/referral",method:"get",params:e})}function Z(e){return T.requestObject({url:"/xstable/user-service/invite/reward/claim",method:"post",data:e})}function $(){return T.requestObject({url:"/xstable/user-service/rank/list",method:"get"})}function ee(e){return T.requestObject({url:"/xstable/user-service/transaction/balance",method:"get",params:e})}function et(e){return T.requestObject({url:"/xstable/user-service/transaction/latestPrice",method:"get",params:{chain:e,symbol
1:"SOL"}})}function es(e){return T.requestObject({url:"/xstable/user-service/transaction/signature",method:"post",data:e})}function ei(e){return T.requestObject({url:"/xstable/user-service/transaction/params",method:"get",params:e})}function er(e){return T.requestObject({url:"/xstable/user-service/transaction/sendTransaction",method:"post",data:e})}function eo(e){return T.requestObject({url:"/xstable/user-service/uv/report",method:"post",data:e})}function en(e){return T.requestObject({url:"/xstable/user-service/agent/invite/link/create",method:"post",data:e})}function ea(e){return T.requestObject({url:"/xstable/user-service/agent/invite/link/list",method:"post",data:e})}function ec(e){return T.requestObject({url:"/xstable/user-service/agent/invite/link/update",method:"post",data:e})}function el(e){return T.requestObject({url:"/xstable/user-service/agent/invite/commission/summary",method:"get",params:e})}function eu(e){return T.requestObject({url:"/xstable/user-service/agent/invite/commission/page",method:"get",params:e})}function ed(e){return T.requestObject({url:"/xstable/user-service/agent/customer/metrics/list",method:"post",data:e})}function ep(e){return T.requestObject({url:"/xstable/user-service/agent/customer/update",method:"post",data:e})}function em(e){return T.requestObject({url:"/xstable/user-service/agent/invite/summary/common",method:"get",params:e})}function eh(e){return T.requestObject({url:"/xstable/user-service/agent/invite/summary",method:"get",params:e})}function eb(e){return T.requestObject({url:"/xstable/user-service/agent/invite/summary/claim/commission",method:"get",params:e})}function eg(e){return T.requestList({url:"/xstable/user-service/agent/invite/commission/symbols",method:"get",params:e})}function ef(e){return T.requestObject({url:"/xstable/user-service/agent/invite/link/remark/update",method:"post",data:e})}function e_(e){return T.requestObject({url:"/xstable/user-service/agent/customer/remark/update",method:"post",data:e})}function ev(e){return T.requestObject({url:"/api/v1/web/account/ledger",method:"get",params:e})}function eS(e){return T.requestObject({url:"/xstable/user-service/reward/user/detail/tip/v2",method:"get",params:e})}function ek(e){return T.requestObject({url:"/xstable/user-service/reward/user/detail/page",method:"get",params:e})}function ey(e){return T.requestObject({url:"/xstable/user-service/reward/user/detail/".concat(e),method:"get"})}function ew(e){return T.requestList({url:"/xstable/user-service/reward/user/usage/log/".concat(e),method:"get"})}function eO(e){return T.requestList({url:"/xstable/user-service/agent/invite/relation/apply",method:"post",data:e})}function eT(e){return T.requestObject({url:"/xstable/user-service/message/inbox/unread/count",method:"get",params:e})}function eL(e){return T.requestObject({url:"/xstable/user-service/message/inbox/list",method:"get",params:e})}function eq(e){return T.requestObject({url:"/xstable/user-service/agent/invite/relation/auth",method:"post",data:e})}function eI(e){return T.requestObject({url:"/xstable/user-service/message/inbox/mark-read",method:"post",data:e})}function ex(e){return T.requestObject({url:"/xstable/user-service/agent/invite/relation/maxRate",method:"get",params:e})}function eR(e){return T.requestObject({url:"/xstable/user-service/agent/customer/apply/page",method:"get",params:e})}function ej(e){return T.requestObject({url:"/xstable/user-service/agent/customer/super/page",method:"get",params:e})}function eP(e){return T.requestObject({url:"/xstable/user-service/agent/customer/apply/update",method:"post",data:e})}function eN(e){return T.requestObject({url:"/xstable/user-service/agent/customer/super/update",method:"post",data:e})}function eA(e){return T.requestObject({url:"/xstable/user-service/agent/customer/super/remark",method:"post",data:e})}function eC(e){return T.requestObject({url:"/xstable/user-service/agent/customer/apply/remark",method:"post",data:e})}function eM(e){return T.requestObject({url:"/xstable/user-service/reward/user/detail/trialFund/v2",method:"get",params:e})}function eB(e){return T.requestObject({url:"/xstable/user-service/agent/customer/deposit-withdraw/summary",method:"get",params:e})}function eE(e){return T.requestObject({url:"/xstable/user-service/agent/customer/deposit-withdraw/detail/list",method:"get",params:e})}function eD(e){return T.requestObject({url:"/xstable/user-service/user/switch/account",method:"post",data:e})}function ez(e){return T.requestObject({url:"/api/v1/account/symbol-preferences/margin-mode",method:"post",data:e})}function eH(e){return T.requestObject({url:"/api/v1/account/risk",method:"get",params:e})}function eU(e){return T.requestList({url:"/api/v1/account/symbol-preferences",method:"get",params:e})}function eW(e){return T.requestObject({url:"/xstable/user-service/config/public",method:"get",params:e})}function eJ(e){return T.requestObject({url:"/xstable/user-service/api-key/create",method:"post",data:e})}function eF(e){return T.requestList({url:"/xstable/user-service/api-key/list",method:"get",params:e})}function eX(e){return T.requestObject({url:"/xstable/user-service/api-key/update",method:"post",data:e})}function eY(e){return T.requestObject({url:"/xstable/user-service/api-key/delete",method:"post",data:e})}function eK(e){return T.requestObject({url:"/xstable/user-service/user/config",method:"get",params:e})}},81430:(e,t,s)=>{s.d(t,{JZ:()=>L,K:()=>E,PY:()=>q,Rd:()=>Y,TO:()=>U,WG:()=>Q,bI:()=>S,cR:()=>k,cm:()=>F,eG:()=>x,ef:()=>W,f4:()=>N,gX:()=>G,k3:()=>C,kT:()=>P,n7:()=>y,r3:()=>J,vX:()=>w,vm:()=>T,wz:()=>O,x0:()=>I,yR:()=>K});var i=s(17268),r=s(6558),o=s(70140),n=s(39580),a=s(85784),c=s(57454),l=s(76273),u=s(34733);function d(e){return[...new Set(e.filter(Boolean))].join(",")}function p(e,t){return new i.A(e).decimalPlaces(null!=t?t:2,i.A.ROUND_UP).toFixed()}function m(e,t,s){let i=t||0;return{longPrice:p((0,l.gF)(e,i),s),shortPrice:p((0,l.sX)(e,i),s)}}function h(e,t){var s,i,r,o;let n=null!=(o=null==(r=a.OJ.getState().userConfig)||null==(i=r.spreadDeltas)||null==(s=i.find(t=>t.symbol===e))?void 0:s.spreadDelta)?o:0;return Number((0,l.gF)(t||0,n))}function b(e,t){return{longPrice:(0,l.gF)(e,t),shortPrice:(0,l.sX)(e,t)}}function g(e){let t={};return e.map(e=>{var s,i,r,o;let n=null!=(i=null!=(s=t[e.symbol])?s:e.spread)?i:0;
1return t[e.symbol]=n,{...e,firstSpread:null!=(o=null!=(r=e.firstSpread)?r:e.spread)?o:0,spread:n}})}function f(e){let t={};for(let s=0;s<e.length;s++){let i=e[s].symbol;i&&(t[i]?t[i].push(s):t[i]=[s])}return t}function _(e){let t={};for(let s=0;s<e.length;s++){let i=e[s];i.symbol&&(t[i.symbol]=Number((0,l.gF)(t[i.symbol]||0,i.margin)))}return t}function v(e){let t={};for(let s=0;s<e.length;s++){let i=e[s];i.symbol&&!i.reduceOnly&&(t[i.symbol]=Number((0,l.gF)(t[i.symbol]||0,i.quantity||0)))}return t}let S=async()=>{let e=await (0,o.iM)();if(e){let t=e.map(e=>{let t=h(e.symbol,e.spread),{longPrice:s,shortPrice:i}=m(e.currentPrice,t,e.pricePrecision);return{...e,spread:t,longPrice:s,shortPrice:i,prevShortPrice:i,prevLongPrice:s}}),s=Object.fromEntries(t.map(e=>[e.symbol,e]));return Q.setState(()=>({tokenList:t,tokenListDisplay:t,tokenMap:s})),D(e),t}return e},k=async()=>{let e=await (0,o.Sl)();if(e){let t=g(e).map(e=>{let{longPrice:t,shortPrice:s}=b(e.entryPrice,e.spread||0),i=Number((0,u.Ik)(e.positionSide,e.entryPrice,e.spread||0)),r=Number((0,u.oT)(e.positionSide,e.marketPrice,e.spread||0));return{...e,longPrice:t,shortPrice:s,showEntryPrice:i,currentRate:r}}),s=_(t),i=v(t),r=f(t);Q.setState(()=>({positionList:t,positionNum:t.length,positionMargin:s,positionQuantity:i,positionSymbolIndexMap:r})),z(t)}return e},y=async()=>{let e=await (0,o.l9)({pageNum:1,pageSize:20});e&&Q.setState(()=>({orderList:e.items}))},w=async()=>{let e=await (0,o.Be)({pageNum:1,pageSize:500});if(e){let t=g(e.items).map(e=>{let{longPrice:t,shortPrice:s}=b(e.marketPrice,e.spread||0);return{...e,longPrice:t,shortPrice:s}}),s=_(t),i=v(t),r=f(t);Q.setState(()=>({openOrderList:t,openOrderNum:e.total,openOrderMargin:s,openOrderQuantity:i,openOrderSymbolIndexMap:r})),H(t)}return e},O=async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=await (0,o.cX)({pageNum:e,pageSize:20});return s&&(t?e===s.pageNum&&Q.setState(t=>({fundingList:[...t.fundingList,...s.items],fundingPageNum:e})):Q.setState(()=>({fundingList:s.items,fundingPageNum:e}))),s},T=async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=await (0,o.GK)({pageNum:e,pageSize:20});return s&&(t?e===s.pageNum&&Q.setState(t=>({assetDetailList:[...t.assetDetailList,...s.items],assetDetailPageNum:e})):Q.setState(()=>({assetDetailList:s.items,assetDetailPageNum:e}))),s},L=async()=>{let e=await (0,o.WZ)();if(e){let t={};e.forEach(e=>{(null==e?void 0:e.symbol)&&(t[e.symbol]=e.marginMode)}),Q.setState(()=>({symbolMarginModeMap:t}))}},q=()=>{Q.setState(()=>({symbolMarginModeMap:{}}))},I=async(e,t)=>{Q.getState().symbolMarginModeMap[e]=t},x=async()=>{let e=await (0,o.rw)();e&&(Q.setState(t=>{let s=R(t.positionList,e.positions);return s===t.positionList?{crossContractInfo:e}:{crossContractInfo:e,positionList:s}}),(0,c.hK)(e.totalBalance,Number(e.crossAvailableBalance),Number(e.isolatedAvailableBalance)))};function R(e,t){if(!t||0===t.length||0===e.length)return e;let s=new Map;for(let e=0;e<t.length;e++){let i=t[e];Number.isFinite(Number(i.estimatedLiquidationPrice))?s.set(i.positionId,Number(i.estimatedLiquidationPrice)||0):s.set(i.positionId,0)}if(0===s.size)return e;let i=e;for(let t=0;t<e.length;t++){let r=e[t],o=s.get(r.positionId);"number"==typeof o&&r.liquidationPrice!==o&&(i===e&&(i=[...e]),i[t]={...r,liquidationPrice:o})}return i}let j=async e=>{e&&((0,c.hK)(e.totalBalance,Number(e.crossAvailableBalance),Number(e.isolatedAvailableBalance)),Q.setState(t=>{let s=R(t.positionList,e.positions);return s===t.positionList?{crossContractInfo:e}:{crossContractInfo:e,positionList:s}}))},P=()=>{n.z.subscribe("risk",j)},N=()=>{n.z.unsubscribe("risk",j)},A=async e=>{let t=e.symbol,s="string"==typeof e.price?Number(e.price):e.price,i=h(t,"string"==typeof e.spread?Number(e.spread):e.spread),r=e.timestamp;Q.setState(e=>{let o=e.tokenList.findIndex(e=>e.symbol===t),n=e.positionSymbolIndexMap[t],a=e.openOrderSymbolIndexMap[t],c=!!(null==n?void 0:n.length),d=!!(null==a?void 0:a.length);if(-1===o&&!c&&!d)return e;let p=!1,h=e.tokenList;if(-1!==o){let t=e.tokenList[o],n=t.shortPrice,a=t.longPrice,{longPrice:c,shortPrice:l}=m(s,i,t.pricePrecision),u="number"==typeof r?r:t.timestamp,d={...t,currentPrice:s,spread:i,longPrice:c,shortPrice:l,prevShortPrice:n,prevLongPrice:a,timestamp:u};(h=[...e.tokenList])[o]=d,p=!0}let g=e.tokenMap[t],f=e.positionList;if(c)for(let r=0;r<n.length;r++){let o=n[r],a=e.positionList[o];if(a.symbol!==t)continue;let{longPrice:c,shortPrice:d}=b(a.entryPrice,a.firstSpread),p=Number((0,u.oT)(a.positionSide,s,i)
1),m=Number((0,u.oT)(a.positionSide,s,i)),h=Number((0,l.ez)(m,a.quantity)),g=Number(a.entryPrice),_="long"===a.positionSide?(0,l.sX)(m,g):(0,l.sX)(g,m),v=0,S=0,k=Number((0,l.sX)((0,l.ez)(_,a.quantity),a.fundingFee||0));if(k>0&&a.rewardTrialFundConfig){let e=a.rewardTrialFundConfig,t=(0,l.BP)(k,2);if(e.profitCurrent<e.profitMaxConfig){let s=(0,l.ez)(t,e.profitSettlementPercentToDecimal),i=(0,l.ez)(e.occupationAmount,e.profitTopPercentToDecimal);s>i&&(s=i),v=Number((0,l.gF)(t,s))}else v=Number(t)}else v=k;S=Number((0,l.ez)((0,l.BP)(v,a.margin),100));let y={...a,marketPrice:s,notionalValue:h,unrealizedPnl:v,returnRate:S,longPrice:c,shortPrice:d,currentRate:p,showEntryPrice:g};f===e.positionList&&(f=[...e.positionList]),f[o]=y}let _=e.openOrderList;if(d)for(let r=0;r<a.length;r++){let o=a[r],n=e.openOrderList[o];if(n.symbol!==t)continue;let{longPrice:c,shortPrice:l}=g?m(s,i,g.pricePrecision):b(s,n.spread),u={...n,marketPrice:s,longPrice:c,shortPrice:l};_===e.openOrderList&&(_=[...e.openOrderList]),_[o]=u}let v=p?Object.fromEntries(h.map(e=>[e.symbol,e])):e.tokenMap;return{tokenList:h,tokenMap:v,positionList:f,openOrderList:_}})},C=e=>{Q.setState(t=>({triggerTPSLList:t.triggerTPSLList.filter(t=>t.orderId!==e)}))},M=e=>{E(),B(),e&&("take_profit_market"===e.orderTypeDetail||"stop_market"===e.orderTypeDetail)&&((0,c.V6)(),Q.setState(t=>t.triggerTPSLList.some(t=>t.orderId===e.orderId)?t:{triggerTPSLList:[{...e},...t.triggerTPSLList].slice(0,20)}))},B=()=>{Q.setState(e=>({overlaySyncVersion:e.overlaySyncVersion+1}))},E=()=>{(0,c.xJ)(),k(),w(),y(),(0,c.pZ)()},D=e=>{if(0===e.length)return;let t=d(e.map(e=>e.symbol));n.z.unsubscribeTopic("unsubscribe","ticker",t,A),n.z.subscribeTopic("subscribe","ticker",t,A)},z=e=>{if(0===e.length)return;let t=Q.getState().tokenList;if(t&&t.length>0)return;let s=Q.getState().openOrderList,i=d([...e.map(e=>e.symbol),...s.map(e=>e.symbol)]);n.z.unsubscribeTopic("unsubscribe","ticker",i,A),n.z.subscribeTopic("subscribe","ticker",i,A)},H=e=>{if(0===e.length)return;let t=Q.getState().tokenList;if(t&&t.length>0)return;let s=d([...Q.getState().positionList.map(e=>e.symbol),...e.map(e=>e.symbol)]);n.z.unsubscribeTopic("unsubscribe","ticker",s,A),n.z.subscribeTopic("subscribe","ticker",s,A)},U=()=>{n.z.subscribe("orders",M)},W=()=>{Q.setState(()=>({orderList:[]})),n.z.unsubscribe("orders",M)},J=()=>{let e=Q.getState().positionList;if(0===e.length)return;Q.setState(()=>({positionList:[],positionNum:0,positionMargin:{},positionQuantity:{},positionSymbolIndexMap:{}}));let t=Q.getState().tokenList;if(t&&t.length>0)return;let s=d(e.map(e=>e.symbol));n.z.unsubscribeTopic("unsubscribe","ticker",s,A)},F=()=>{let e=Q.getState().openOrderList;if(0===e.length)return;Q.setState(()=>({openOrderList:[],openOrderNum:0,openOrderMargin:{},openOrderQuantity:{},openOrderSymbolIndexMap:{}}));let t=Q.getState().tokenList;if(t&&t.length>0)return;let s=d(e.map(e=>e.symbol));n.z.unsubscribeTopic("unsubscribe","ticker",s,A)},X=()=>{(0,c.xJ)(),Q.setState(()=>({fundingPageNum:0,assetDetailPageNum:0}))},Y=()=>{n.z.subscribe("balance",X)},K=()=>{n.z.unsubscribe("balance",X)},G=()=>{k(),w(),y(),Q.setState(()=>({fundingPageNum:0}))},Q=(0,r.v)(()=>({positionList:[],orderList:[],openOrderList:[],fundingList:[],tokenList:[],tokenListDisplay:[],fundingPageNum:1,positionNum:0,positionMargin:{},openOrderMargin:{},positionQuantity:{},openOrderQuantity:{},openOrderNum:0,tokenMap:{},positionSymbolIndexMap:{},openOrderSymbolIndexMap:{},triggerTPSLList:[],assetDetailList:[],assetDetailPageNum:1,overlaySyncVersion:0,crossContractInfo:void 0,symbolMarginModeMap:{}}))},85784:(e,t,s)=>{s.d(t,{OJ:()=>o,fG:()=>n,nm:()=>a});var i=s(6558),r=s(70140);let o=(0,i.v)(()=>({userConfig:void 0})),n=async()=>{let e=await (0,r.cE)();return e&&o.setState({userConfig:e}),e},a=()=>{o.setState({userConfig:void 0})}},98503:(e,t,s)=>{s.d(t,{$Q:()=>eo,$m:()=>a,$s:()=>tr,A:()=>I,AE:()=>ei,AV:()=>V,B4:()=>T,C5:()=>l,CB:()=>v,De:()=>D,Ds:()=>eS,E4:()=>te,Ep:()=>eB,FJ:()=>eP,FQ:()=>ef,Fi:()=>to,Fp:()=>q,GE:()=>ec,Gl:()=>tt,H$:()=>ed,Ju:()=>eX,KW:()=>h,L$:()=>$,L5:()=>el,Lm:()=>O,MD:()=>_,NB:()=>eK,O1:()=>ee,OP:()=>p,OY:()=>e_,Os:()=>eQ,PQ:()=>g,P_:()=>u,Ph:()=>y,Pr:()=>Q,QC:()=>c,QW:()=>L,Qr:()=>eF,R9:()=>ez,Rd:()=>Y,SK:()=>ek,SP:()=>ex,Sc:()=>es,T8:()=>eT,TJ:()=>X,TY:()=>C,Tk:()=>e1,U3:()=>en,UX:()=>e0,Uf:()=>eW,Ut:()=>eI,V3:()=>er,WL:()=>H,WT:()=>eJ,Wl:()=>f,Wu:()=>e5,Wx:()=>
1F,Wy:()=>eq,Y4:()=>d,YM:()=>eM,Ys:()=>ej,ZK:()=>eO,ZX:()=>eU,_p:()=>e2,aU:()=>eN,ah:()=>n,az:()=>e7,bM:()=>eY,bX:()=>ea,bk:()=>e4,cC:()=>e6,cK:()=>K,cN:()=>k,co:()=>e3,cr:()=>eE,cw:()=>E,dV:()=>N,dZ:()=>Z,do:()=>tn,eK:()=>eu,eN:()=>eh,eP:()=>eZ,eV:()=>U,fL:()=>eA,f_:()=>G,fq:()=>w,gL:()=>e$,hi:()=>R,iT:()=>W,j:()=>J,jD:()=>o,ke:()=>eL,kr:()=>j,l1:()=>ev,lN:()=>A,lj:()=>eV,lq:()=>eR,mE:()=>et,mH:()=>S,n5:()=>eg,nB:()=>ep,nX:()=>z,p3:()=>ew,qF:()=>eC,ql:()=>eb,r$:()=>P,r5:()=>B,rk:()=>e9,t$:()=>em,tW:()=>eH,u8:()=>eG,uN:()=>ey,uu:()=>b,vZ:()=>e8,v_:()=>x,vb:()=>m,vp:()=>M,w1:()=>ti,y:()=>eD});var i=s(5143),r=s(34733);let o="global_language_switch_click",n="global_mode_switch_click",a="global_network_switch_click",c="wallet_connect_click",l="wallet_connect_fail",u="wallet_disconnect",d="tg_join_click",p="notice_message_click",m="demo_tab_click",h="connect_wallet_pvlog",b="connect_wallet_click",g="connect_wallet_success",f="header_deposit_click",_="deposit_popup_show",v="deposit_quick_click",S="deposit_normal_click",k="deposit_token_select",y="deposit_network_select",w="deposit_max_click",O="deposit_pay_click",T="deposit_success",L="deposit_fail",q="withdraw_popup_show",I="withdraw_token_select",x="withdraw_network_select",R="withdraw_max_click",j="withdraw_click",P="home_pvlog",N="home_start_trade_click",A="home_news_click",C="home_social_click",M="home_second_pagepvlog",B="home_last_pagepvlog",E="trade_pvlog",D="trade_symbol_select",z="trade_switch_click",H="trade_slider_percent_click",U="trade_limit_click",W="trade_tpsl_click",J="trade_tpsl_tp_preset_click",F="trade_tpsl_sl_preset_click",X="trade_place_order_click",Y="trade_place_order_fail",K="trade_place_order_success",G="openedpositions_pvlog",Q="openedpositions_closeall_click",V="openedpositions_cancel_click",Z="orders_pvlog",$="openedpositions_position_tab_click",ee="openedpositions_open_tab_click",et="openedpositions_history_tab_click",es="trade_open_order_cancel",ei="trade_position_close_success",er="trade_position_close_fail",eo="trade_position_edit_tpsl_click",en="trade_tpsl_popup_show",ea="trade_position_market_click",ec="closedpositions_pvlog",el="trade_position_close_click",eu="portfolio_pvlog",ed="portfolio_deposit_click",ep="portfolio_withdraw_click",em="portfolio_close_click",eh="portfolio_tpsl_popup_show",eb="portfolio_tpsl_save_click",eg="portfolio_tpsl_cancel_click",ef="portfolio_tpsl_popup_click",e_="portfolio_tab_click",ev="invite_pvlog",eS="invite_view_detail_click",ek="invite_enter_code_click",ey="invite_code_bind_success",ew="invite_code_bind_fail",eO="invite_kol_apply_click",eT="invite_copy_code_click",eL="invite_copy_link_click",eq="invite_invite_now_click",eI="invite_claim_click",ex="affiliates_pvlog",eR="affiliates_claim_click",ej="affiliates_copy_code_click",eP="affiliates_copy_link_click",eN="affiliates_create_link_click",eA="affiliates_setting_click",eC="affiliates_client_pvlog",eM="affiliates_affiliate_pvlog",eB="affiliates_invite_pvlog",eE="affiliates_referral_pvlog",eD="affiliates_commission_pvlog",ez="affiliates_deposit_pvlog",eH="points_pvlog",eU="coupon_center_show",eW="coupon_tab_click",eJ="coupon_usage_record_click",eF="coupon_use_click",eX="coupon_rule_click",eY="nova_pt_pvlog",eK="nova_pt_click",eG="nova_en_pvlog",eQ="nova_en_click",eV="bonus_notify_popup_show",eZ="bonus_notify_deposit_click",e$="bonus_notify_dismiss_click",e0="bonus_notify_close_click",e1="vip_invite_sheet_exposed",e4="vip_invite_sheet_click",e3="vip_invite_sheet_dismissed",e8="deposit_guide_popup_show",e5="deposit_guide_trade_click",e2="deposit_guide_close_click",e7="profit_share_card_show",e6="profit_share_icon_click",e9="profit_share_card_cancell",te="profit_share_card_save",tt="profit_share_card_share",ts={app_version:"1.7.5"},ti=e=>{ts={...ts,...e}},tr=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,r.Rm)("log event: ",e,t,ts),(0,i.sendGAEvent)("event",e,{...t,...ts,debug_mode:(0,r.Xp)()})},to=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,r.Rm)("set ga user properties: ",e),"function"==typeof window.gtag&&window.gtag("set","user_properties",e)},tn=e=>{"function"==typeof window.gtag&&window.gtag("set","user_id",e)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.