1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="01fe153a-c5e1-debf-28d5-fe529d62830d")}catch(e){}}(); 2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,846015,840891,e=>{"use strict";var t=e.i(975705);let r=e=>{let t,r=new Set,a=(e,a)=>{let n="function"==typeof e?e(t):e;if(!Object.is(n,t)){let e=t;t=(null!=a?a:"object"!=typeof n||null===n)?n:Object.assign({},t,n),r.forEach(r=>r(t,e))}},n=()=>t,o={setState:a,getState:n,getInitialState:()=>i,subscribe:e=>(r.add(e),()=>r.delete(e))},i=t=e(a,n,o);return o},a=e=>{let a=e?r(e):r,n=e=>(function(e,r=e=>e){let a=t.default.useSyncExternalStore(e.subscribe,t.default.useCallback(()=>r(e.getState()),[e,r]),t.default.useCallback(()=>r(e.getInitialState()),[e,r]));return t.default.useDebugValue(a),a})(a,e);return Object.assign(n,a),n};e.s(["create",0,e=>e?a(e):a],846015);let n=e=>t=>{try{let r=e(t);if(r instanceof Promise)return r;return{then:e=>n(e)(r),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>n(t)(e)}}};e.s(["persist",0,(e,t)=>(r,a,o)=>{let i,s={storage:function(e){let t;try{t=e()}catch(e){return}return{getItem:e=>{var r;let a=e=>null===e?null:JSON.parse(e,void 0),n=null!=(r=t.getItem(e))?r:null;return n instanceof Promise?n.then(a):a(n)},setItem:(e,r)=>t.setItem(e,JSON.stringify(r,void 0)),removeItem:e=>t.removeItem(e)}}(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},c=!1,l=0,u=new Set,d=new Set,p=s.storage;if(!p)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),r(...e)},a,o);let g=()=>{let e=s.partialize({...a()});return p.setItem(s.name,{state:e,version:s.version})},f=o.setState;o.setState=(e,t)=>(f(e,t),g());let m=e((...e)=>(r(...e),g()),a,o);o.getInitialState=()=>m;let P=()=>{var e,t;if(!p)return;let o=++l;c=!1,u.forEach(e=>{var t;return e(null!=(t=a())?t:m)});let f=(null==(t=s.onRehydrateStorage)?void 0:t.call(s,null!=(e=a())?e:m))||void 0;return n(p.getItem.bind(p))(s.name).then(e=>{if(e)if("number"!=typeof e.version||e.version===s.version)return[!1,e.state];else{if(s.migrate){let t=s.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(e=>{var t;if(o!==l)return;let[n,c]=e;
2if(r(i=s.merge(c,null!=(t=a())?t:m),!0),n)return g()}).then(()=>{o===l&&(null==f||f(a(),void 0),i=a(),c=!0,d.forEach(e=>e(i)))}).catch(e=>{o===l&&(null==f||f(void 0,e))})};return o.persist={setOptions:e=>{s={...s,...e},e.storage&&(p=e.storage)},clearStorage:()=>{null==p||p.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>P(),hasHydrated:()=>c,onHydrate:e=>(u.add(e),()=>{u.delete(e)}),onFinishHydration:e=>(d.add(e),()=>{d.delete(e)})},s.skipHydration||P(),i||m},"subscribeWithSelector",0,e=>(t,r,a)=>{let n=a.subscribe;return a.subscribe=(e,t,r)=>{let o=e;if(t){let n=(null==r?void 0:r.equalityFn)||Object.is,i=e(a.getState());o=r=>{let a=e(r);if(!n(i,a)){let e=i;t(i=a,e)}},(null==r?void 0:r.fireImmediately)&&t(i,i)}return n(o)},e(t,r,a)}],840891)},345482,e=>{"use strict";function t(e){return new URLSearchParams(window.location.search).get(e)}function r(e,r,a){let n=t(e),o=function(e){try{return window[e]}catch{return null}}(r);if(n){try{o?.setItem(a,n)}catch{}return n}try{return o?.getItem(a)??null}catch{return null}}e.s(["getPerpAuthRequestHeaders",0,function(){let e={"Content-Type":"application/json","Accept-Language":"en-US","Source-Client":/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)?"H5":"Web","Platform-Exchange":"navi","Brand-Exchange":"sui"},a=t("referralCode");a&&(e["Invite-Code"]=a);let n=r("src","localStorage","ExchangeInvitationCode");n&&(e.Src=n);let o=r("ref","sessionStorage","ExchangeRefCode");return o&&(e.Ref=o),e}])},865222,e=>{"use strict";let t="perp:";function r(e,r){if(!("u">typeof performance&&"function"==typeof performance.mark))return;let a=`${t}${e}`;try{r?performance.mark(a,{detail:r}):performance.mark(a)}catch{try{performance.mark(a)}catch{}}}let a=new Set;e.s(["PERP_MARK_PREFIX",0,t,"markPerp",0,r,"markPerpOnce",0,function(e,t){return!a.has(e)&&(a.add(e),r(e,t),!0)}])},662019,e=>{"use strict";e.s(["PERP_API_HEADERS",0,{"Accept-Language":"en-US","Brand-Exchange":"sui","Content-Type":"application/json","Platform-Exchange":"navi","Source-Client":"Web"},"PERP_API_PATHS",0,{contractProvider:"/api/contract-provider",quotesProvider:"/api/contract-quotes-provider",auth:"/api/auth"},"RESOLUTION_TO_PERIOD",0,{1:"1MIN",3:"3MIN",5:"5MIN",15:"15MIN",30:"30MIN",60:"1HOUR",120:"2HOUR",240:"4HOUR",360:"6HOUR",480:"8HOUR",720:"12HOUR","1D":"1DAY","3D":"3DAY","1W":"1WEEK","1M":"1MONTH"},"SOCKET_EVENTS",0,{market24hour:"market_24hour",depth:"depth",contractPairQuote:"contract_pair_quote",trade:"trade",contractNotify:"contract_notify",marketLatestPrice:"market-latest-price",contractAccount:"contract_account",kline:"kline",contractInDelivery:"contract_in_delivery",contractPopup:"contract_popup",userMessage:"user_message",openInterest:"open_interest"},"buildPerpBaseInfosUrl",0,function(e){let t=e.replace(/\/$/,"");return`${t}/contract-sub-provider/plat/pub/net/baseInfos`},"getPerpPublicFetchHeaders",0,function(e="sui"){return{Accept:"application/json, text/plain, */*","Content-Type":"application/json","Accept-Language":"en-US","Source-Client":"u">typeof navigator&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)?"H5":"Web","Platform-Exchange":"navi","Brand-Exchange":e}}])},49437,338976,e=>{"use strict";var t=e.i(846015),r=e.i(840891),a=e.i(865222),n=e.i(662019);function o(e,t=""){return null==e||""===e?t:String(e)}function i(e,t=0){if("number"==typeof e&&!Number.isNaN(e))return e;let r=Number(e);return Number.isFinite(r)?r:t}function s(e){let t=i(e.id),r=o(e.openingPrice??e.openPrice),a=o(e.marginAmount);return{id:t,contractPairId:i(e.contractPairId),contractPositionId:i(e.contractPositionId??e.id,t),symbol:o(e.symbol),isLong:!!e.isLong,lever:i(e.lever,1),quantity:o(e.quantity),openingPrice:r,openPrice:r,markPrice:o(e.markPrice,"0"),liquidationPrice:o(e.liquidationPrice??e.restrictPrice),marginAmount:a,margin:a,marginCallAmount:o(e.marginCallAmount),frozenMargin:o(e.frozenMargin),tariffAmount:o(e.tariffAmount),faceMultiplier:o(e.faceMultiplier,"1"),positionType:4===i(e.positionType)?4:3,unrealizedPnl:o(e.unrealizedPnl),unrealizedPnlRate:o(e.unrealizedPnlRate),realizedPnl:o(e.realizedPnl),marginRate:o(e.marginRate),stopLossPrice:null==e.stopLossPrice?null:o(e.stopLossPrice),takeProfitPrice:null==e.takeProfitPrice?null:o(e.takeProfitPrice),lossType:i(e.lossType),profitType:i(e.profitType),lossPrice:o(e.lossPrice),profitPrice:o(e.profitPrice),remainingCloseQuantity:o(e.remainingCloseQuantity),isDelivery:!!e.isDelivery,createTime:i(e.createTimeStamp??e.createTime),settleShowDecimal:o(e.settleShowDecimal),accountCoinId:i(e.accountCoinId)}}e.s(["mapAssetRecord",0,function(e){return{id:i(e.id),coinId:i(e.coinId),amount:o(e.operateAmount),accountAmount:o(e.accountAmount),coinSymbol:o(e.coinSymbol),settleDecimal
2:i(e.settleDecimal),type:i(e.type),typeName:o(e.logType),contractPairSymbol:o(e.contractPairSymbol),logType:o(e.logType),isPositive:!!e.positive,createTime:i(e.createTimeStamp)}},"mapEntrustRecord",0,function(e){let t=i(e.status,0),r=e.price;return{id:i(e.id),contractPairId:i(e.contractPairId),symbol:o(e.symbol),isLong:!!e.isLong,isOpen:!e.isClose,isMarket:!!e.isMarket,price:null==r?null:o(r),quantity:o(e.quantity,"0"),filledQuantity:o(e.dealQuantity,"0"),lever:i(e.lever,1),triggerType:i(e.triggerType),status:t>=0&&t<=3?t:0,statusName:o(e.statusName),createTime:i(e.createTimeStamp)}},"mapFillRecord",0,function(e){let t=o(e.type),r=o(e.profitLoss),a=o(e.tradeFee);return{id:i(e.id),orderId:i(e.entrustId),contractPairId:i(e.contractPairId),contractPositionId:i(e.contractPositionId),symbol:o(e.symbol),isLong:!!e.isLong,isOpen:!e.isClose,isMarket:!!e.isMarket,amount:o(e.amount),price:o(e.averagePrice),quantity:o(e.quantity),fee:a,positionPnl:o(e.positionPnl),tariffAmount:o(e.tariffAmount),positionFee:o(e.positionFee),tradeFee:a,realizedPnl:r,profitLoss:r,lever:i(e.lever,1),isTaker:!!e.isTaker,accountCoinSymbol:o(e.accountCoinSymbol),accountSettleDecimal:i(e.accountSettleDecimal),typeLabel:t,restrictPrice:o(e.restrictPrice),orderType:function(e){switch(e){case"Limit":return"0";case"Market":return"1";case"Liquidation":return"2";case"Auto-Deleveraging":return"3";default:return""}}(t),positionType:null!=e.positionType?i(e.positionType):void 0,createTime:i(e.createTimeStamp)}},"mapFundingRecord",0,function(e){let t=o(e.settledRate);return{id:i(e.id),contractPairId:i(e.contractPairId),symbol:o(e.symbol),tariffRate:t,settledRate:t,tariffAmount:o(e.tariffAmount),positionQuantity:o(e.quantity),oraclePrice:o(e.oraclePrice),settleCoinName:o(e.settleCoinName),isLong:!!e.isLong,createTime:i(e.fundingTimeStamp)}},"mapPositionRecord",0,s,"mapStrategyRecord",0,function(e){let t=i(e.status,1);return{id:i(e.id),contractPairId:i(e.contractPairId),symbol:o(e.contractPairSymbol),strategyType:i(e.strategyType,1),strategyTypeName:1===i(e.strategyType,1)?"Iceberg":o(e.strategyTypeName),isLong:!!e.isLong,totalQuantity:o(e.totalEntrustAmount),singleQuantity:o(e.singleEntrustAmount),filledQuantity:o(e.dealAmount),status:t>=1&&t<=3?t:1,createTime:i(e.createTimestamp??e.createTimeStamp)}}],338976);let c={positions:[],balance:null,accountInfo:null,lastWsUpdateTime:0,sessionId:0,_aborts:{}},l=(0,t.create)()((0,r.subscribeWithSelector)((e,t)=>({...c,updateAccountInfo:t=>{u(t)&&e({accountInfo:t,lastWsUpdateTime:Date.now()})},setPositions:t=>e({positions:t}),setBalance:t=>e({balance:t}),fetchAccountOverview:async(r,a,o=4,i)=>{let s=r.replace(/\/$/,"");if(!s)return;let c=`${s}${n.PERP_API_PATHS.contractProvider}/contract-account/overview/${o}`,l=i??t().sessionId;t()._aborts.overview?.abort();let d=new AbortController;e(e=>({_aborts:{...e._aborts,overview:d}}));try{var p;let r=await fetch(c,{method:"POST",headers:a,body:JSON.stringify({}),signal:d.signal});if(!r.ok)return;let n=await r.json();if(t().sessionId!==l||!0===n.error||null==n.data)return;let o=(p=n.data,{availableAmount:String(p.availableAmount??"0"),coinId:"number"==typeof p.coinId?p.coinId:4,frozenMargin:String(p.frozenMargin??"0"),realizedPnl:String(p.realizedPnl??"0"),totalAssets:String(p.totalAssets??"0"),unrealizedPnl:String(p.unrealizedPnl??"0"),logId:0});if(!u(o))return;e({accountInfo:o,lastWsUpdateTime:Date.now()})}catch(e){if("AbortError"===e.name)return;console.error("[perp] fetchAccountOverview failed:",e)}finally{e(e=>e._aborts.overview===d?{_aborts:{...e._aborts,overview:void 0}}:{})}},fetchPositions:async(r,o,i,c)=>{let l=`${r}${n.PERP_API_PATHS.contractProvider}/contract/selectContractPositionList`,u=i??t().sessionId;t()._aborts.positions?.abort();let d=new AbortController;e(e=>({_aborts:{...e._aborts,positions:d}})),(0,a.markPerp)("fetch_positions_request",{source:c,sid:u});try{let r=await fetch(l,{method:"POST",headers:o,body:JSON.stringify({pageNo:1,pageSize:100}),signal:d.signal});if(!r.ok)return;let n=await r.json(),i=t().sessionId!==u;if((0,a.markPerp)("fetch_positions_response",{source:c,sid:u,dropped:i}),i||!0===n.error||!n.data||!Array.isArray(n.data.records))return;e({positions:n.data.records.map(e=>
2s(e)),lastWsUpdateTime:Date.now()})}catch(e){if("AbortError"===e.name)return;console.error("[perp] fetchPositions failed:",e)}finally{e(e=>e._aborts.positions===d?{_aborts:{...e._aborts,positions:void 0}}:{})}},closePosition:async(e,t,r)=>{let a=`${e}${n.PERP_API_PATHS.contractProvider}/contract/order/closePosition`;try{let e=await fetch(a,{method:"POST",headers:t,body:JSON.stringify({contractPairId:r.contractPairId,contractPositionId:r.contractPositionId,isMarket:r.isMarket,quantity:r.quantity,isLong:r.isLong,...null!=r.price&&{price:r.price},clientOrderId:"",amount:100,signHash:"",originMsg:"",extra:""})});if(!e.ok)return{success:!1,error:`HTTP ${e.status}`};let n=await e.json();if(!0===n.error)return{success:!1,error:n.msg??"Close failed"};return{success:!0}}catch(e){return{success:!1,error:e instanceof Error?e.message:"Network error"}}},closeAllPositions:async(e,t,r)=>{let a=`${e}${n.PERP_API_PATHS.contractProvider}/contract-current-entrust/closeAllPosition`;try{let e=await fetch(a,{method:"POST",headers:t,body:JSON.stringify({...null!=r&&{contractPairId:r},originMsg:"",signHash:"",extra:""})});if(!e.ok)return!1;let n=await e.json();return!0!==n.error}catch{return!1}},addReduceMargin:async(e,t,r)=>{let a=`${e}${n.PERP_API_PATHS.contractProvider}/contract/callMarginAmount`;try{let e=await fetch(a,{method:"POST",headers:t,body:JSON.stringify({call:r.call,id:r.id,marginAmount:r.marginAmount})});if(!e.ok)return{success:!1,error:`HTTP ${e.status}`};let n=await e.json();if(!0===n.error)return{success:!1,error:n.msg??"Margin update failed"};return{success:!0}}catch(e){return{success:!1,error:e instanceof Error?e.message:"Network error"}}},updateStopConfig:async(e,t,r)=>{let a=`${e}${n.PERP_API_PATHS.contractProvider}/contract/updateStopConfig`;try{let e=await fetch(a,{method:"POST",headers:t,body:JSON.stringify({id:r.id,lossPrice:r.lossPrice,lossType:r.lossType,profitPrice:r.profitPrice,profitType:r.profitType})});if(!e.ok)return{success:!1,error:`HTTP ${e.status}`};let n=await e.json();if(!0===n.error)return{success:!1,error:n.msg??"Stop config update failed"};return{success:!0}}catch(e){return{success:!1,error:e instanceof Error?e.message:"Network error"}}},resetForLogout:()=>{let{_aborts:r,sessionId:a}=t();r.overview?.abort(),r.positions?.abort(),e({sessionId:a+1,positions:[],accountInfo:null,_aborts:{}})},reset:()=>e(c)})));function u(e){return"object"==typeof e&&null!==e&&"availableAmount"in e&&"coinId"in e&&"totalAssets"in e}e.s(["usePerpAccountStore",0,l],49437)},396866,167550,e=>{"use strict";var t=e.i(846015),r=e.i(840891),a=e.i(345482),n=e.i(49437),o=e.i(662019),i=e.i(338976);let s={pageNo:1,pageSize:10,totalCount:0},c={openOrders:[],orderHistory:[],strategyOrders:[],fills:[],fundingRecords:[],assetRecords:[],orderVersion:0,openOrdersPagination:{...s},fillsPagination:{...s},fundingPagination:{...s},assetsPagination:{...s},strategyPagination:{...s},sessionId:0,_aborts:{}},l=(0,t.create)()((e,t)=>({...c,setOpenOrders:t=>e({openOrders:t}),setOrderHistory:t=>e({orderHistory:t}),setStrategyOrders:t=>e({strategyOrders:t}),setFills:t=>e({fills:t}),setFundingRecords:t=>e({fundingRecords:t}),setAssetRecords:t=>e({assetRecords:t}),bumpOrderVersion:()=>e(e=>({orderVersion:e.orderVersion+1})),fetchOpenOrders:async(r,a,n,s)=>{let c=n?.pageNo??1,l=n?.pageSize??100,u=`${r}${o.PERP_API_PATHS.contractProvider}/contract-current-entrust/selectContractCurrentEntrustList`,d=s??t().sessionId;t()._aborts.openOrders?.abort();let p=new AbortController;e(e=>({_aborts:{...e._aborts,openOrders:p}}));try{let r=await fetch(u,{method:"POST",headers:a,body:JSON.stringify({pageNo:c,pageSize:l,...n?.contractPairId!=null&&{contractPairId:n.contractPairId}}),signal:p.signal});if(!r.ok)return;let o=await r.json();if(t().sessionId!==d||!0===o.error||!o.data||!Array.isArray(o.data.records))return;e({openOrders:o.data.records.map(e=>(0,i.mapEntrustRecord)(e)),openOrdersPagination:{pageNo:c,pageSize:l,totalCount:o.data.total??0}})}catch(e){if("AbortError"===e.name)return}finally{e(e=>e._aborts.openOrders===p?{_aborts:{...e._aborts,openOrders:void 0}}:{})}},fetchFills:async(t,r,a)=>{let n={pageNo:a?.pageNo??1,pageSize:a?.pageSize??10,...a?.contractPairId!=null&&{contractPairId:a.contractPairId},...a?.fromDate!=null&&{fromDate:a.fromDate},...a?.toDate!=null&&{toDate:a.toDate},...a?.timeType!=null&&{timeType:a.timeType},...a?.orderType!=null&&{orderType:a.orderType}},s=`${t}${o.PERP_API_PATHS.contractProvider}/contract/selectContractMatchPairList`;try{let t=await fetch(s,{method:"POST",headers:r,body:JSON.stringify(n)});if(!t.ok)return;let a=await t.json();
2if(!0===a.error||!a.data||!Array.isArray(a.data.records))return;e({fills:a.data.records.map(e=>(0,i.mapFillRecord)(e)),fillsPagination:{pageNo:n.pageNo,pageSize:n.pageSize,totalCount:a.data.total??0}})}catch{}},fetchFundingRecords:async(t,r,a)=>{let n={pageNo:a?.pageNo??1,pageSize:a?.pageSize??10,...a?.contractPairId!=null&&{contractPairId:a.contractPairId},...a?.fromDate!=null&&{fromDate:a.fromDate},...a?.toDate!=null&&{toDate:a.toDate},...a?.timeType!=null&&{timeType:a.timeType}},s=`${t}${o.PERP_API_PATHS.contractProvider}/contract/selectContractTariffList`;try{let t=await fetch(s,{method:"POST",headers:r,body:JSON.stringify(n)});if(!t.ok)return;let a=await t.json();if(!0===a.error||!a.data||!Array.isArray(a.data.records))return;e({fundingRecords:a.data.records.map(e=>(0,i.mapFundingRecord)(e)),fundingPagination:{pageNo:n.pageNo,pageSize:n.pageSize,totalCount:a.data.total??0}})}catch{}},fetchAssetRecords:async(t,r,a)=>{let n={pageNo:a?.pageNo??1,pageSize:a?.pageSize??10,...a?.contractPairId!=null&&{contractPairId:a.contractPairId},...a?.fromDate!=null&&{fromDate:a.fromDate},...a?.toDate!=null&&{toDate:a.toDate},...a?.recordType!=null&&{recordType:a.recordType},...a?.timeType!=null&&{timeType:a.timeType}},s=`${t}${o.PERP_API_PATHS.contractProvider}/contract/selectContractTransactionList`;try{let t=await fetch(s,{method:"POST",headers:r,body:JSON.stringify(n)});if(!t.ok)return;let a=await t.json();if(!0===a.error||!a.data||!Array.isArray(a.data.records))return;e({assetRecords:a.data.records.map(e=>(0,i.mapAssetRecord)(e)),assetsPagination:{pageNo:n.pageNo,pageSize:n.pageSize,totalCount:a.data.total??0}})}catch{}},fetchStrategyOrders:async(t,r,a)=>{let n={pageNo:a?.pageNo??1,pageSize:a?.pageSize??10,...a?.contractPairId!=null&&{contractPairId:a.contractPairId}},s=`${t}${o.PERP_API_PATHS.contractProvider}/strategy-entrust/selectStrategyEntrustList`;try{let t=await fetch(s,{method:"POST",headers:r,body:JSON.stringify(n)});if(!t.ok)return;let a=await t.json();if(!0===a.error||!a.data||!Array.isArray(a.data.records))return;e({strategyOrders:a.data.records.map(e=>(0,i.mapStrategyRecord)(e)),strategyPagination:{pageNo:n.pageNo,pageSize:n.pageSize,totalCount:a.data.total??0}})}catch{}},cancelOrder:async(e,r,a)=>{let n=`${e}${o.PERP_API_PATHS.contractProvider}/contract/cancelEntrust?id=${a}`;try{let e=await fetch(n,{method:"GET",headers:r});if(!e.ok)return!1;let a=await e.json();if(!0===a.error)return!1;return t().bumpOrderVersion(),!0}catch{return!1}},cancelAllOrders:async(e,r)=>{let a=`${e}${o.PERP_API_PATHS.contractProvider}/contract/cancelAllEntrust`;try{let e=await fetch(a,{method:"GET",headers:r});if(!e.ok)return!1;let n=await e.json();if(!0===n.error)return!1;return t().bumpOrderVersion(),!0}catch{return!1}},cancelStrategyOrder:async(e,r,a)=>{let n=`${e}${o.PERP_API_PATHS.contractProvider}/strategy-entrust/cancelStrategy?id=${a}`;try{let e=await fetch(n,{method:"POST",headers:r});if(!e.ok)return!1;let a=await e.json();if(!0===a.error)return!1;return t().bumpOrderVersion(),!0}catch{return!1}},cancelAllStrategyOrders:async(e,r)=>{let a=`${e}${o.PERP_API_PATHS.contractProvider}/strategy-entrust/cancelAllStrategy`;try{let e=await fetch(a,{method:"POST",headers:r});if(!e.ok)return!1;let n=await e.json();if(!0===n.error)return!1;return t().bumpOrderVersion(),!0}catch{return!1}},resetForLogout:()=>{let{_aborts:r,sessionId:a}=t();r.openOrders?.abort(),e({sessionId:a+1,openOrders:[],openOrdersPagination:{...s},_aborts:{}})},reset:()=>e(c)}));e.s(["usePerpOrdersStore",0,l],167550);let u="https://api.astros.ag",d=u,p="__PERP_SIGN_USER_REJECTED__",g="perp-auth-store",f=(0,t.create)()((0,r.persist)((e,t)=>({token:"",address:"",isAuthenticated:!1,signInError:null,signIn:async(r,n)=>{try{let o;e({signInError:null});let i=d,s=await fetch(`${i}/api/auth/auth/generateNonce`,{method:"POST",headers:(0,a.getPerpAuthRequestHeaders)(),body:JSON.stringify({address:r,pubKey:"",tgUserId:"",tgUserName:""})});if(!s.ok)throw Error(`Failed to generate nonce: ${s.statusText}`);let c=await s.json();if(c.error)throw Error(c.msg||"Failed to generate nonce");let l=c.data.nonce;try{o=await n(l)}catch(t){if(function e(t){if(null==t)return!1;if("object"==typeof t){if(4001===t.code||"4001"===t.code)return!0;let r=String(t.message??"").toLowerCase();if(r.includes("user rejected")||r.includes("reject request")||r.includes("user denied")||r.includes("denied request signature")||r.includes("request rejected")||r.includes("cancelled")||r.includes("canceled"))return!0;
2if(null!=t.cause)return e(t.cause)}return"string"==typeof t&&e(Error(t))}(t))e({signInError:p});else{let r=t instanceof Error?t.message:"Signature request failed";e({signInError:r})}return}let u=await fetch(`${i}/api/auth/auth/token`,{method:"POST",headers:(0,a.getPerpAuthRequestHeaders)(),body:JSON.stringify({address:r,signature:o,message:l})});if(!u.ok)throw Error(`Failed to get token: ${u.statusText}`);let g=await u.json();if(g.error)throw Error(g.msg||"Failed to get token");if(""!==t().address&&t().address!==r)return;e({token:g.data,address:r,isAuthenticated:!0,signInError:null})}catch(t){e({signInError:t instanceof Error?t.message:"Sign in failed"})}},signOut:()=>{e({token:"",address:"",isAuthenticated:!1,signInError:null}),n.usePerpAccountStore.getState().reset(),l.getState().reset()},setWalletAddress:e=>{if(!e)return;if(!f.persist.hasHydrated()){let r=f.persist.onFinishHydration(()=>{r(),t().setWalletAddress(e)});return}let{address:r}=t();r&&e.toLowerCase()!==r.toLowerCase()&&t().signOut()},hydrateFromLegacy:(r,a)=>{r&&!t().token&&e({token:r,address:a,isAuthenticated:!0,signInError:null})},rehydrateFromStorage:(r,a)=>{r?e({token:r,address:a,isAuthenticated:!0,signInError:null}):t().signOut()},clearSignInError:()=>{e({signInError:null})}}),{name:g,partialize:e=>({token:e.token,address:e.address}),merge:(e,t)=>({...t,...e,isAuthenticated:(e.token?.length??0)>0})}));window.addEventListener("storage",e=>{if(e.key===g)try{if(!e.newValue)return void f.getState().rehydrateFromStorage("","");let t=JSON.parse(e.newValue),r=t.state?.token??"",a=t.state?.address??"";f.getState().rehydrateFromStorage(r,a)}catch{}}),e.s(["PERP_SIGN_IN_ERROR_USER_REJECTED",0,p,"PERP_SIGN_IN_USER_REJECTED_MESSAGE_EN",0,"Request Signature: User denied request signature.","configurePerpAuth",0,function(e){d=e.apiBase||u},"usePerpAuthStore",0,f],396866)},128266,e=>{"use strict";e.i(343672);class t extends Error{}t.prototype.name="InvalidTokenError";var r=e.i(396866);let a={sui:{sortIndex:1,baseChainId:1314120,serveExchangeId:1314120,networkType:"SUI",infuraId:"",walletConnectProjectId:"",exchange:"sui",url:[window.location.origin],telegramExchangeBotUrl:"",label:"Sui",value:"sui",logo:"/images/networks/sui.png",show:!0,faucetUrl:"",env:"prod",isReStake:!0,isExchangeAllLink:!0,isZkReward:!1,isCountry:!0,hotWalletAddress:"",networks:[{name:"Sui Mainnet",rpc:"https://rpc.mainnet.sui.io:443",icon:"/images/networks/sui.png",chainId:1,isShow:!0,browser:"https://suivision.xyz/"}]}};window.location.origin,window.location.origin;let n=Number("1314120"),o="src",i=Object.values(a),s="ExchangeInvitationCode",c=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|redmi|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,l=/android|ipad|playbook|silk/i,u="ExchangeRefCode",d=e=>new URLSearchParams(new URL(window.location.href).search).get(e),p=e=>{let t=new URLSearchParams(new URL(e).search),r={};return t.forEach((e,t)=>{r[t]=e}),r};e.s(["codeRefName",0,"ref","getInviteCodeAndExchangeName",0,()=>{let e,t,r,a=d("referralCode");return{exchange:(e=(()=>{let e=localStorage.getItem("WALLET_LOCAL_CONNECT_INFO");if(e){let t=JSON.parse(e);if(t.selectChainId)return Number(t.selectChainId)}return null})(),t=Number((()=>{let e=window.location.href,t=p(e);p(e);let r=t?.brandExchange;if(r){let e=i.find(e=>e.exchange===r);if(e)return e.baseChainId}return null})()||e||n),r=i.some(e=>e.baseChainId===t)?t:n,i.find(e=>e.baseChainId===r)||i[0]).exchange,inviteCode:a}},"initSessionCode",0,e=>{let t=d(e);return t?sessionStorage.setItem(u,t):t=sessionStorage.getItem(u),t},"invitationCode",0,(e=o,t)=>{let r=d(e);return t&&(r?localStorage.setItem(s,r):r=localStorage.getItem(s)),r},"isMobile",0,e=>{e||(e={});let t=e.ua;if(!t&&"u">typeof navigator&&(t=navigator.userAgent),t&&"object"==typeof t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),"string"!=typeof t)return!1;let r=c.test(t)&&!t.includes("CrOS")||!!e.tablet&&l.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.includes("Macintosh")&&t.includes("Safari")&&(r=!0),r},"tokenExpireValid",0,()=>new Promise((e,a)=>{let n=r.usePerpAuthStore.getState().token;if(!n)return a(null);let o=function(e,r){let a;if("string"!=typeof e)throw new t("Invalid token specified: must be a string");r||(r={});let n=+(!0!==r.header),o=e.split(".")[n];if("string"!=typeof o)throw new t(`Invalid token specified: missing part #${n+1}`);try{a=function(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw Error("base64 string is not of the correct length")}try{var r;
2return r=t,decodeURIComponent(atob(r).replace(/(.)/g,(e,t)=>{let r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}catch(e){return atob(t)}}(o)}catch(e){throw new t(`Invalid token specified: invalid base64 for part #${n+1} (${e.message})`)}try{return JSON.parse(a)}catch(e){throw new t(`Invalid token specified: invalid json for part #${n+1} (${e.message})`)}}(n.replace("Bearer ","")),i=1e3*o.exp;return o&&i&&new Date().getTime()>i?(r.usePerpAuthStore.getState().signOut(),a(i)):e(n)})],128266)}]); 3 4//# debugId=01fe153a-c5e1-debf-28d5-fe529d62830d 5//# sourceMappingURL=0c~dvw42.ydte.js.map
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.