PageSourceSearch

https://trade.zipmex.com/_next/static/chunks/cd4df4ec-8c3b54b88d4cfc68.js

js zipmex.com collected 2026-09-28 06:41:47 UTC 288,228 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9204],{93568:(e,t,n)=>{n.d(t,{$aY:()=>rV,Asu:()=>rb,Ax5:()=>tH,BGb:()=>i9,CUJ:()=>e4,CgS:()=>em,Cuz:()=>a.Ay,Dg1:()=>ek,Dxr:()=>aS,E5x:()=>n2,EYl:()=>e6,El9:()=>rK,F7A:()=>ed,FDm:()=>nW,Fmg:()=>rx,Fo2:()=>tI,GON:()=>K,H9Z:()=>aT,HkY:()=>aa,I0h:()=>iD,IGN:()=>rm,IOm:()=>t9,IQV:()=>nm,ITZ:()=>H,IYv:()=>tY,I_W:()=>t7,IwN:()=>e9,Iz_:()=>ee,JRt:()=>iL,JZM:()=>th,K0w:()=>iY,K8H:()=>rc,KJ0:()=>nO,Ls5:()=>eO,M_r:()=>rZ,MaU:()=>z,Mjh:()=>ew,Mjm:()=>iU,O1I:()=>iB,O8w:()=>eb,ONx:()=>V,OVG:()=>iJ,OlY:()=>eT,P4O:()=>rz,P8s:()=>ny,Pd1:()=>rk,Q4G:()=>rO,QE_:()=>rh,QMI:()=>tx,Qgd:()=>rP,Qzp:()=>t8,REh:()=>rq,RGC:()=>iF,RKu:()=>tz,RNl:()=>ev,RyN:()=>i8,S1C:()=>rD,SDg:()=>eu,T4q:()=>tk,UKg:()=>G,UPS:()=>tA,UTj:()=>ri,Ubj:()=>i2,Uwq:()=>j,Vrz:()=>n9,Vs$:()=>iQ,Vyf:()=>nr,WIG:()=>a.WI,WpD:()=>eS,YQI:()=>q.YQ,Ydz:()=>i0,Yue:()=>rE,ZEo:()=>iq,ZJM:()=>aE,Zkr:()=>ae,ZpY:()=>t1,_VN:()=>au,_Wu:()=>eI,_lI:()=>$,aO$:()=>tC,aev:()=>t6,akX:()=>el,bwU:()=>nB,cre:()=>rj,d7w:()=>rY,d9L:()=>tV,dW1:()=>e5,dh$:()=>q.dh,dr0:()=>aN,du$:()=>nV,ecE:()=>a_,fke:()=>nI,fpI:()=>ix,g9m:()=>e7,gK1:()=>rT,gSU:()=>aP,hei:()=>rQ,iXD:()=>a.iX,jKn:()=>r_,j_Y:()=>eh,jdk:()=>ec,jkc:()=>iA,kWi:()=>X,kad:()=>rJ,ktn:()=>i7,kxw:()=>iC,lEC:()=>tX,lIz:()=>iz,lU8:()=>ep,lao:()=>tQ,ly_:()=>nq,mDE:()=>nn,mld:()=>ei,n3j:()=>e0,nET:()=>eo,nFB:()=>nc,nMd:()=>iW,n_y:()=>en,o6r:()=>t4,oCS:()=>J,oeB:()=>e1,oe_:()=>aO,of5:()=>nN,p6J:()=>tN,piM:()=>ad,qKO:()=>e_,qL9:()=>rI,qXq:()=>rB,qlx:()=>al,qu9:()=>ey,rE_:()=>ag,rle:()=>tL,rqt:()=>Y,rzu:()=>ao,sU:()=>np,syU:()=>ea,tem:()=>nh,ttn:()=>rA,uas:()=>aR,wGq:()=>tJ,wM4:()=>t0,x9g:()=>aM,xCF:()=>rw,xJH:()=>ap,xlF:()=>i$,xsI:()=>iE,yAh:()=>nT,yFz:()=>nP,yqh:()=>e2,zze:()=>nz});var r=n(13741),i=n(79505),a=n(27754),l=n(98376),o=n(55481),s=n(52561),u=n(53010),d=n(65611),p=n(71558),c=n(64514),y=n(66633),m=n(14771),_=n(1784),f=n(86573),g=n(85912),v=n(33361),b=n(9738),h=n(80220),T=n(5243),w=n(5207),S=n(84583),O=n(91962),I=n(65260),k=n(91653),M=n(97370),P=n(26667),N=n(69744),R=n(39720),E=n(21441),x=n(87820),A=n(42073),L=n(45102),C=n(50682),U=n(89449),q=n(77936),D=n(57498),F=n(33872),W=Object.defineProperty,B=(0,r.createContext)(void 0),z=e=>{let{value:t,children:n}=e;return(0,r.createElement)(B.Provider,{value:t},n)};function V(){return(0,r.useContext)(B)}"undefined"!=typeof window&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/hooks"]="3.2.1");var Z="3.2.1",K=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return(0,i.Jt)(e,t,null==n?void 0:n.formatter)},j={dedupingInterval:0,revalidateOnMount:!0,revalidateIfStale:!0},Y=(0,r.createContext)({}),J=()=>(0,r.useContext)(Y),Q=Y.Provider;function G(e,t){let{configStore:n}=(0,r.useContext)(Y);if(!n)throw new o.JP("useConfig must be used within OrderlyConfigProvider or OrderlyAppProvider");return void 0!==e?void 0!==t?n.getOr(e,t):n.get(e):n}var H=(e,t)=>{let n=G("apiBaseUrl"),i=(0,l.HT)(),{formatter:s,...u}=t||{};if(void 0===n)throw new o.JP("please add OrderlyConfigProvider to your app");let d=(0,r.useCallback)((e,t)=>{let r=e.startsWith("http")?e:"".concat(n).concat(e),a=new Headers(null==t?void 0:t.headers);return(null==i?void 0:i.pluginId)&&a.set("X-Orderly-Plugin-Id",i.pluginId),K(r,{...t,headers:a},{formatter:s})},[n,null==i?void 0:i.pluginId,s]);return(0,a.Ay)(e,d,u)},X=()=>{let{data:e,error:t,isLoading:n}=H("/v1/public/auto_convert_threshold",{errorRetryCount:3,revalidateOnFocus:!1});return{ltv_threshold:null==e?void 0:e.ltv_threshold,negative_usdc_threshold:null==e?void 0:e.negative_usdc_threshold,isLoading:n,error:t}},$=(e,t)=>{let n=G("apiBaseUrl"),{formatter:r,init:i,...a}=t||{};if(void 0===n)throw new o.JP("please add OrderlyConfigProvider to your app");return(0,u.A)(e,(e,t)=>{if(e=e.startsWith("http")?e:"".concat(n).concat(e),null==t?void 0:t.arg){let n=Object.entries(t.arg).map(e=>{let[t,n]=e;return"".concat(t,"=").concat(encodeURIComponent(n))}).join("&");e="".concat(e,"?").concat(n)}return K(e,i,{formatter:r})},a)},ee=()=>{let{configStore:e,keyStore:t,walletAdapters:n}=(0,r.useContext)(Y);if(!e)throw new o.JP("configStore is not defined, please use OrderlyProvi
1der");if(!t)throw new o.JP("keyStore is not defined, please use OrderlyProvider and provide keyStore");return(0,d.A)(()=>{let r=p.Ex.get("account");return r||(r=new p.gD(e,t,n),p.Ex.registerByName("account",r)),r})},et=(e,t)=>{let n={method:t.arg.method,headers:{...t.arg.signature}};if(t.arg.data&&(n.body=JSON.stringify(t.arg.data)),"object"==typeof t.arg.params&&Object.keys(t.arg.params).length){let n=new URLSearchParams(t.arg.params);e="".concat(e,"?").concat(n.toString())}return(0,i.Tk)(e,n)},en=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"POST",n=arguments.length>2?arguments[2]:void 0,r=G("apiBaseUrl"),i=e;e.startsWith("http")||(i="".concat(r).concat(e));let a=ee(),{trigger:l,data:o,error:d,reset:p,isMutating:c}=(0,u.A)(i,et,n);return[e_(async(n,r,i)=>{let o=e;if("object"==typeof r&&Object.keys(r).length){let t=new URLSearchParams(r);o="".concat(e,"?").concat(t.toString())}let u={method:t,url:o,data:n},d=a.signer;return l({data:n,params:r,method:t,signature:{...await d.sign(u,(0,s.lg)()),"orderly-account-id":a.accountId}},i)}),{data:o,error:d,reset:p,isMutating:c}]},er=e=>{let t=G("apiBaseUrl");return(n,r,i)=>{try{let a=async e=>{let n=Array.isArray(e)?e[0]:e,i=p.Ex.get("account"),a="".concat(t).concat(n),l=i.signer,o=await l.sign({method:"GET",url:n},(0,s.lg)());return r(a,{headers:{...o,"orderly-account-id":i.accountId}})};return e(n,a,i)}catch(e){throw e}}},ei=()=>(0,d.A)(()=>{let e=p.Ex.get("EE");return e||(e=new p.bk,p.Ex.registerByName("EE",e)),e}),ea=(0,r.createContext)({}),el=()=>(0,r.useContext)(ea),eo=()=>{let e=ei(),{wallet:t}=el(),n=(0,r.useCallback)(function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,s.Qm)(()=>{var i,a,l;let s=window.location,u=s.origin,d=s.pathname;Object.assign(r,{page_title:document.title,page_url:d,page_domain:u,user_agent:window.navigator.userAgent,sdk_version:null!=(l=null==(a=window)||null==(i=a.__ORDERLY_VERSION__)?void 0:i["@orderly.network/net"])?l:""}),n===o.wy.placeOrderSuccess&&Object.assign(r,{wallet:(null==t?void 0:t.label)||"QR code"}),e.emit(n,r)})},[t]),i=(0,r.useCallback)(c(n,500),[n]);return{track:i,tracking:n,setTrackUserId:(0,r.useCallback)(t=>{e.emit(o.wy.trackIdentifyUserId,t)},[]),setIdentify:(0,r.useCallback)(t=>{e.emit(o.wy.trackIdentify,t)},[])}},es="nativeWebsocketClient",eu=()=>{let{configStore:e}=(0,r.useContext)(Y);return(0,d.A)(()=>{let t=p.Ex.get(es),n=p.Ex.get(p.gD.instanceName);return t||(t=new i.WS({networkId:e.get("networkId"),publicUrl:e.get("publicWsUrl"),privateUrl:e.get("privateWsUrl"),onSigntureRequest:async()=>{let e=n.signer,t=(0,s.lg)();return{...await e.signText(t.toString()),timestamp:t}}}),(n.stateValue.status===o.RN.EnableTrading||n.stateValue.status===o.RN.EnableTradingWithoutConnected)&&n.accountId&&t.openPrivate(n.accountId),n.on("change:status",e=>{(e.status===o.RN.EnableTrading||e.status===o.RN.EnableTradingWithoutConnected)&&n.accountId?t.openPrivate(n.accountId):t.closePrivate(3887,"switch account")}),"undefined"!=typeof window&&((0,s.VZ)().__Orderly_WS=t),p.Ex.registerByName(es,t)),t})},ed=()=>{let{configStore:e,keyStore:t}=(0,r.useContext)(Y);if(!e)throw new o.JP("configStore is not defined, please use OrderlyProvider");if(!t)throw new o.JP("keyStore is not defined, please use OrderlyProvider and provide keyStore");let n=ee(),[i,a]=(0,r.useState)(n.stateValue),{track:l}=eo(),s=e=>{a(()=>e)};(0,r.useEffect)(()=>(n.on("change:status",s),()=>{n.off("change:status",s)}),[n]);let u=(0,r.useCallback)(async e=>{var t;return l(o.wy.signinSuccess,{network:n.chainId,wallet:null==(t=i.connectWallet)?void 0:t.name}),n.createOrderlyKey(e?365:30).then(e=>n.restoreSubAccount().then(t=>e))},[n,i]),d=eu(),p=(0,r.useCallback)(async e=>(d.closePrivate(3887,"switch account"),n.switchAccount(e)),[n]),c=(0,r.useCallback)(async()=>n.createAccount(),[n]),y=(0,r.useCallback)(async e=>n.createSubAccount(e),[n]),m=(0,r.useCallback)(async e=>n.updateSubAccount(e),[n]),_=(0,r.useCallback)(()=>n.refreshSubAccountBalances(),[n]),f=(0,r.useMemo)(()=>i.accountId!==i.mainAccountId,[i]);return{account:n,state:i,isSubAccount:f,isMainAccount:!f,subAccount:{refresh:_,create:y,update:m},switchAccount:p,createOrderlyKey:u,createAccount:c}},ep=(e,t)=>{var n;let{formatter:r,...i}=t||{},{state:l}=ed(),s=Array.isArray(null==t?void 0:t.use)&&null!=(n=null==t?void 0:t.use)?n:[];return(0,a.Ay)(()=>e&&(l.status>=o.RN.EnableTrading||l.status===o.RN.EnableTradingWithoutConnected)?[e,l.accountId]:null,(e,t)=>K(e,t,{formatter:r}),{...i,use:[er,...s],onError:()=>{}})},ec=(e,t)=>{var n;let{formatter:r,...a}=t||{},{state:l}=ed(),s=Array.isArray(null==a?void 0:a.use)&&null!=(n=null==a?void 0:a.use)?n:[];return(0,y.Ay)((t,n)=>{if(!e)return null;let r=e(t,n);return r&&(l.status>=o.RN.EnableTrading||l.status===o.RN.EnableTradingWithoutConnected)?[r,l.accountId]:null},(e,t)=>{var n;return(null==(n=a.fetcher)?void 0:n.call(a,e,t))||(0,i.Jt)(e,t,r)},{...a,use:[er,...s]})},ey=(e,t)=>{let{formatter:n,...r}=t||{},i=G("apiBaseUrl");return(0,y.Ay)((t,n)=>e(t,n),(e,t)=>
1K(e.startsWith("http")?e:"".concat(i).concat(e),t,{formatter:n}),r)},em=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],[t,n]=(0,r.useState)(e),i=(0,r.useCallback)(()=>n(!0),[]);return[t,{setTrue:i,setFalse:(0,r.useCallback)(()=>n(!1),[]),toggle:(0,r.useCallback)(()=>n(e=>!e),[])}]},e_=e=>{let t="function"==typeof e?e:()=>{},n=(0,r.useRef)(t);n.current=(0,r.useMemo)(()=>t,[t]);let i=(0,r.useRef)(null);return i.current||(i.current=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.current.apply(this,t)}),i.current},ef=null;function eg(){return ef||(ef=new Audio),ef}var ev=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{volume:n=1,enabled:i=!0}=t,a=(0,r.useRef)(e),l=(0,r.useRef)(i),o=(0,r.useRef)(n);return(0,r.useEffect)(()=>{a.current=e,l.current=i,o.current=n},[e,i,n]),(0,r.useEffect)(()=>{eg().volume=Math.max(0,Math.min(1,n))},[n]),(0,r.useEffect)(()=>{let e=()=>{if("visible"===document.visibilityState){let e=eg();e.pause(),e.removeAttribute("src"),e.load()}};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[]),{play:(0,r.useCallback)(()=>{var e;let t=a.current;if(!l.current||!t)return;let n=eg();n.pause(),n.src=t,n.volume=Math.max(0,Math.min(1,o.current)),null==(e=n.play())||e.catch(()=>{})},[])}},eb=e=>{let{data:t,error:n,isLoading:r}=H(void 0===e?null:"/v1/public/referral/check_ref_code?account_id=".concat(e));return void 0===e?{referral_code:void 0,error:"The account id is empty or undefined",isLoading:!1}:{referral_code:null==t?void 0:t.referral_code,error:n,isLoading:r}};function eh(e,t){var n;let{formatter:r,accountId:i,...l}=t||{},{state:u,account:d}=ed(),p=Array.isArray(null==t?void 0:t.use)&&null!=(n=null==t?void 0:t.use)?n:[];return(0,a.Ay)(()=>i&&(u.status>=o.RN.EnableTrading||u.status===o.RN.EnableTradingWithoutConnected)?[e,i]:null,(e,t)=>K(e,t,{formatter:r}),{...l,use:[...p,function(e,t){let n=G("apiBaseUrl");return r=>(i,a,l)=>{try{let o=async r=>{let i=Array.isArray(r)?r[0]:r,l="".concat(n).concat(i),o=e.signer,u=await o.sign({method:"GET",url:i},(0,s.lg)());return a(l,{headers:{...u,"orderly-account-id":t}})};return r(i,o,l)}catch(e){throw e}}}(d,i)],onError:()=>{}})}function eT(e){try{return"undefined"===e?void 0:JSON.parse(null!=e?e:"")}catch(e){return}}function ew(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{parseJSON:eT},i=(0,r.useCallback)(()=>{if("undefined"==typeof window)return t;try{let r=window.localStorage.getItem(e);return r?n.parseJSON(r):t}catch(e){return t}},[t,e]),[a,l]=(0,r.useState)(i),o=(0,r.useCallback)(t=>{try{let n=t instanceof Function?t(a):t;window.localStorage.setItem(e,JSON.stringify(n)),window.dispatchEvent(new Event("storage")),l(()=>n)}catch(e){}},[a]);return(0,r.useEffect)(()=>
1{l(i())},[]),(0,r.useEffect)(()=>{var t,n;let r=t=>{null!=t&&t.key&&t.key!==e||l(i())};return null==(n=window)||null==(t=n.addEventListener)||t.call(n,"storage",r),()=>{var e,t;null==(t=window)||null==(e=t.removeEventListener)||e.call(t,"storage",r)}},[e]),[a,o]}var eS={};((e,t)=>{for(var n in t)W(e,n,{get:t[n],enumerable:!0})})(eS,{calcTPSL_ROI:()=>ex,cleanStringStyle:()=>eU,fetcher:()=>K,findPositionTPSLFromOrders:()=>ek,findTPSLFromOrder:()=>eO,findTPSLOrderPriceFromOrder:()=>eI,formatNumber:()=>eK,getPositionBySymbol:()=>e$,noCacheConfig:()=>j,priceToPnl:()=>eR});var eO=e=>{var t,n;let r,i,a=null==e||null==(t=e.child_orders)?void 0:t.find(e=>e.algo_type===o.Ox.TAKE_PROFIT),l=null==e||null==(n=e.child_orders)?void 0:n.find(e=>e.algo_type===o.Ox.STOP_LOSS);return a&&(r=a.trigger_price),l&&(i=l.trigger_price),{tp_trigger_price:r,sl_trigger_price:i}},eI=e=>{var t,n;let r,i,a=null==e||null==(t=e.child_orders)?void 0:t.find(e=>e.algo_type===o.Ox.TAKE_PROFIT),l=null==e||null==(n=e.child_orders)?void 0:n.find(e=>e.algo_type===o.Ox.STOP_LOSS);return a&&a.trigger_price&&(r=a.type===o.ZN.LIMIT?a.price:o.ZN.MARKET),l&&l.trigger_price&&(i=l.type===o.ZN.LIMIT?l.price:o.ZN.MARKET),{tp_order_price:r,sl_order_price:i}},ek=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.iU.CROSS;return{fullPositionOrder:null==e?void 0:e.find(e=>{var r;return e.symbol===t&&e.algo_type===o.yL.POSITIONAL_TP_SL&&(null!=(r=e.margin_mode)?r:o.iU.CROSS)===n&&(e.root_algo_status===o.Re.NEW||e.root_algo_status===o.Re.REPLACED||e.root_algo_status===o.Re.PARTIAL_FILLED)}),partialPositionOrders:null==e?void 0:e.filter(e=>{var r;return e.symbol===t&&(null!=(r=e.margin_mode)?r:o.iU.CROSS)===n&&e.algo_type===o.yL.TP_SL&&(e.root_algo_status===o.Re.NEW||e.root_algo_status===o.Re.REPLACED||e.root_algo_status===o.Re.PARTIAL_FILLED)}).sort((e,t)=>t.created_time-e.created_time)}};function eM(e){let{qty:t,offset:n,entryPrice:r,orderType:i,orderSide:a}=e;if(n){if(a===o.Mf.BUY)return i===o.Ox.TAKE_PROFIT?new s.Ww(r).add(new s.Ww(n)).toNumber():new s.Ww(r).minus(new s.Ww(n)).toNumber();if(a===o.Mf.SELL)return i===o.Ox.TAKE_PROFIT?new s.Ww(r).minus(new s.Ww(n)).toNumber():new s.Ww(r).add(new s.Ww(n)).toNumber()}}function eP(e){let{qty:t,percentage:n,entryPrice:r,orderType:i,orderSide:a}=e;if(n){if(a===o.Mf.BUY)return i===o.Ox.TAKE_PROFIT?new s.Ww(1).add(new s.Ww(n)).mul(new s.Ww(r)).toNumber():new s.Ww(1).minus(new s.Ww(n)).mul(new s.Ww(r)).toNumber();if(a===o.Mf.SELL)return i===o.Ox.TAKE_PROFIT?new s.Ww(1).minus(new s.Ww(n)).mul(new s.Ww(r)).toNumber():new s.Ww(1).add(new s.Ww(n)).mul(new s.Ww(r)).toNumber()}}function eN(e){let{qty:t,pnl:n,entryPrice:r,orderType:i,orderSide:a}=e;if(n&&0!==t){if(a===o.Mf.BUY)return i===o.Ox.TAKE_PROFIT?new s.Ww(r).plus(new s.Ww(n).div(new s.Ww(t))).toNumber():new s.Ww(r).add(new s.Ww(n).div(new s.Ww(t))).toNumber();if(a===o.Mf.SELL)return o.Ox.TAKE_PROFIT,new s.Ww(r).add(new s.Ww(n).div(new s.Ww(t))).toNumber()}}function eR(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{qty:n,price:r,entryPrice:i,orderType:a,orderSide:l}=e,{symbol:u}=t,d=s.v_;return(l===o.Mf.BUY&&(a===o.Ox.TAKE_PROFIT&&(d=new s.Ww(n).mul(new s.Ww(r).minus(new s.Ww(i)))),d=new s.Ww(n).mul(new s.Ww(r).minus(new s.Ww(i)))),l===o.Mf.SELL&&(a===o.Ox.TAKE_PROFIT&&(d=new s.Ww(n).mul(new s.Ww(r).minus(new s.Ww(i)))),d=new s.Ww(n).mul(new s.Ww(r).minus(new s.Ww(i)))),u)?d.todp(2,s.Ww.ROUND_UP).toNumber():d.toNumber()}function eE(e){let{values:t,markPrice:n,symbolLeverage:r}=e,i=t.order_type===o.ZN.MARKET?n:Number(t.order_price);if(r&&i){let e,n,a=Number(t.tp_trigger_price);t.tp_pnl&&t.tp_trigger_price&&a>0&&(e=k.fq.tpslROI({side:t.side,type:"tp",closePrice:a,orderPrice:i,leverage:r}));let l=Number(t.sl_trigger_price);return t.sl_pnl&&t.sl_trigger_price&&l>0&&(n=k.fq.tpslROI({side:t.side,type:"sl",closePrice:l,orderPrice:i,leverage:r})),{tp_ROI:null==e?void 0:e.toString(),sl_ROI:null==n?void 0:n.toString()}}return{tp_ROI:void 0,sl_ROI:void 0}}function ex(e){let t=Number(e.qty),n=Number(e.price);return 0===t||0===n?"0":new s.Ww(e.pnl).div(new s.Ww(t).abs().mul(new s.Ww(n))).toString()}function eA(e,t){let n=e.slice(0,3);return(0,s.Sc)(t["".concat(n,"order_type")],t["".concat(n,"order_price")])!==o.ZN.LIMIT}function eL(e,t){var n,r,i,a,l,u,d,p,c,y,m,_,f,g,v;let b=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{symbol:h}=b;if("quantity"!==e&&"tp_trigger_price"!==e&&"sl_trigger_price"!==e&&"tp_pnl"!==e&&"sl_pnl"!==e&&"tp_offset"!==e&&"sl_offset"!==e&&"tp_offset_percentage"!==e&&"sl_offset_percentage"!==e&&"tp_offset_from_mark"!==e&&"sl_offset_from_mark"!==e&&"tp_offset_percentage_from_mark"!==e&&"sl_offset_percentage_from_mark"!==e&&"tp_order_price"!==e&&"sl_order_price"!==e&&"tp_order_type"!==e&&"sl_order_type"!==e)return{[e]:t.value};let T=e.startsWith("tp_")?o.Ox.TAKE_PROFIT:o.Ox.STOP_LOSS,w=e.slice(0,3),S=Number("quantity"===e?t.value:t.qty),O=null!=(r=t.markPrice)?r:t.entryPrice;if(0===S&&("tp_pnl"===e||"sl_pnl"===e||"tp_trigger_price"===e||"sl_trigger_price"===e))return{["".concat(w,"pnl")]:"",[e]:t.value};let I,k,M,P,N,R,E,x=(0,s.Sc)(t.values["".concat(w,"order_type")],t.values["".concat(w,"order_price")]),A=new s.Ww(t.entryPrice).todp(null!=(i=null==(n=b.symbol)?void 0:n.quote_dp)?i:2,s.Ww.ROUND_UP).toNumber();switch(e){case"tp_trigger_price":case"sl_trigger_price":if(I=t.value,eA(e,t.values)){if(""===t.value)return{["".concat(w,"trigger_price")]:I,["".concat(w,"offset")]:"",["".concat(w,"offset_percentage")]:"",["".concat(w,"offset_from_mark")]:"",["".concat(w,"offset_percentage_from_mark")]:"",["".concat(w,"pnl")]:"",["".concat(w,"ROI")]:""}}else E=null!=(a=t.values["".concat(w,"order_price")])?a:"";break;case"tp_pnl":case"sl_pnl":R=t.value,eA(e,t.values)?I=eN({qty:S,pnl:Number(t.value),entryPrice:A,orderSide:t.orderSide,orderType:T}):(E=eN({qty:S,pnl:Number(t.value),entryPrice:A,orderSide:t.orderSide,orderType:T}),I=null!=(l=t.values["".concat(w,"trigger_price")])?l:E);break;case"tp_offset":case"sl_offset":k=t.value,eA(e,t.values)?I=eM({qty:S,offset:Number(t.value),entryPrice:A,orderSide:t.orderSide,orderType:"tp_offset"===e?o.Ox.TAKE_PROFIT:o.Ox.STOP_LOSS}):(E=eM({qty:S,offset:Number(t.value),entryPrice:A,orderSide:t.orderSide,orderType:"tp_offset"===e?o.Ox.TAKE_PROFIT:o.Ox.STOP_LOSS}),I=null!=(u=t.values["".concat(w,"trigger_price")])?u:E);break;case"tp_offset_from_mark":case"sl_offset_from_mark":P=t.value,eA(e,t.values)?I=eM({qty:S,offset:Number(t.value),entryPrice:O,orderSide:t.orderSide,orderType:"tp_offset_from_mark"===e?o.Ox.TAKE_PROFIT:o.Ox.STOP_LOSS}):(E=eM({qty:S,offset:Number(t.value),entryPrice:O,orderSide:t.orderSide,orderType:"tp_offset_from_mark"===e?o.Ox.TAKE_PROFIT:o.Ox.STOP_LOSS}),I=null!=(d=t.values["".concat(w,"trigger_price")])?d:E);break;case"tp_order_price":case"sl_order_price":E=t.value,I=null!=(p=t.values["".concat(w,"trigger_price")])?p:E;break;case"tp_order_type":case"sl_order_type":x=t.value,I=null!=(c=t.values["".concat(w,"trigger_price")])?c:"",E=x===o.ZN.MARKET?"":I;break;case"tp_offset_percentage":case"sl_offset_percentage":M=t.value,eA(e,t.values)?I=eP({qty:S,percentage:Number("".concat(t.value).replace(/\.0{0,2}$/,"")),entryPrice:A,orderSide:t.orderSide,orderType:T}):(E=eP({qty:S,percentage:Number("".concat(t.value).replace(/\.0{0,2}$/,"")),entryPrice:A,orderSide:t.orderSide,orderType:T}),I=null!=(y=t.values["".concat(w,"trigger_price")])?y:E);break;case"tp_offset_percentage_from_mark":case"sl_offset_percentage_from_mark":{N=t.value;let n=Number(O);eA(e,t.values)?I=eP({qty:S,percentage:Number("".concat(t.value).replace(/\.0{0,2}$/,"")),entryPrice:n,orderSide:t.orderSide,orderType:T}):(E=eP({qty:S,percentage:Number("".concat(t.value).replace(/\.0{0,2}$/,"")),entryPrice:n,orderSide:t.orderSide,orderType:T}),I=null!=(m=t.values["".concat(w,"trigger_price")])?m:E)}}if(!I&&eA(e,t.values))return{["".concat(w,"trigger_price")]:"",["".concat(w,"offset")]:"",["".concat(w,"offset_percentage")]:"",["".concat(w,"offset_from_mark")]:"",["".concat(w,"offset_percentage_from_mark")]:"",["".concat(w,"pnl")]:"",["".concat(w,"ROI")]:"",[e]:t.value};let L=I;return x&&x===o.ZN.LIMIT?L=E:eA(e,t.values)||(L=E),L&&(R=null!=R?R:eR({qty:S,price:Number(L),entryPrice:A,orderSide:t.orderSide,orderType:T},b),k=null!=k?k:function(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{price:r,entryPrice:i,orderType:a,orderSide:l}=e,{symbol:u}=n;return(l===o.Mf.BUY&&(a===o.Ox.TAKE_PROFIT&&(t=new s.Ww(r).minus(new s.Ww(i))),t=new s.Ww(r).minus(new s.Ww(i))),l===o.Mf.SELL&&(a===o.Ox.TAKE_PROFIT&&(t=new s.Ww(r).minus(new s.Ww(i))),t=new s.Ww(i).minus(new s.Ww(r))),u)?t.abs().todp(u.quote_dp,s.Ww.ROUND_UP).toNumber():t.abs().toNumber()}({price:Number(L),entryPrice:A,orderSide:t.orderSide,orderType:T},b),M=null!=M?M:function(e){let{price:t,entryPrice:n,orderType:r,orderSide:i}=e,a=(0,s.hy)({side:i,type:r===o.Ox.TAKE_PROFIT?"tp":"sl",closePrice:t,orderPrice:n});return i===o.Mf.BUY?0===n?0:r===o.Ox.TAKE_PROFIT?new s.Ww(t).div(new s.Ww(n)).minus(1).abs().mul(a).toDecimalPlaces(4,s.Ww.ROUND_DOWN).toNumber():new s.Ww(1).minus(new s.Ww(t).div(new s.Ww(n))).abs().mul(a).toDecimalPlaces(4,s.Ww.ROUND_DOWN).toNumber():i===o.Mf.SELL?0===n?0:r===o.Ox.TAKE_PROFIT?new s.Ww(1).minus(new s.Ww(t).div(new s.Ww(n))).abs().mul(a).toDecimalPlaces(4,s.Ww.ROUND_DOWN).toNumber():new s.Ww(t).div(new s.Ww(n)).minus(1).abs().mul(a).toDecimalPlaces(4,s.Ww.ROUND_DOWN).toNumber():void 0}({price:Number(L),entryPrice:A,orderSide:t.orderSide,orderType:T})),{["".concat(w,"trigger_price")]:I?(0,s.XG)(I,null!=(_=null==h?void 0:h.quote_dp)?_:2):"",["".concat(w,"order_type")]:null!=x?x:o.ZN.MARKET,["".concat(w,"order_price")]:E?(0,s.XG)(E,null!=(f=null==h?void 0:h.quote_dp)?f:2):"",["".concat(w,"offset")]:null!=k?k:"",["".concat(w,"offset_percentage")]:null!=M?M:"",["".concat(w,"offset_from_mark")]:null!=(g=null!=P?P:t.values["".concat(w,"offset_from_mark")])?g:"",["".concat(w,"offset_percentage_from_mark")]:null!=(v=null!=N?N:t.values["".concat(w,"offset_percentage_from_mark")])?v:"",["".concat(w,"pnl")]:null!=R?R:""}}var eC=["order_quantity","order_price","trigger_price","total"],eU=e=>("string"!=typeof e&&(e="".concat(e)),e=(e=e.replace(/,/g,"")).replace(/[^\d.]/g,"").replace(".","$#$").replace(/\./g,"").replace("$#$","."));function eq(e){let[t,n,r,i,a]=e;
1return eC.forEach(e=>{void 0!==t[e]&&(t[e]=eU(t[e]))}),eC.includes(n)&&(r=eU(r)),[{...t,[n]:r},n,r,i,a]}function eD(e){let[t,n,r,i,a]=e;return(r===o.ZN.LIMIT||r===o.ZN.STOP_LIMIT)&&""===t.order_price&&(t.total=""),(r===o.ZN.MARKET||r===o.ZN.LIMIT)&&(t.trigger_price=void 0),[t,n,r,i,a]}function eF(e){let[t,n,r,i,a]=e;if(""===r)return[{...t,total:""},n,r,i,a];let l=new s.Ww(r),o=l.dp();if(o>a.quote_dp&&(t.order_price=l.toDecimalPlaces(a.quote_dp).toString()),l.toDecimalPlaces(Math.min(o,a.quote_dp)),!t.order_quantity&&!t.total)return[t,n,r,i,a];let u={...t};return t.order_quantity?u.total=l.mul(t.order_quantity).todp(2).toString():t.total&&(u.order_quantity=new s.Ww(t.total).div(l).todp(a.base_dp).toString()),[u,n,r,i,a]}function eW(e){let[t,n,r,i,a]=e;if(""===r)return[{...t,total:""},n,r,i,a];let{base_dp:l,quote_dp:u}=a,d=new s.Ww(r);if(d.dp()>l&&(t.order_quantity=(d=d.toDecimalPlaces(l)).toString()),t.order_type===o.ZN.MARKET||t.order_type===o.ZN.STOP_MARKET){if(!i)return[t,n,r,i,a];t.order_price="",t.total=d.mul(i).todp(2).toString()}else if(t.order_type===o.ZN.LIMIT||t.order_type===o.ZN.STOP_LIMIT)if(t.order_price){let e=Number(t.order_price);t.total=d.mul(e).todp(u).toString()}else t.total="";else t.order_type===o.ZN.SCALED&&i?t.total=d.mul(i).todp(u).toString():t.order_type===o.ZN.TRAILING_STOP&&i&&(t.total=d.mul(i).todp(u).toString());return[{...t},n,r,i,a]}function eB(e){let[t,n,r,i,a]=e;if(""===r)return[{...t,order_quantity:""},n,r,i,a];let l=i;(t.order_type===o.ZN.LIMIT||t.order_type===o.ZN.STOP_LIMIT)&&t.order_price&&(l=Number(t.order_price));let u=new s.Ww(r);u.dp()>a.quote_dp&&(t.total=(u=u.toDecimalPlaces(a.quote_dp)).toString());let d=u.div(l),p=d.toDecimalPlaces(Math.min(a.base_dp,d.dp())).toString();return a.base_tick>=1&&(p=eK(p,new s.Ww((null==a?void 0:a.base_tick)||"0").toNumber())),[{...t,order_quantity:p},n,r,i,a]}function ez(e){let[t,n,r,i,a]=e,l=t.order_type===o.ZN.MARKET||t.order_type===o.ZN.STOP_MARKET?i:t.order_price;if(!l||!t.order_quantity)return[t,n,r,i,a];let s=eL(n,{value:r,entryPrice:l,qty:t.side===o.Mf.BUY?Number(t.order_quantity):-1*Number(t.order_quantity),orderSide:t.side,markPrice:i,values:t},{symbol:a});return[{...t,...s},n,r,i,a]}function eV(e){return e}var eZ=e=>{switch(e){case"order_type":return eD;case"order_quantity":return eW;case"order_price":return eF;case"total":return eB;case"tp_pnl":case"sl_pnl":case"tp_trigger_price":case"sl_trigger_price":case"tp_offset":case"sl_offset":case"tp_offset_percentage":case"sl_offset_percentage":case"tp_offset_from_mark":case"sl_offset_from_mark":case"tp_offset_percentage_from_mark":case"sl_offset_percentage_from_mark":case"tp_order_price":case"tp_order_type":case"sl_order_type":case"sl_order_price":return ez;default:return eV}};function eK(e,t){if(void 0===e)return e;if(void 0===t)return"".concat(e);let n="".concat(e).replace(/,/g,"");try{let e=new s.Ww(t),r=new s.Ww(n);if(e.lessThan(1)){if("".concat(n).endsWith("."))return"".concat(n);let e=t.toString(),i=e.indexOf("."),a=-1===i?0:e.length-i-1;return r.toDecimalPlaces(a,s.Ww.ROUND_DOWN).toString()}if(r.lessThan(e))return n;return r.dividedBy(e).toDecimalPlaces(0,s.Ww.ROUND_DOWN).mul(t).toString()}catch(e){return}}function ej(e,t,n,r,i){let a=eZ(t);return(0,m.A)(_.A,a,eq)([e,t,n,r,i])}function eY(e){return Object.keys(e).reduce((t,n)=>(t[(0,s.K_)(n)]=e[n],t),{})}var eJ=class{formatOrder(e){let t=this.pre(e);return t.created_time||(t.created_time=t.timestamp),t.status!==o.Re.FILLED||t.updated_time||(t.updated_time=t.timestamp),t.child_orders&&t.child_orders.length&&t.child_orders.map(e=>{e.algo_status===o.Re.FILLED&&e.is_activated&&!e.updated_time&&(e.updated_time=t.timestamp)}),t.type&&t.type.endsWith("_ORDER")&&(t.type=t.type.replace("_ORDER","")),t}merge(e,t,n){switch(this.status){case"NEW":if(e.startsWith("orders:CANCELLED")||e.startsWith("orders:FILLED")||e.startsWith("orders:REJECTED"))return n;return this.insetOrUpdate(n);case"CANCELLED":if(e.startsWith("orders:FILLED")||e.startsWith("orders:REJECTED"))return n;if(e.startsWith("orders:NEW")||e.startsWith("orders:INCOMPLETE")||e.startsWith("algoOrders:INCOMPLETE"))return this.remove(n);if(e.startsWith("orders:CANCELLED"))return this.insert(n);return this.update(n);case"REPLACED":return this.update(n);
1case"FILLED":if(this.orderIsExisting(n)){if(e.startsWith("orders:INCOMPLETE")||e.startsWith("orders:NEW")||e.startsWith("algoOrders:INCOMPLETE")||e.startsWith("orders:")){if(this.isFullFilled())return this.remove(n);return this.update(n)}}else{if(e.startsWith("orders:CANCELLED")||e.startsWith("orders:INCOMPLETE")||e.startsWith("orders:NEW")||e.startsWith("algoOrders:INCOMPLETE"))return n;return this.insert(n)}default:return n||[]}}insert(e){let t=(0,f.A)(0);return(0,g.A)(t,e=>({meta:{...e.meta,total:e.meta.total+1},rows:[this.data,...e.rows]}),e)}insetOrUpdate(e){return this.orderIsExisting(e)?this.update(e):this.insert(e)}update(e){let t=this.findOrderIndex(e);if(!Array.isArray(t))return e||[];let[n,r]=t;return e.map((e,t)=>({meta:{...e.meta},rows:e.rows.map((e,i)=>n===t&&r===i?{...e,...this.data}:e)}))}remove(e){let t=this.findOrderIndex(e);if(!Array.isArray(t))return e;let[n,r]=t;return e.map((e,t)=>({meta:{...e.meta,total:e.meta.total-1},rows:n===t?e.rows.filter((e,t)=>t!==r):e.rows}))}findOrderIndex(e){let t,n=0;for(;n<e.length;n++){let r=e[n];for(let e=0;e<r.rows.length;e++){let n=r.rows[e];if(n.algo_order_id===this.orderId||n.order_id===this.orderId){t=e;break}}if(void 0!==t)break}if(void 0!==t)return[n,t]}orderIsExisting(e){return Array.isArray(this.findOrderIndex(e))}constructor(e){this.message=e,this.data=this.formatOrder(e)}},eQ=e=>{var t;let n="string"==typeof e.type&&e.type.endsWith("_ORDER")?e.type.replace("_ORDER",""):e.type;return{...e,type:n,child_orders:null==(t=e.child_orders)?void 0:t.map(eQ)}},eG=class e extends eJ{get orderId(){return this.data.algo_order_id}get status(){return this.data.root_algo_status}pre(t,n){return e.groupOrders(t)}isFullFilled(){return"total_executed_quantity"in this.data&&0!==this.data.total_executed_quantity?this.data.total_executed_quantity===this.data.quantity:"total_executed_quantity"in this.data.child_orders[0]&&this.data.child_orders[0].total_executed_quantity===this.data.child_orders[0].quantity}static groupOrders(e){let t=e.findIndex(e=>0===e.parentAlgoOrderId&&e.algoOrderId===e.rootAlgoOrderId);if(-1===t)throw new o.JP("Root order not found");let n=eY(e[t]);if(n.child_orders=e.filter((e,n)=>n!==t).map(e=>eY(e)),"BRACKET"===n.algo_type&&n.child_orders.length>0){let e=this.groupBracketChildOrders([...n.child_orders]);n.child_orders=[e]}return(0,s.$d)(eQ(n))}static groupBracketChildOrders(e){let t=[...e],n=t.findIndex(e=>e.algo_type!==o.Ox.STOP_LOSS&&e.algo_type!==o.Ox.TAKE_PROFIT);if(-1===n)throw new o.JP("Root order not found");let r=t.splice(n,1)[0];return r.child_orders=t,r}getFieldChanges(e){let{algo_order_id:t,algo_type:n,algo_status:r,is_activated:i,extreme_price:a}=this.data||{},l={};if(n===o.yL.TRAILING_STOP&&r===o.Re.REPLACED&&(null==e?void 0:e.length)){for(let n of e)for(let e of n.rows)if(e.algo_order_id===t)return l[o.yL.TRAILING_STOP]={extreme_price:e.extreme_price!==a,is_activated:e.is_activated!==i},l}return l}},eH=class extends eJ{get orderId(){return this.data.order_id}get status(){return this.data.status}pre(e,t){return eY(e)}isFullFilled(){return"total_executed_quantity"in this.data&&this.data.total_executed_quantity===this.data.quantity}},eX=(e,t)=>(n,r)=>{var i;if(r&&!(null==(i=r.rows)?void 0:i.length))return null;let{status:a,symbol:l,side:o,size:s=100,page:u,dateRange:d}=t,p=new URLSearchParams([["size",s.toString()],["page","".concat(n+1)]]);return t.sourceTypeAll&&p.set("source_type","ALL"),d&&(d.from&&p.set("start_t","".concat(d.from.getTime())),d.to&&p.set("end_t","".concat(d.to.getTime()))),u&&p.set("page","".concat(u)),a&&p.set("status",a),l&&p.set("symbol",l),o&&p.set("side",o),"".concat(e,"?").concat(p.toString())};function e$(e){}var e0=()=>{let{state:e}=ed(),{data:t,isLoading:n,error:i}=eh("/v1/referral/info",{accountId:null==e?void 0:e.mainAccountId,revalidateOnFocus:!0,errorRetryCount:3,...j}),a=(0,r.useMemo)(()=>{var e,n,r;if(void 0!==(null==t||null==(e=t.referee_info)?void 0:e.referer_code))return((null==t||null==(r=t.referee_info)||null==(n=r.referer_code)?void 0:n.length)||0)>0},[null==t?void 0:t.referee_info]),l=(0,r.useMemo)(()=>{var e,n,r;if(void 0!==(null==t||null==(e=t.referrer_info)?void 0:e.referral_codes))return((null==t||null==(r=t.referrer_info)||null==(n=r.referral_codes)?void 0:n.length)||0)>0},[null==t?void 0:t.referrer_info]),[o]=ew("orderly_referral_codes",[]),s=(0,r.useCallback)(()=>{var e,n;if(!(null==t||null==(e=t.referrer_info)?void 0:e.referral_codes))return;let r=[...null==t||null==(n=t.referrer_info)?void 0:n.referral_codes],i=[];for(let e=0;e<o.length;
1e++){let t=o[e],n=r.findIndex(e=>e.code===t);-1!==n&&(i.push({...r[n]}),r.splice(n,1))}let a=[...i,...r];return null==a?void 0:a[0]},[o,t]);return{data:t,isTrader:a,isAffiliate:l,error:i,isLoading:n,getFirstRefCode:s}},e2=4,e1=15;function e6(e){return String(e).replace(/[a-z]/g,e=>e.toUpperCase()).replace(/[^A-Z0-9]/g,"")}function e5(e){return e.length>=e2&&e.length<=e1}var e3=(e,t)=>{var n,r,i,a,l,o,s,u,d;return{...e,holding:null!=(n=t.holding)?n:e.holding,frozen:null!=(r=t.frozen)?r:e.frozen,pending_short:null!=(l=null!=(a=null!=(i=t.pending_short)?i:t.pendingShort)?a:t.pendingShortQty)?l:e.pending_short,isolated_margin:null!=(s=null!=(o=t.isolated_margin)?o:t.isolatedMargin)?s:e.isolated_margin,isolated_order_frozen:null!=(d=null!=(u=t.isolated_order_frozen)?u:t.isolatedOrderFrozen)?d:e.isolated_order_frozen}},e4=(0,M.vt)()((0,P.D)(e=>({portfolio:{totalCollateral:s.v_,totalValue:null,freeCollateral:s.v_,freeCollateralUSDCOnly:s.v_,availableBalance:0,unsettledPnL:0,totalUnrealizedROI:0,usdcHolding:0},appState:{positionsLoading:!1,ordersLoading:!1,fundingRatesLoading:!1,ready:!1},actions:{setTokensInfo:t=>{e(e=>{e.tokensInfo=t},!1)},cleanAll:()=>{e(e=>{e.accountInfo=void 0,e.portfolio={totalCollateral:s.v_,totalValue:null,freeCollateral:s.v_,freeCollateralUSDCOnly:s.v_,availableBalance:0,unsettledPnL:0,totalUnrealizedROI:0,usdcHolding:0}},!1)},setAccountInfo:t=>{e(e=>{e.accountInfo=t},!1)},setSymbolsInfo:t=>{e(e=>{e.symbolsInfo=t},!1)},setRwaSymbolsInfo:t=>{e(e=>{e.rwaSymbolsInfo=t},!1)},setFundingRates:t=>{e(e=>{e.fundingRates=t},!1)},updateAppStatus:(t,n)=>{e(e=>{e.appState[t]=n},!1)},updatePortfolio:(t,n)=>{e(e=>{e.portfolio[t]=n},!1)},batchUpdateForPortfolio:t=>{e(e=>{e.portfolio={...e.portfolio,...t}},!1)},restoreHolding:t=>{e(e=>{e.portfolio.holding=t},!1)},updateHolding(t){e(e=>{if(e.portfolio.holding&&e.portfolio.holding.length)for(let n in t){let r=e.portfolio.holding.find(e=>e.token===n);r&&Object.assign(r,e3(r,t[n]))}},!1)}}}))),e8=()=>e4(e=>e.accountInfo),e7=()=>e4(e=>e.portfolio),e9=e=>e4(t=>{var n;return null==(n=t.fundingRates)?void 0:n[e]}),te={name:"ORDERLY_SYMBOLS",keyPath:"symbol",autoIncrement:!1},tt={name:"ORDERLY_MAIN_CHAIN_INFO",keyPath:"chain_id",autoIncrement:!1},tn={name:"ORDERLY_TEST_CHAIN_INFO",keyPath:"chain_id",autoIncrement:!1},tr={name:"ORDERLY_MAIN_TOKEN",keyPath:"token",autoIncrement:!1},ti={name:"ORDERLY_TEST_TOKEN",keyPath:"token",autoIncrement:!1},ta={name:"ORDERLY_STORE",version:4,stores:[tt,tn,tr,te,ti]},tl=(class e{static getInstance(){return e.instance||(e.instance=new e),e.instance}async initializeDatabase(e){return this.initializationPromise||(this.initializationPromise=this._performInitialization(e)),this.initializationPromise}async _performInitialization(e){return this.databaseConfig=e,new Promise((t,n)=>{let r=indexedDB.open(e.name,e.version);r.onupgradeneeded=t=>{let n=t.target.result;e.stores.forEach(e=>{if(!n.objectStoreNames.contains(e.name)){var t;n.createObjectStore(e.name,{keyPath:e.keyPath,autoIncrement:null==(t=e.autoIncrement)||t})}})},r.onsuccess=()=>{let n=r.result;this.connections.set(e.name,n),n.addEventListener("close",()=>{this.connections.delete(e.name)}),t()},r.onerror=()=>{this._handleInitializationError(e.name,r.error),n(r.error)},r.onblocked=()=>{let t=Error("Database '".concat(e.name,"' is blocked by another connection"));this._handleInitializationError(e.name,t),n(t)}})}_handleInitializationError(e,t){this.initializationPromise=null}async getConnection(e,t){if(await this.ensureInitialized(),this.connections.has(e)){let n=this.connections.get(e);try{if(n.objectStoreNames.contains(t))return n}catch(t){this.connections.delete(e)}}let n=await this.createConnection(e);return this.connections.set(e,n),n.addEventListener("close",()=>{this.connections.delete(e)}),n}async ensureInitialized(){return this.initializationPromise?this.initializationPromise:this.databaseConfig?await this._checkDatabaseExists()?(this.initializationPromise=Promise.resolve(),this.initializationPromise):(this.initializationPromise=null,this.initializeDatabase(this.databaseConfig)):this.initializeDatabase(ta)}async createConnection(e){let t=this.databaseConfig;if(!t)throw Error("Database not initialized. Call initializeDatabase() first.");return new Promise((n,r)=>{let i=indexedDB.open(e,t.version);i.onsuccess=()=>{n(i.result)},i.onerror=()=>{r(i.error)}})}async _checkDatabaseExists(){if(!this.databaseConfig)return!1;try{return new Promise(e=>{let t=this.databaseConfig,n=indexedDB.open(t.name,t.version);n.onsuccess=()=>{let t=n.result,r=this.databaseConfig.stores.every(e=>t.objectStoreNames.contains(e.name));t.close(),e(r)},n.onerror=()=>e(!1)})}catch(e){return!1}}constructor(){this.connections=new Map,this.databaseConfig=null,this.initializationPromise=null}}).getInstance(),to=async e=>{try{await tl.initializeDatabase(e)}catch(e){throw e}},ts=[o.a5,o.gJ],tu=[o.Xd,o.SG],td=["name","public_rpc_url","currency_symbol","vault_address"],tp=e=>{if(null===e||"object"!=typeof e)return null;let t=Number(e.chain_id);if(!Number.isFinite(t)||t<=0||td.some(t=>"string"!=typeof e[t]||0===e[t].trim().length))return null;let n=(e=>{if("number"==typeof e)return Number.isFinite(e)&&e>=0?e:null;if("string"==typeof e){let t=e.trim();if(0===t.length)return null;let n=Number(t);return Number.isFinite(n)&&n>=0?n:null}return null})(e.currency_decimal);return null===n?null:n===e.currency_decimal?e:{...e,currency_decimal:n}},tc=e=>{if(!Array.isArray(e)||0===e.length)return null;let t=[];for(let n of e){let e=tp(n);null!==e&&t.push(e)}return t.length>0?t:null},ty=async(e,t)=>{let n=await e.getItem();if(!n)return null;let r=n.find(e=>null!==e&&"object"==typeof e&&e[t.keyPath]===t.recordKey),i=null==r?void 0:r[t.metadataField];return void 0===i?null:{data:n.filter(e=>e!==r),metadata:i}},tm=e=>{let{dbName:t,storeName:n}=e,r=async()=>tl.getConnection(t,n),i=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"readwrite",i=(await r()).transaction(n,t),a=i.objectStore(n);return new Promise((t,n)=>{let r=e(a);i.oncomplete=()=>t(r),i.onerror=()=>{n(i.error)},i.onabort=()=>{n(Error("Transaction was aborted"))}})};return{getItem:async()=>{try{let e=await i(e=>new Promise((t,n)=>{let r=e.getAll();r.onsuccess=()=>{let e=r.result;t(e.length>0?e:[])},r.onerror=()=>n(r.error)}),"readonly");return e.length>0?e:null}catch(e){return null}},setItem:async e=>{try{await i(t=>
1{t.clear(),e.forEach(e=>t.put(e))},"readwrite")}catch(e){throw e}},removeItem:async()=>{try{await i(e=>{e.clear()},"readwrite")}catch(e){throw e}}}},t_=e=>(e=>Array.isArray(e)&&e.length>0)(e)?e:null,tf=async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t_;if(null!==r(e))return e;try{let e=await n.getItem();if(null!==r(e))return e}catch(e){}return null===t?null:void 0!==t&&null!==r(t)?t:e},tg=e=>{let{name:t,dbName:n,storeName:r,keyPath:i,endpoint:a,baseUrl:l,formatter:o=e=>(0,h.A)([],["rows"],e),initData:s,fallbackData:u,timeoutMs:d,sanitizeData:p,persistDataOrigin:c=!1}=e,y=tm({dbName:n,storeName:r}),m=c?{keyPath:i,recordKey:"__orderly_data_origin_metadata__",metadataField:"__orderly_data_origin__"}:void 0,_=void 0===s?[]:s,f=void 0===u?s:u,g=null!=p?p:t_,v=null!==g(_)?"fallback":null,b=0,T=!1,w=null,S=0;return(0,M.vt)(((e,t)=>{let{indexedDBConfig:n,...r}=t,i=tm(n),a=(0,N.KU)(()=>((e,t)=>({getItem:async()=>{try{let n=t?await ty(e,t):await e.getItem();return n&&(Array.isArray(n)?n.length>0:Array.isArray(n.data)&&n.data.length>0)?JSON.stringify({state:n,version:0}):null}catch(e){return null}},setItem:async(n,r)=>{try{let n=JSON.parse(r),i=null==n?void 0:n.state;if(t&&null!==i&&"object"==typeof i&&!Array.isArray(i)&&Array.isArray(i.data)&&void 0!==i.metadata){let n={[t.keyPath]:t.recordKey,[t.metadataField]:i.metadata};await e.setItem([...i.data,n])}else Array.isArray(i)&&!t?await e.setItem(i):null===i&&await e.removeItem()}catch(e){}},removeItem:async()=>{try{await e.removeItem()}catch(e){}}}))(i,n.metadata));return(0,N.Zr)(e,{...r,storage:a})})((e,n)=>({name:r,data:_,dataOrigin:v,loading:!1,error:null,hydrated:!1,setHydrated:t=>e({hydrated:t}),fetchData:(r,i)=>{var s;let u=null==i||null==(s=i.brokerId)?void 0:s.trim(),p=!!u,_=+!!p,v=p&&"orderly"!==u?"?broker_id=".concat(encodeURIComponent(u)):"",h="".concat(r||l||"").concat(a).concat(v);if((null==w?void 0:w.key)===h&&w.priority===_||w&&w.priority>_)return w.promise;if(S>_)return Promise.resolve(n().data);let O=++b;null==w||w.cancel(Error("Request superseded: ".concat(h))),e({loading:!0,error:null});let I=((e,t,n)=>{let r,i,a=new AbortController,l=()=>{},o=new Promise((e,t)=>{l=t}),s=e=>{a.signal.aborted||(a.abort(),l(e))};"number"==typeof n&&n>0&&(r=setTimeout(()=>{s(Error("Request timed out after ".concat(n,"ms: ").concat(e)))},n));try{i=K(e,{signal:a.signal},{formatter:t})}catch(e){i=Promise.reject(e)}return{cancel:s,promise:Promise.race([i,o]).finally(()=>{void 0!==r&&clearTimeout(r)})}})(h,o,d),k=(async()=>{try{let r=await I.promise;if(O!==b)return n().data;if(S>_)return e({loading:!1}),n().data;let i=g(r);if(null===i)throw Error("Invalid data received for store: ".concat(t));return i.length<r.length,T=!0,e({data:i,dataOrigin:p?"broker":"generic",loading:!1,error:null}),S=Math.max(S,_),i}catch(u){var r;if(O!==b)return n().data;let t=n(),i=t.data,a={state:null},l=await tf(i,f,{getItem:async()=>{var e;if(!c){let e=await y.getItem();return null===e?null:g(e)}if(!m)return null;let t=await ty(y,m),n=null==t||null==(e=t.metadata)?void 0:e.dataOrigin;if(!t||"broker"!==n&&"generic"!==n)return null;let r=g(t.data);return null===r?null:(a.state={...t,data:r},r)}},g);if(O!==b)return n().data;let o={error:u,loading:!1},s=l===i?t.dataOrigin:(null==(r=a.state)?void 0:r.data)===l?a.state.metadata.dataOrigin:l===f?"fallback":null===l?null:t.dataOrigin;return"broker"===s&&(S=1),l!==i?e({...o,data:l,dataOrigin:s}):e(o),l}finally{(null==w?void 0:w.generation)===O&&(w=null)}})();return w={generation:O,key:h,priority:_,promise:k,cancel:I.cancel},k}}),{name:t,indexedDBConfig:{dbName:n,storeName:r,metadata:m},partialize:e=>{if(!e.error&&e.data!==_&&"fallback"!==e.dataOrigin&&null!==e.dataOrigin)return c?{data:e.data,metadata:{dataOrigin:e.dataOrigin}}:e.data},merge:(e,t)=>{var n,r;let i=c?e:void 0,a=c?null==i?void 0:i.data:e,l=c?null!=(r=null==i||null==(n=i.metadata)?void 0:n.dataOrigin)?r:null:a?"generic":null,o=+("broker"===l),s=void 0!==a?g(a):null,u=null!==s&&("broker"===l||"generic"===l)&&(!T||o>S),d=t.loading;return u&&(S=Math.max(S,o),1===o&&w&&w.priority<o&&(b+=1,w.cancel(Error("Generic request superseded by broker 
1cache")),w=null,d=!1)),{...t,data:u?s:t.data,dataOrigin:u?l:t.dataOrigin,loading:d}},onRehydrateStorage:()=>(e,t)=>{e&&!t&&e.setHydrated(!0)}}))},tv=tg({name:"orderly-main-chain-info",dbName:"ORDERLY_STORE",storeName:tt.name,keyPath:tt.keyPath,endpoint:"/v1/public/chain_info",baseUrl:"https://api.orderly.org",initData:null,fallbackData:ts,timeoutMs:1e4,sanitizeData:tc,persistDataOrigin:!0}),tb=tg({name:"orderly-test-chain-info",dbName:"ORDERLY_STORE",storeName:tn.name,keyPath:tn.keyPath,endpoint:"/v1/public/chain_info",baseUrl:"https://testnet-api.orderly.org",initData:tu,timeoutMs:1e4,sanitizeData:tc,persistDataOrigin:!0}),th=tg({name:"orderly-main-token",dbName:"ORDERLY_STORE",storeName:tr.name,keyPath:tr.keyPath,endpoint:"/v1/public/token",baseUrl:"https://api.orderly.org"}),tT=(0,M.vt)()((0,N.Zr)(e=>({data:null,loading:!1,error:null,fetchData:async()=>{try{e({loading:!0,error:null});let t=await fetch("https://fi-api.woo.org/swap_support"),n=await t.json();if("ok"===n.status)return e({data:n.data,loading:!1,error:null}),n.data;return e(e=>{var t;return{data:null!=(t=e.data)?t:{},error:Error(n.message),loading:!1}}),null}catch(t){return e(e=>{var n;return{data:null!=(n=e.data)?n:{},error:t,loading:!1}}),null}}}),{name:"orderly-swap-support",partialize:e=>({data:e.data})})),tw=tg({name:"orderly-main-symbols",dbName:"ORDERLY_STORE",storeName:te.name,keyPath:te.keyPath,endpoint:"/v1/public/info"}),tS=(0,o.f5)([o.nB,o.iA]),tO=tg({name:"orderly-main-token",dbName:"ORDERLY_STORE",storeName:ti.name,keyPath:ti.keyPath,endpoint:"/v1/public/token",initData:tS});function tI(e,t){let n=(0,r.useCallback)(()=>{if("undefined"==typeof window)return t;try{let n=window.sessionStorage.getItem(e);return n?eT(n):t}catch(e){return t}},[t,e]),[i,a]=(0,r.useState)(n);(0,r.useEffect)(()=>{a(n())},[]),(0,r.useEffect)(()=>{var e,t;if("undefined"!=typeof window)return null==(e=(t=window).addEventListener)||e.call(t,"storage",l),()=>{var e,t;null==(e=(t=window).removeEventListener)||e.call(t,"storage",l)}});let l=(0,r.useCallback)(t=>{null!=t&&t.key&&t.key!==e||a(n())},[e,n]);return[i,t=>{try{let n=t instanceof Function?t(i):t;window.sessionStorage.setItem(e,JSON.stringify(n)),a(n)}catch(e){}}]}var tk=()=>ep("/v1/client/info",{revalidateOnFocus:!1}),tM=e=>new s.Ww(null!=e?e:0).mul(1e-4),tP=e=>"".concat(e.mul(100).toNumber(),"%"),tN=()=>{var e,t,n,i,a;let{data:l,isLoading:o}=tk(),{data:s}=ep("/v1/referral/info",{revalidateOnFocus:!0,errorRetryCount:3,...j}),u=eu(),{data:d}=(0,R.A)("account",(e,t)=>{let{next:n}=t,r=u.subscribe("account",{onMessage:e=>{n(null,e)}});return()=>{null==r||r()}}),p=(0,r.useMemo)(()=>{var e,t;return(null==d||null==(e=d.accountDetail)?void 0:e.futuresTakerFeeRate)?null==d||null==(t=d.accountDetail)?void 0:t.futuresTakerFeeRate:null==l?void 0:l.futures_taker_fee_rate},[null==l?void 0:l.futures_taker_fee_rate,null==d||null==(e=d.accountDetail)?void 0:e.futuresTakerFeeRate]),c=(0,r.useMemo)(()=>{var e,t;return(null==d||null==(e=d.accountDetail)?void 0:e.futuresMakerFeeRate)?null==d||null==(t=d.accountDetail)?void 0:t.futuresMakerFeeRate:null==l?void 0:l.futures_maker_fee_rate},[null==l?void 0:l.futures_maker_fee_rate,null==d||null==(t=d.accountDetail)?void 0:t.futuresMakerFeeRate]),y=(0,r.useMemo)(()=>{var e,t;return(null==d||null==(e=d.accountDetail)?void 0:e.rwaFuturesTakerFeeRate)?null==d||null==(t=d.accountDetail)?void 0:t.rwaFuturesTakerFeeRate:null==l?void 0:l.rwa_taker_fee_rate},[null==l?void 0:l.rwa_taker_fee_rate,null==d||null==(n=d.accountDetail)?void 0:n.rwaFuturesTakerFeeRate]),m=(0,r.useMemo)(()=>{var e,t;return(null==d||null==(e=d.accountDetail)?void 0:e.rwaFuturesMakerFeeRate)?null==d||null==(t=d.accountDetail)?void 0:t.rwaFuturesMakerFeeRate:null==l?void 0:l.rwa_maker_fee_rate},[null==l?void 0:l.rwa_maker_fee_rate,null==d||null==(i=d.accountDetail)?void 0:i.rwaFuturesMakerFeeRate]),_=null==s||null==(a=s.referee_info)?void 0:a.referee_rebate_rate,f=(0,r.useMemo)(()=>o||null==p?"-":tP(tM(p)),[o,p]),g=(0,r.useMemo)(()=>o||null==c?"-":tP(tM(c)),[o,c]);return{takerFee:f,makerFee:g,refereeRebate:_,rwaTakerFee:(0,r.useMemo)(()=>o||null==y?"-":tP(tM(y)),[o,y]),rwaMakerFee:(0,r.useMemo)(()=>o||null==m?"-":tP(tM(m)),[o,m])}},tR={dev:"4d6b7db0fdd6e9de2b6a270414fd51e0",qa:"96476b00bc2701360f9b480629ae5263",staging:"dffc00e003479b86d410c448e00f2304",prod:"3ab9ae56ed16cc57bc2ac97ffc1098c2"},tE=class{setUserId(e){e!==this._userId&&(E.do(e),this._userId=e)}setSdkInfo(e){this._sdkInfoTag&&e.address===this._sdkInfoTag||(this.identify(e),this._sdkInfoTag=e.address)}identify(e){let t=new x.T$;
1Object.entries(e).forEach(e=>{let[n,r]=e;t.set(n,r)}),E.ls(t)}track(e,t){E.u4(e,t)}_bindEvents(){Object.values(o.wy).forEach(e=>{var t=this;this._ee.addListener(e,function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(e===o.wy.trackIdentifyUserId)t.setUserId(n);else if(e===o.wy.trackIdentify)t.identify(n);else if(e===o.wy.trackCustomEvent){let{eventName:e,...r}=n;if(!e)return;t.track(e,r)}else t.track(e,n)})})}constructor(e,t,n){this._ee=p.Ex.get("EE");let{amplitudeId:r,options:i}=function(e,t){if(!t)return{amplitudeId:tR[e],options:{serverZone:"EU"}};let{amplitudeId:n,serverZone:r}=t;return{amplitudeId:n,options:r?{serverZone:r}:{}}}(e,t);E.Ts(r,i),this.setSdkInfo(n),this._bindEvents()}};tE.instanceName="amplitudeTracker";var tx=()=>{let{configStore:e,amplitudeConfig:t}=(0,r.useContext)(Y);if(!e)throw Error("configStore is not defined, please use OrderlyProvider");let n=e.get("env"),i=e.get("brokerId");return(0,d.A)(()=>{let e=p.Ex.get("amplitudeTracker");if(!e){var r,a,l;e=new tE(n,null!=t?t:void 0,{brokerId:i,sdk_version:null!=(l=null==(a=window)||null==(r=a.__ORDERLY_VERSION__)?void 0:r["@orderly.network/net"])?l:""}),p.Ex.registerByName("instance",e)}return e})},tA=()=>(0,r.useContext)(Y).keyStore,tL=(e=>(e.Connected="connected",e.Unstable="unstable",e.Disconnected="disconnected",e))(tL||{});function tC(){let e=eu(),[t,n]=(0,r.useState)(e.client.public.readyState?"connected":"disconnected"),i=(0,r.useRef)(0);return(0,r.useEffect)(()=>(e.on("status:change",e=>{let{type:t,isPrivate:r}=e;if(!r)switch(t){case"open":i.current=0,n("connected");break;case"close":i.current=0,n("disconnected");break;case"reconnecting":i.current++,i.current>=3&&n("unstable")}}),()=>{e.off("status:change",()=>{})}),[]),t}var tU=(0,r.createContext)({}),tq=e=>{let t=tC(),n=(0,r.useMemo)(()=>({ws:t}),[t]);return(0,A.jsx)(tU.Provider,{value:n,children:e.children})},tD={PERP_BTC_USDC:"1",PERP_ETH_USDC:"0.1",PERP_SOL_USDC:"0.01"},tF={PERP_ETH_USDC:[.01,.1,.5,1,10]},tW=class{get(e){var t;let n=null==(t=this._proxyConfigStore)?void 0:t.get(e);return void 0===n?this._originConfigStore.get(e):n}getOr(e,t){var n;return(null!=(n=this._proxyConfigStore)?n:this._originConfigStore).getOr(e,t)}set(e,t){var n;(null!=(n=this._proxyConfigStore)?n:this._originConfigStore).set(e,t)}clear(){throw new o.JP("Method not implemented.")}getFromOrigin(e){return this._originConfigStore.get(e)}getOrFromOrigin(e,t){return this._originConfigStore.getOr(e,t)}setToOrigin(e,t){this._originConfigStore.set(e,t)}clearOrigin(){this._originConfigStore.clear()}constructor(e){this._originConfigStore=e,(0,s.Qm)(()=>{this._proxyConfigStore=window.__ORDERLY_CONFIG_STORE__||e})}};function tB(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,n=(e,t)=>void 0===t||null!=e?e:t;return new Proxy(e||{},{get:(r,i,a)=>"isNil"===i?(0,v.A)(e):1===t?e=>r?n(r[i],e):e:(e,t)=>{var a;return e?n(null==(a=r[i])?void 0:a[e],t):n(r[i],t)}})}var tz=()=>{let e=e4(e=>e.symbolsInfo);return(0,r.useMemo)(()=>tB(e?{...e}:e),[e])},tV=()=>{let{data:e}=H("/v1/public/broker/name",{formatter:e=>{let{rows:t}=e;return null==t?void 0:t.map(e=>({[e.broker_id]:e.broker_name})).reduce((e,t)=>({...e,...t}),{})},revalidateOnFocus:!1});return[e]};function tZ(e){var t,n,r;if(!e)return"";let i=e.split("_");return i.length>=3?null!=(n=i[1])?n:"":null!=(r=null==(t=e.match(/^([A-Za-z]+)/))?void 0:t[1])?r:e}function tK(e,t){let n=null==t?void 0:t.trim();return n||tZ(e)}function tj(e){var t,n;if(!e)return;let r=null!=(n=null==(t=e.trim().split(/[ _-]/,1)[0])?void 0:t.trim())?n:"";return r.length>0?r:void 0}var tY=e=>{let t=tz(),[n]=tV();return(0,r.useMemo)(()=>{var r;if(!e||t.isNil)return{displaySymbolName:null!=e?e:"",brokerId:void 0,brokerName:void 0,brokerNameRaw:void 0};let i=t[e],a="function"==typeof i?i():void 0,l=tK(e,null==a?void 0:a.display_symbol_name),o=null!=(r=null==a?void 0:a.broker_id)?r:void 0,s=o?null==n?void 0:n[o]:void 0,u=tj(s);return{displaySymbolName:l,brokerId:o,brokerName:u?u.length>7?"".concat(u.slice(0,7),"..."):u:void 0,brokerNameRaw:s}},[n,t,e])};function tJ(e,t,n){let r;if(!e)return"";if(!t.isNil){var i;let a=t[e],l="function"==typeof a?a():void 0,o=null!=(i=null==l?void 0:l.broker_id)?i:void 0;r=tj(o?null==n?void 0:n[o]:void 0)}let a=tZ(e),l=e.includes("-")||e.split("_").length>3;return r&&l?"".concat(a,"-").concat(r):a}var tQ=e=>{let t=tz(),[n]=tV();return(0,r.useMemo)(()=>tJ(e,t,n),[n,t,e])},tG=(0,M.vt)((e,t)=>({market:[],marketMap:null,actions:{updateMarket:t=>{let n={};
1t.forEach(e=>{n[e.symbol]=e}),e({market:t,marketMap:n})}}})),tH=()=>tG(e=>e.market),tX=()=>{let e=eu(),t=tH(),{data:n}=(0,R.A)("tickers",(t,n)=>{let{next:r}=n,i=e.subscribe("tickers",{onMessage:e=>{r(null,e)}});return()=>{null==i||i()}});return{data:(0,r.useMemo)(()=>t?n?t.map(e=>{let t=n.find(t=>t.symbol===e.symbol);if(t){let n={...e,"24h_close":t.close,"24h_open":t.open,"24h_volumn":t.volume,"24h_volume":t.volume,"24h_amount":t.amount,change:0};return void 0!==t.close&&void 0!==t.open&&(n.change=new s.Ww(t.close).minus(t.open).div(t.open).toNumber()),n}return e}):t:null,[t,n])}},t$="/v1/public/rwa/info",t0=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now(),r=arguments.length>3?arguments[3]:void 0,i=t2(e);return"open"===t?!i||n<e:t2(r)&&n>=r&&(!i||n<e)},t2=e=>"number"==typeof e&&e>0,t1=()=>{let e=e4(e=>e.rwaSymbolsInfo);return(0,r.useMemo)(()=>tB({...e}),[e])},t6=()=>e4(e=>e.rwaSymbolsInfo),t5=(0,M.vt)((e,t)=>({computedStates:{},currentTime:Date.now(),timerId:void 0,triggeredRefreshKeys:{},startTimer:()=>{let n=t();n.timerId&&clearInterval(n.timerId);let r=setInterval(()=>{let n=Date.now(),r=e4.getState().rwaSymbolsInfo;if(!r)return void e({currentTime:n});t3(r,n,t,e)},1e3);e({timerId:r})},stopTimer:()=>{let n=t();n.timerId&&(clearInterval(n.timerId),e({timerId:void 0}))},updateComputedStates:n=>{t3(n,t().currentTime,t,e)}})),t3=(e,t,n,r)=>{let i=n(),l={};Object.entries(e).forEach(e=>{let[n,r]=e;l[n]=((e,t)=>{let n,r,{status:i,next_close:a,next_open:l}=e,o=t0(a,i,t,l);return o&&t2(a)&&a>t&&(n=Math.max(0,Math.floor((a-t)/1e3))),!o&&t2(l)&&l>t&&(r=Math.max(0,Math.floor((l-t)/1e3))),{isRwa:!0,open:o,nextOpen:l||void 0,nextClose:a||void 0,closeTimeInterval:n,openTimeInterval:r}})(r,t)});let o=((e,t,n)=>{let r=Object.entries(e).reduce((e,r)=>{let[i,a]=r;if(!(e=>"number"==typeof e&&e>0)(a.next_close)||t<a.next_close)return e;let l=((e,t)=>"".concat(e,":").concat(t.status,":").concat(t.next_open,":").concat(t.next_close))(i,a);return n[l]||e.push(l),e},[]);if(0===r.length)return{shouldRefresh:!1,triggeredRefreshKeys:n};let i={...n};return r.forEach(e=>{i[e]=!0}),{shouldRefresh:!0,triggeredRefreshKeys:i}})(e,t,i.triggeredRefreshKeys);if(!o.shouldRefresh)return void r({computedStates:l,currentTime:t});r({computedStates:l,currentTime:t,triggeredRefreshKeys:o.triggeredRefreshKeys});try{Promise.resolve((0,a.Tk)(t$)).catch(()=>void 0)}catch(e){}},t4=e=>{let t=t5(t=>t.computedStates[e]);return(0,r.useMemo)(()=>t||{isRwa:!1},[t])},t8=e=>{let{isRwa:t,open:n}=t4(e);return(0,r.useMemo)(()=>({isRwa:t,open:n}),[t,n])},t7=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:30,{isRwa:n,open:i,closeTimeInterval:a,nextClose:l}=t4(e);return(0,r.useMemo)(()=>{let e=((e,t,n)=>{if(t&&e)return e>60*n?void 0:e})(a,n,t);return{isRwa:n,open:i,closeTimeInterval:e,nextClose:l}},[n,i,a,l,t])},t9=(e=>(e[e.FAVORITES=0]="FAVORITES",e[e.RECENT=1]="RECENT",e[e.ALL=2]="ALL",e[e.CRYPTO=3]="CRYPTO",e[e.RWA=4]="RWA",e[e.NEW_LISTING=5]="NEW_LISTING",e[e.COMMUNITY=6]="COMMUNITY",e[e.PRE_TGE=7]="PRE_TGE",e))(t9||{}),ne="orderly_markets",nt={name:"Popular",id:1},nn=()=>{let{configStore:e}=(0,r.useContext)(Y),t=ei(),n=(0,r.useId)(),i=()=>e.get(ne)||{recent:[],favorites:[{name:"PERP_ETH_USDC",tabs:[{...nt}]},{name:"PERP_BTC_USDC",tabs:[{...nt}]}],favoriteTabs:[{...nt}],selectedFavoriteTab:{...nt},tabSort:{}},a=(e,t)=>i()[e]||t,l=()=>a("favoriteTabs",[{...nt}]),[o,s]=(0,r.useState)(l),[u,d]=(0,r.useState)(()=>a("selectedFavoriteTab",{...nt})),[p,c]=(0,r.useState)(()=>{var e,t;return e=a("favorites",[]),t=l(),e.map(e=>({...e,tabs:e.tabs.filter(e=>!!t.find(t=>t.id===e.id))})).filter(e=>!!e.tabs.length)}),[y,m]=(0,r.useState)(()=>a("recent",[])),[_,f]=(0,r.useState)(()=>a("newListing",[])),[g,v]=(0,r.useState)(()=>a("tabSort",{}));return(0,r.useEffect)(()=>{e.set(ne,{...i(),favoriteTabs:o,favorites:p,recent:y,newListing:_,tabSort:g,selectedFavoriteTab:u})},[o,p,y,_,g,u]),(0,r.useEffect)(()=>{let e=e=>{let{id:t,key:r,data:i}=e;t!==n&&("favoriteTabs"===r?s(i):"lastSelectedFavoriteTab"===r?d(i):"favorites"===r?c(i):"recent"===r?m(i):"newListing"===r&&f(i))};return t.on("markets:changed",e),()=>{t.off("markets:changed",e)}},[n]),{favoriteTabs:o,favorites:p,recent:y,newListing:_,tabSort:g,selectedFavoriteTab:u,updateFavorites:c,updateFavoriteTabs:(e,r)=>{let i=function(e,t,n){if(Array.isArray(t))return t;let r=[...e],i=r.findIndex(e=>e.id===t.id);return(null==n?void 0:n.add)?r.push(t):(null==n?void 0:n.update)&&-1!==i?r[i]=t:(null==n?void 0:n.delete)&&-1!==i&&r.splice(i,1),r}(o,e,r);s(i),t.emit("markets:changed",na(n,"favoriteTabs",i))},updateSymbolFavoriteState:function(e,r){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=function(e){let{favorites:t,symbol:n,tab:r,remove:i=!1}=e,a=[...t],l=a.findIndex(e=>e.name==n.symbol),o=Array.isArray(r)?r:[r];if(-1===l)o.length&&!i&&a.unshift({name:n.symbol,tabs:o});else{let e=a[l];if(Array.isArray(r))r.length?a[l]={...e,tabs:r}:a.splice(l,1);else if(i){let t=e.tabs.filter(e=>e.id!=r.id);t.length?a[l]={...e,tabs:t}:a.splice(l,1)}else a[l]={...e,tabs:[...e.tabs,r]}}return a}({favorites:p,symbol:e,tab:r,remove:i});c(a),t.emit("markets:changed",na(n,"favorites",a))},pinToTop:e=>{let r=function(e,t){let n=e.findIndex(e=>e.name===t.symbol);if(-1!==n){let t=e[n],r=[...e];return r.splice(n,1),r.unshift(t),r}}(p,e);r&&(c(r),t.emit("markets:changed",na(n,"favorites",r)))},addToHistory:e=>{let r=function(e,t){let n=[...e],r=n.findIndex(e=>e.name==t.symbol);return -1!==r&&n.splice(r,1),n.unshift({name:t.symbol}),n}(y,e);m(r),t.emit("markets:changed",n),t.emit("markets:changed",na(n,"recent",r))},updateSelectedFavoriteTab:e=>{d(e),t.emit("markets:changed",na(n,"lastSelectedFavoriteTab",e))}
1,updateTabsSortState:(e,t,n)=>{let r=a("tabSort",{});r[e]={sortKey:t,sortOrder:n},v(r)}}},nr=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2,{data:t}=tX(),n=tz(),i=t1(),[a,l]=(0,r.useState)([]),o=nn(),{favorites:s,recent:u,newListing:d}=o;return(0,r.useEffect)(()=>{l((e=>{let{markets:t,favorites:n,recent:r,newListing:i,type:a}=e,l=[];if(2===a||6===a)l=t;else if(3===a)l=t.filter(e=>!e.isRwa);else if(4===a)l=t.filter(e=>e.isRwa);else if(7===a)l=t.filter(e=>e.isPreTge);else if(5===a)l=t.filter(e=>{let t;return t=e.created_time,Date.now()-t<2592e6}).sort((e,t)=>t.created_time-e.created_time);else{let e=(0===a?n:1===a?r:i).map(e=>e.name);l=null==t?void 0:t.filter(t=>e.includes(t.symbol))}let o=n.map(e=>e.name);return null==l?void 0:l.map(e=>({...e,isFavorite:0===a||o.includes(e.symbol)}))})({markets:ni(t,n,i),favorites:s,recent:u,newListing:d,type:e}))},[t,n,i,s,u,d,e]),[a,o]},ni=(e,t,n)=>{var r;return null==(r=e||[])?void 0:r.map(e=>{var r,i,a;let l=t[e.symbol],o=n.isNil?null:n[e.symbol]();return{...e,broker_id:e.broker_id,display_symbol_name:tK(e.symbol,l("display_symbol_name")),quote_dp:l("quote_dp"),created_time:l("created_time"),leverage:function(e){return e?1/e:void 0}(l("base_imr")),openInterest:(i=e.open_interest,a=e.index_price,new s.Ww(i||0).mul(a||0).toNumber()),"8h_funding":function(e,t){let n=0;return null==e?null:(t&&(n=new s.Ww(e||0).mul(t).div(8).toNumber()),n)}(e.est_funding_rate,l("funding_period")),change:function(e){let{change:t,close:n,open:r}=e;return void 0!==t?t:null!=n&&null!=r?0===r?0:new s.Ww(n).minus(r).div(r).toNumber():void 0}({change:e.change,close:e["24h_close"],open:e["24h_open"]}),isRwa:!!o,isPreTge:!!(null!=(r=e.is_pretge)?r:l("is_pretge")),market_session:null==o?void 0:o.market_session,rwaNextOpen:null==o?void 0:o.next_open,rwaNextClose:null==o?void 0:o.next_close,rwaStatus:null==o?void 0:o.status}})};function na(e,t,n){return{id:e,key:t,data:n}}var nl=class extends p.FA{get(e){if(e===ne){let e=localStorage.getItem(ne);if(!e){let e=localStorage.getItem(ne.replace("orderly_",""));return e?JSON.parse(e):""}return JSON.parse(e)}return super.get(e)}set(e,t){if(e===ne){let e=JSON.stringify(t);localStorage.setItem(ne,e);return}super.set(e,t)}constructor(e){super(e)}},no={asks:[],bids:[],ts:0},ns=(class e{static getInstance(){return this.instance||(this.instance=new e),this.instance}sortBufferedOrderBookUpdates(e){var t;null==(t=this.bufferedOrderBookUpdates[e])||t.sort((e,t)=>e.ts-t.ts)}applyUpdateToRawOrderBook(e,t){let n=this.rawOrderBook[e];if(!n||n.ts>t.prevTs)return;let r=new Map,i=new Map;n.asks.forEach(e=>{r.set(e[0],e[1])}),n.bids.forEach(e=>{i.set(e[0],e[1])}),t.asks.forEach(e=>0===e[1]?r.delete(e[0]):r.set(e[0],e[1])),t.bids.forEach(e=>0===e[1]?i.delete(e[0]):i.set(e[0],e[1])),n.asks=Array.from(r.entries()).sort((e,t)=>e[0]-t[0]),n.bids=Array.from(i.entries()).sort((e,t)=>t[0]-e[0]),n.ts=t.ts}applyBufferedUpdatesToRawOrderBooks(e){var t;null==(t=this.bufferedOrderBookUpdates[e])||t.forEach(t=>{this.applyUpdateToRawOrderBook(e,t)})}deleteBufferedOrderBookUpdates(e){delete this.bufferedOrderBookUpdates[e]}commitOrderBook(e){if(!this.rawOrderBook[e])return}pushUpdateToBuffer(e,t){void 0===this.bufferedOrderBookUpdates[e]&&(this.bufferedOrderBookUpdates[e]=[]);let n=this.bufferedOrderBookUpdates[e];n.length>0&&n[n.length-1].ts!==t.prevTs&&(this.bufferedOrderBookUpdates[e]=[]),this.bufferedOrderBookUpdates[e].push(t)}isValidFullOrderBook(e,t){var n,r;return(null!=(r=null==(n=this.bufferedOrderBookUpdates[e])?void 0:n.length)?r:0)===0||this.bufferedOrderBookUpdates[e][0].prevTs<=t}setFullOrderbook(e,t){let{ts:n}=t;this.rawOrderBook[e]=t,this.sortBufferedOrderBookUpdates(e),this.isValidFullOrderBook(e,n)&&this.applyBufferedUpdatesToRawOrderBooks(e)}updateOrderbook(e,t,n){let{asks:r,bids:i,prevTs:a,ts:l}=t,o=this.rawOrderBook[e];if(!o)return;let s=o.ts;if(0===s)return void this.pushUpdateToBuffer(e,{asks:r,bids:i,prevTs:a,ts:l});if(a!==s){this.pushUpdateToBuffer(e,{asks:r,bids:i,prevTs:a,ts:l}),n&&n();return}this.applyUpdateToRawOrderBook(e,t),this.deleteBufferedOrderBookUpdates(e)}getRawOrderbook(e){return this.rawOrderBook[e]}resetOrderBook(e){this.rawOrderBook[e]=no}constructor(){this.bufferedOrderBookUpdates={},this.rawOrderBook={}}}).getInstance(),nu=(0,M.vt)((e,t)=>({markPrices:{},actions:{updateMarkPrice:t=>{e({markPrices:t})},getMarkPriceBySymbol:e=>t().markPrices[e]}})),nd=e=>nu(t=>t.actions.getMarkPriceBySymbol(e)),np=e=>({data:nd(e)}),nc=e=>{e=e.replace("PERP","SPOT");let t=(0,r.useRef)(e);t.current=e;let n=eu();return(0,R.A)("".concat(e,"@indexprice"),(r,i)=>{let{next:a}=i,l=n.subscribe("".concat(e,"@indexprice"),{onMessage:e=>{if(e.symbol!==t.current){null==l||l();return}a(null,e.price)}});return()=>{null==l||l()}})},ny=()=>({data:nu(e=>e.markPrices)}),nm=e=>{if(!e)throw new o.JP("Symbol is required");let{data:t}=H("/v1/public/futures/".concat(e),{revalidateOnFocus:!1}),[n,i]=(0,r.useState)(),a=(0,r.useRef)(e);a.current=e;let l=eu();(0,r.useEffect)(()=>{let t=l.subscribe("".concat(e,"@ticker"),{onMessage:e=>{if(e.symbol!==a.current){null==t||t();return}i(e)}});return()=>{i(void 0),null==t||t()}},[e]);let{data:u}=ny(),{data:d}=nc(e),{data:p}=(e=>{let t=eu(),n=(0,r.useRef)(e);return n.current=e,(0,R.A)("".concat(e,"@openinterest"),(r,i)=>{let{next:a}=i,l=t.subscribe("".concat(e,"@openinterest"),{onMessage:e=>{if(e.symbol!==n.current){null==l||l();return}a(null,e.openInterest)}});return()=>{null==l||l()}})})(e),c=tG(e=>e.marketMap),y=(0,r.useMemo)(()=>null==u?void 0:u[e],[u,e]);return(0,r.useMemo)(()=>{var r;if(!t)return null;if(!n||n.symbol!==e)return t;let i={...t,mark_price:y,index_price:d,open_interest:p||(null==c||null==(r=c[e])?void 0:r.open_interest)};return void 0!==n.open&&(i["24h_open"]=n.open),void 0!==n.close&&(i["24h_close"]=n.close),void 0!==n.high&&(i["24h_high"]=n.high),void 0!==n.low&&(i["24h_low"]=n.low),void 0!==n.volume&&(i["24h_volumn"]=n.volume,i["24h_volume"]=n.volume),void 0!==n.close&&void 0!==n.open&&(i.change=new s.Ww(n.close).minus(n.open).div(n.open
1).toNumber(),i["24h_change"]=new s.Ww(n.close).minus(n.open).toNumber()),i},[t,e,n,p,c])},n_=e=>Array(e).fill([NaN,NaN,NaN,NaN]),nf=e=>"number"==typeof e&&!Number.isNaN(e),ng=(e,t,n)=>new s.Ww(e).div(t).toDecimalPlaces(0,n?s.Ww.ROUND_CEIL:s.Ww.ROUND_FLOOR).mul(t).toNumber(),nv=(e,t,n)=>{if(!Array.isArray(t)||0===t.length)return[];let r=[...t],i=[];if(void 0!==e){let i=new Map,l=t.length;for(let r=0;r<l;r++){let[l,o]=t[r];if(!nf(l)||!nf(o))continue;let u=ng(l,e,n),d=new s.Ww(l).mul(o).toNumber();if(i.has(u)){var a;let e=i.get(u),t=new s.Ww(e[1]).add(o).toNumber(),n=new s.Ww(null!=(a=e[2])?a:0).add(d).toNumber();i.set(u,[u,t,n])}else i.set(u,[u,o,d])}r=Array.from(i.values())}for(let e=0;e<r.length;e++){let[t,n,a]=r[e];if(!nf(t)||!nf(n))continue;let l=i.length,o=new s.Ww(n).add(l?i[l-1][2]:0).toNumber(),u=nf(a)?a:new s.Ww(n).mul(t).toNumber(),d=new s.Ww(u).add(l?i[l-1][3]:0).toNumber();i.push([t,n,o,d])}return i},nb={asks:[],bids:[]},nh=function(e){var t,n;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:nb,a=arguments.length>2?arguments[2]:void 0;if(!e)throw new o.JP("Symbol is required");let l=null!=(t=null==a?void 0:a.level)?t:10,u=null==(n=null==a?void 0:a.padding)||n,d=(0,r.useRef)(e);d.current=e;let{defaultOrderbookTickSizes:p={},defaultOrderbookSymbolDepths:c={}}=(0,r.useContext)(Y),[y,m]=(0,r.useState)(i),[_,f]=(0,r.useState)(!0),g=tz()[e],[v,b]=ew("orderly_orderbook_depth_key",{}),h=(0,r.useRef)(0),T=g("quote_tick"),w=(0,r.useMemo)(()=>{if(c[e])return c[e];if(void 0===T)return[];try{let e=new s.Ww(T);return[e.toNumber(),e.mul(10).toNumber(),e.mul(100).toNumber(),e.mul(1e3).toNumber()]}catch(e){}return[T]},[e,T]);(0,r.useEffect)(()=>{v[e]||(p[e]?b(t=>({...t,[e]:Number(p[e])})):b(t=>({...t,[e]:T})))},[v,T,e,p]);let S=(0,r.useCallback)(t=>{b(n=>({...n,[e]:t}))},[e]),O=eu(),I=nm(e),k=ei();(0,r.useEffect)(()=>{let t,n=!0;f(!0);let r=O.subscribe({event:"subscribe",topic:"".concat(e,"@orderbookupdate")},{formatter:e=>e,onMessage:e=>{let{data:t,ts:i}=e,{symbol:a,asks:l,bids:o,prevTs:s}=t;if(d.current!==a){null==r||r();return}ns.updateOrderbook(a,{asks:l,bids:o,ts:i,prevTs:s},()=>{n=!0});let u=ns.getRawOrderbook(a);m({bids:u.bids,asks:u.asks})}});return n&&(f(!0),t=O.onceSubscribe({event:"request",id:"".concat(e,"@orderbook"),params:{type:"orderbook",symbol:e}},{formatter:e=>e,onMessage:e=>{let{symbol:t,asks:n,bids:r,ts:i}=e.data;if(d.current!==t)return;ns.setFullOrderbook(t,{asks:n,bids:r,ts:i});let a=ns.getRawOrderbook(t);m({bids:a.bids,asks:a.asks}),f(!1)}}),n=!1),()=>{null==r||r(),null==t||t(),ns.resetOrderBook(e),m(nb)}},[e]);let{data:M}=np(e),P=(0,r.useCallback)(e=>{k.emit("orderbook:item:click",e)},[]),N=((e,t,n,r)=>{let i=nv(e,r.asks,!0),a=nv(e,r.bids,!1);if(0!==i.length&&0!==a.length&&i[0][0]<=a[0][0])if(1===i.length){let[t,n,r,a]=i[0];i.shift(),i.push([t+(void 0===e?0:Number(e)),n,r,a])}else{let[e]=a[0];for(;i.length>0;){let[t,n,r,a]=i[0];if(t<=e){i.shift();for(let e=0;e<i.length;e++)if(0===e){let t=new s.Ww(i[e][1]).add(n);i[e][1]=t.toNumber(),i[e][2]=t.toNumber(),i[e][3]=t.toDecimalPlaces(0,s.Ww.ROUND_CEIL).mul(i[e][0]).toNumber()}else i[e][3]=new s.Ww(i[e][0]).mul(i[e][1]).add(i[e-1][3]).toNumber()}else break}}return i=i.reverse(),n&&(i=i.length<t?n_(t-i.length).concat(i):i,a=a.length<t?a.concat(n_(t-a.length)):a),{asks:i,bids:a}})(v[e],l,u,{asks:y.asks,bids:y.bids});(0,r.useEffect)(()=>{k.emit("orderbook:update",N)},[N]);let R=(0,r.useMemo)(()=>{let e=0,t=0;if(y.asks.length>0){var n,r;e=null==(r=N.asks)||null==(n=r[N.asks.length-1])?void 0:n[0]}return(y.bids.length>0&&(t=y.bids[0][0]),nf(e)&&nf(t)&&I)?[e,t,I["24h_close"]].sort()[1]:0},[null==I?void 0:I["24h_close"],y]);return(0,r.useEffect)(()=>{h.current=R},[R]),[{asks:N.asks.slice(-l),bids:N.bids.slice(0,l),markPrice:M,middlePrice:[h.current,R]},{onDepthChange:S,depth:v[e],allDepths:w,isLoading:_,onItemClick:P}]},nT=()=>tB({...e4(e=>e.fundingRates)}),nw=()=>e4(e=>e.fundingRates),nS=(0,M.vt)(e=>({indexPrices:{},actions:{updateIndexPrice:t=>{e({indexPrices:t})}}})),nO=()=>{let e=nS(e=>e.indexPrices);return{data:e,getIndexPrice:e_(t=>{var n;return"USDC"===t?1:null!=(n=e["PERP_".concat(t,"_USDC")])?n:0})}},nI=()=>{let{data:e,mutate:t}=ep("/v1/client/info",{revalidateOnFocus:!1}),[n,{isMutating:i}]=en("/v1/client/leverage"),{data:a,isLoading:l}=H("/v1/public/leverage",{revalidateOnFocus:!1,errorRetryCount:3}),o=(0,r.useCallback)(async e=>{let r=await n(e);if(r.success)return t();throw Error(r.message)},[n,t]),s=(0,r.useMemo)(()=>(null==e?void 0:e.max_leverage)!==void 0?Number(e.max_leverage):1,[null==e?void 0:e.max_leverage]),u=(0,r.useMemo)(()=>(null==a?void 0:a.max_futures_leverage)!==void 0?Number(a.max_futures_leverage):1,[null==a?void 0:a.max_futures_leverage]);return{update:o,isLoading:l||i,leverageLevers:(0,r.useMemo)(()=>(e=>{let t=(e-1)/4,n=[];for(let e=0;e<5;e++)n.push(Math.floor(1+t*e));return n})(u),[u]),curLeverage:s,maxLeverage:u}},nk=(e,t)=>"".concat(e,"_").concat(null!=t?t:o.iU.CROSS),nM=()=>{let{data:e,error:t,isLoading:n,mutate:i}=ep("/v1/client/leverages",{revalidateOnFocus:!1,revalidateOnReconnect:!1,errorRetryCount:1}),a=(0,r.useMemo)(()=>
1{if(!e||!Array.isArray(e))return{};let t={};for(let n of e)t[nk(n.symbol,n.margin_mode)]=n.leverage;return t},[e]);return{leverages:a,getSymbolLeverage:(e,t)=>{if(e)return a[nk(e,t)]},isLoading:n,error:t,refresh:i}},nP=()=>{let{data:e,error:t,isLoading:n,mutate:i}=ep("/v1/client/margin_modes",{revalidateOnFocus:!1,revalidateOnMount:!0}),[a,{isMutating:l}]=en("/v1/client/margin_mode","POST"),o=(0,r.useMemo)(()=>{if(!e||!Array.isArray(e))return{};let t={};for(let n of e)t[n.symbol]=n.default_margin_mode;return t},[e]),s=e=>a(e),u=(0,r.useCallback)(async e=>{var t;let n=await s(e);if(n.success)return await i(),n;throw Error(null!=(t=n.message)?t:"Failed to update margin mode")},[s,i]);return{marginModes:o,isLoading:n,error:t,refresh:i,setMarginMode:s,updateMarginMode:u,isMutating:l}},nN=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.iU.CROSS,{marginModes:n,isLoading:i,error:a,refresh:l,updateMarginMode:s}=nP(),{brokerId:u}=tY(e);return{marginMode:(0,r.useMemo)(()=>{var r;return u?o.iU.ISOLATED:null===t?n[e]:null!=(r=n[e])?r:t},[u,t,n,e]),isLoading:i,error:a,refresh:l,update:(0,r.useCallback)(async t=>(u&&(t=o.iU.ISOLATED),s({symbol_list:[e],default_margin_mode:t})),[u,e,s]),isPermissionlessListing:!!u}},nR=e=>"object"==typeof e&&null!==e,nE=e=>null===e||"string"==typeof e,nx=e=>void 0===e||"string"==typeof e,nA=()=>{let e=Error("Invalid quote response");return e.code="INVALID_QUOTE_RESPONSE",e.timestamp=Date.now(),e},nL=e=>{if(!nR(e))return!1;let t=e.fromToken,n=e.toToken,r=e.gasEstimate;return"string"==typeof e.pathId&&"string"==typeof e.traceId&&"string"==typeof e.chainId&&nR(t)&&"string"==typeof t.tokenAddress&&"string"==typeof t.amount&&"string"==typeof t.value&&nR(n)&&"string"==typeof n.tokenAddress&&nx(n.estimatedAmount)&&nx(n.estimatedValue)&&"USD"===e.valueCurrency&&"string"==typeof e.netOutValue&&"string"==typeof e.slippageLimitPercent&&(null===e.priceImpactPercent||"string"==typeof e.priceImpactPercent)&&nR(r)&&"string"==typeof r.gasUnits&&"string"==typeof r.nativeTokenSymbol&&nE(r.gasPriceWei)&&nE(r.estimatedFeeAmount)&&nE(r.estimatedFeeValue)&&"number"==typeof e.expiresAt&&Number.isFinite(e.expiresAt)&&Number.isInteger(e.expiresAt)},nC=e=>e&&"object"==typeof e&&"success"in e?!1===e.success?void 0:e.data:e,nU=e=>{if(e&&"object"==typeof e&&"success"in e){if(!1===e.success){let t=Error(e.message||String(e.code||"Quote failed"));throw t.code=e.code,t.timestamp=e.timestamp,t}if(!e.data)throw nA()}let t=nC(e);if(t&&!nL(t))throw nA();return t},nq=()=>{let[e,{reset:t,isMutating:n}]=en("/v1/swap/quote"),i=(0,r.useRef)(0),[a,l]=(0,r.useState)(),[o,s]=(0,r.useState)(),u=e_(async t=>{let n=++i.current;s(void 0),l(void 0);try{let r=await e(t).then(nU),a=nC(r);return n===i.current&&t&&a&&nL(a)&&l({data:a,request:t}),r}catch(e){throw n===i.current&&s(e),e}}),d=e_(()=>{i.current++,l(void 0),t(),s(void 0)});return[u,{data:null==a?void 0:a.data,request:null==a?void 0:a.request,error:o,reset:d,isMutating:n}]},{LTV:nD,collateralRatio:nF}=k.ct,nW=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{input:t,token:n}=e,i=(null==n?void 0:n.toUpperCase())==="USDC",a=e4(e=>e.tokensInfo),{usdc:l,data:o=[]}=rA(),{getIndexPrice:u}=nO(),{unsettledPnL:d}=rw(),p=(0,r.useMemo)(()=>{var e,n;return i&&t?new s.Ww(null!=(e=null==l?void 0:l.holding)?e:0).add(t).toNumber():null!=(n=null==l?void 0:l.holding)?n:0},[null==l?void 0:l.holding,t,i]),c=(0,r.useCallback)(e=>{var r,i;return t&&e.token===n?new s.Ww(null!=(r=null==e?void 0:e.holding)?r:0).add(t).toNumber():null!=(i=null==e?void 0:e.holding)?i:0},[t,n]),y=(0,r.useMemo)(()=>nD({usdcBalance:p,upnl:d,assets:o.filter(e=>"USDC"!==e.token.toUpperCase()).map(e=>{var t,n,r;let i=u(e.token),l=null==a?void 0:a.find(t=>t.token===e.token),o=c(e),s=nF({baseWeight:null!=(t=null==l?void 0:l.base_weight)?t:0,discountFactor:null!=(n=null==l?void 0:l.discount_factor)?n:0,collateralCap:null!=(r=null==l?void 0:l.user_max_qty)?r:o,collateralQty:o,indexPrice:i});return{qty:o,indexPrice:i,weight:s.toNumber()}})}),[p,d,o,a,u,c]);return new s.Ww(p).add(new s.Ww(d)).gte(s.v_)?0:new s.Ww(y).mul(100).toDecimalPlaces(2,s.Ww.ROUND_DOWN).toNumber()},nB=e=>{if(!e)throw new o.JP("Symbol is required");let[t,n]=(0,r.useState)("00:00:00"),i=(0,r.useRef)(null),{data:a,isLoading:l}=H("/v1/public/funding_rate/".concat(e),{fallbackData:{est_funding_rate:0,next_funing_time:0}});(0,r.useEffect)(()=>
1{if(!a||l)return;let{next_funding_time:e}=a;if(e&&!(e<=0))return i.current=setInterval(()=>{let t=new Date(e).getTime()-(0,s.lg)();if(t<=0){n("00:00:00"),i.current&&clearInterval(i.current);return}let r=(0,s.Gd)(t);3===r.length&&n("".concat(r[0].toString().padStart(2,"0"),":").concat(r[1].toString().padStart(2,"0"),":").concat(r[2].toString().padStart(2,"0")))},1e3),()=>{i.current&&clearInterval(i.current)}},[a,l]);let u=(0,r.useMemo)(()=>{if(!a)return;let{next_funding_time:e,est_funding_rate:t=0}=a;return(0,s.lg)()>e?null:new s.Ww(100*Number(t)).toFixed(4,s.Ww.ROUND_DOWN)},[a]);return{...a,est_funding_rate:u,countDown:t}},nz=e=>{if(!e)throw new o.JP("symbol is required");return H("/v1/public/info/".concat(e),{errorRetryCount:3,revalidateOnFocus:!1})},nV=()=>{let{data:e,isLoading:t}=H("/v1/public/market_info/funding_history"),n=(0,r.useCallback)((e,t)=>(null==e?void 0:e.length)?e.reduce((e,n)=>(e[n.symbol]=((e,t)=>e&&t?e.positive/(3*({"1d":1,"3d":3,"7d":7,"14d":14,"30d":30,"90d":90})[t]):0)(n.funding[t],t),e),{}):{},[]);return(0,r.useMemo)(()=>({data:null!=e?e:o.xF,isLoading:t,getPositiveRates:n}),[e,t,n])},nZ=(0,M.vt)()((0,P.D)(e=>({apis:{positions:{loading:!1}},actions:{updateStatus:(t,n)=>{e(e=>{e.apis[t]=n})},updateApiLoading:(t,n)=>{e(e=>{e.apis[t].loading=n})},updateApiError:(t,n)=>{e(e=>{e.apis[t]={loading:!1,error:n}})}}}))),nK=class{cache(e){this._cache=e}},nj="markPriceCalculator",nY=class extends nK{calc(e,t,n){return t}update(e,t){nu.getState().actions.updateMarkPrice(e)}constructor(){super(...arguments),this.name=nj}},nJ=class e{get portfolio(){return this.output.portfolio||e4.getState().portfolio}static get instance(){return this._instance}static create(t,n){return this._instance||(this._instance=new e(t,n)),this._instance.update(t,n)}update(e,t){return this.setCtxData(),this.markPrices="markPrice"===e?t:this.output[nj],this}setCtxData(){this.accountInfo=e4.getState().accountInfo,this.symbolsInfo=e4.getState().symbolsInfo,this.fundingRates=e4.getState().fundingRates,this.tokensInfo=e4.getState().tokensInfo||[]}get(e){return e(this.output)}getCacheValue(e,t){return this.output[e]||t()}clearCache(){this.output={},this.accountInfo=void 0}deleteByName(e){delete this.output[e]}get isReady(){return!!this.accountInfo}saveOutput(e,t){this.output[e]=t}outputToValue(){return this.output}constructor(e,t){this.setCtxData(),this.output={}}},nQ=class{register(e,t){let n="".concat(e,"_").concat(t.name),r=this.referenceCount.get(n);if(void 0!==r&&r>0)return void this.referenceCount.set(n,r+1);let i=this.calculators.get(e);Array.isArray(i)?i.push(t):this.calculators.set(e,[t]),this.referenceCount.set(n,1)}unregister(e,t){let n="".concat(e,"_").concat(t.name),r=this.referenceCount.get(n);if(void 0!==r&&r>1)return void this.referenceCount.set(n,r-1);let i=this.calculators.get(e);if(Array.isArray(i)){let e=i.findIndex(e=>e.name===t.name);if(e>-1){var a,l;null==(a=(l=i[e]).destroy)||a.call(l),i.splice(e,1)}}this.referenceCount.delete(n)}async calc(e,t,n){"position"!==e&&(null==n||n.skipWhenOnPause);let r=nJ.create(e,t);(r.isReady||null==n||!n.skipPending)&&(null==n||!n.skipWhenOnPause||this.windowIsVisible)&&(this.calcQueue.push({scope:e,data:t,options:n}),await this.handleCalcQueue(r),this.ctx=r)}async handleCalcQueue(e){let t=new Map,n=e;for(;this.calcQueue.length>0;){let e=this.calcQueue.shift();if(!e)break;let{scope:r,data:i,options:a}=e,l=n||nJ.create(r,i),o=this.calculators.get(r);if(Array.isArray(o)&&o.length){try{await this.scheduler.calc(r,o,i,l)}catch(e){}(null==a?void 0:a.skipUpdate)||this.collectUpdates(t,r,o,l.outputToValue())}n=l}await this.commitBatchUpdates(t),this.ctx=n}collectUpdates(e,t,n,r){e.has(t)||e.set(t,new Map);let i=e.get(t);for(let e of n){let t=r[e.name];null!=t&&i.set(e.name,t)}}async commitBatchUpdates(e){if(0!==e.size){for(let[t,n]of e.entries()){let e=this.calculators.get(t);if(!Array.isArray(e))continue;let r={};for(let[e,t]of n.entries())r[e]=t;try{this.scheduler.update(t,e,r)}catch(e){}}e.clear()}}stop(){var e;this.calcQueue=[],null==(e=this.ctx)||e.clearCache()}get windowIsVisible(){return"undefined"==typeof document||"visible"===document.visibilityState}
1constructor(e,t){this.scheduler=e,this.pendingCalc=[],this.calcQueue=[],this.referenceCount=new Map,this.isPaused=!1,this.calculators=new Map(t)}},nG="CalculatorService",nH="undefined"!=typeof window&&window.requestIdleCallback?window.requestIdleCallback.bind(window):(e,t)=>{let n=Date.now();return setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-n))})},1)};"undefined"!=typeof window&&window.cancelIdleCallback&&window.cancelIdleCallback.bind(window);var nX=class{calc(e,t,n,r){return new Promise((i,a)=>{try{this.computation(t,t=>{let i=[];for(let a=0;a<t.length;a++){let l=t[a],o=l.calc(e,n,r);o&&(r.saveOutput(l.name,o),i.push(o))}return i},e=>{i(e)})}catch(e){a(e)}})}update(e,t,n){for(let r=0;r<t.length;r++){let i=t[r],a=n[i.name];a&&i.update(a,e)}return Promise.resolve()}computation(e,t,n){let r=0,i=[],a=this.MAX_CONTINUOUS_MS,l=this.MIN_IDLE_REMAINING,o=s=>{let u=performance.now();for(;r<e.length;){let n=performance.now()-u,d=s.timeRemaining();if(n>a||d<l)return void nH(o,{timeout:1e3});let p=t([e[r]]);p&&p.length>0&&i.push(...p),r++}n(i)};nH(o,{timeout:1e3})}constructor(){this.MAX_CONTINUOUS_MS=5,this.MIN_IDLE_REMAINING=2}},n$={rows:null,margin_ratio:0,initial_margin_ratio:0,maintenance_margin_ratio:0,open_margin_ratio:0,current_margin_ratio_with_orders:0,initial_margin_ratio_with_orders:0,maintenance_margin_ratio_with_orders:0,total_collateral_value:0,free_collateral:0,total_pnl_24_h:0,unrealPnL:0,total_unreal_pnl:0,unsettledPnL:0,total_unsettled_pnl:0,notional:0,unrealPnlROI:0},n0=(0,M.vt)()((0,P.D)(e=>({positions:{all:n$},actions:{setPositions:(t,n)=>{e(e=>{e.positions[t]=n})},closePosition:t=>{e(e=>{delete e.positions[t]})},clearAll:()=>{e(e=>{e.positions={all:n$}})}}}))),n2=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all";return n0(t=>{var n;return(null!=(n=t.positions[e])?n:n$).rows})},n1=class extends nK{calc(e,t,n){return"markPrice"===e?this.calcByMarkPrice(t,n):"indexPrice"===e?this.calcByIndexPrice(t,n):"position"===e?this.calcByPosition(this.preprocess(t),n):t}update(e,t){e&&Array.isArray(e.rows)&&(n0.getState().actions.setPositions(this.symbol,e),Array.isArray(e.rows)&&nZ.getState().apis.positions.loading&&nZ.getState().actions.updateApiLoading("positions",!1))}calcByMarkPrice(e,t){let n=this.getPosition(e,t);return(e4.getState().fundingRates,n&&Array.isArray(n.rows)&&n.rows.length)?(n={...n,rows:n.rows.map(t=>({...t,mark_price:e[t.symbol]||t.mark_price}))},this.format(n,t)):n}calcByIndexPrice(e,t){let n=this.getPosition(e,t);return n&&Array.isArray(n.rows)&&n.rows.length?(n={...n,rows:n.rows.map(t=>({...t,index_price:e[t.symbol]||t.index_price||t.mark_price}))},this.format(n,t)):n}calcByPosition(e,t){return 0===e.rows.length?e:this.format(e,t)}format(e,t){let{accountInfo:n,symbolsInfo:r,fundingRates:i,portfolio:a}=t;if(!n||!i||!r)return e;let l=s.v_,u=s.v_,d=s.v_,p=s.v_,c=s.v_,y=s.v_,m=e.rows.map(e=>{var t,a;let m=r[e.symbol],_=null!=(a=null==i||null==(t=i[e.symbol])?void 0:t.sum_unitary_funding)?a:0,f=k.Xq.notional(e.position_qty,e.mark_price),g=k.Xq.unrealizedPnL({qty:e.position_qty,openPrice:null==e?void 0:e.average_open_price,markPrice:e.mark_price}),v=0,h=0,T=e.leverage||1,w=k.ct.IMR({maxLeverage:T,baseIMR:null==m?void 0:m.base_imr,IMR_Factor:n.imr_factor[e.symbol],positionNotional:f,ordersNotional:0,IMR_factor_power:.8}),S=k.Xq.unrealizedPnLROI({positionQty:e.position_qty,openPrice:e.average_open_price,IMR:w,unrealizedPnL:g});e.index_price&&(v=k.Xq.unrealizedPnL({qty:e.position_qty,openPrice:null==e?void 0:e.average_open_price,markPrice:e.index_price}),h=k.Xq.unrealizedPnLROI({positionQty:e.position_qty,openPrice:e.average_open_price,IMR:w,unrealizedPnL:v}));let O=k.Xq.unsettlementPnL({positionQty:e.position_qty,markPrice:e.mark_price,costPosition:e.cost_position,sumUnitaryFunding:(0,b.A)(0,"sum_unitary_funding",i[e.symbol]),lastSumUnitaryFunding:e.last_sum_unitary_funding}),I=k.Xq.MMR({baseMMR:null==m?void 0:m.base_mmr,baseIMR:null==m?void 0:m.base_imr,IMRFactor:n.imr_factor[e.symbol],positionNotional:f,IMR_factor_power:.8});l=l.add(g),u=u.add(v),d=d.add(f),p=p.add(O),e.margin_mode===o.iU.CROSS&&(y=y.add(O)),e.margin_mode===o.iU.ISOLATED&&(c=c.add(O));let M=new s.Ww(_).sub(e.last_sum_unitary_funding).mul(e.position_qty).negated().toNumber();return{...e,fundingFee:M,mm:k.Xq.maintenanceMargin({positionQty:e.position_qty,markPrice:e.mark_price,MMR:I}),mmr:I,notional:f,unsettlement_pnl:O,unrealized_pnl:g,unrealized_pnl_index:v,unrealized_pnl_ROI:S,unrealized_pnl_ROI_index:h,unsettled_pnl:O}}),_=l.toNumber(),f=u.toNumber(),g=p.toNumber(),v=0,h=0;if(a){let{totalValue:e,totalCollateral:t}=a;m=m.map(e=>{var a,l,u,d,p,c,y,_,f,g,v;let b,h=r[e.symbol],T=e.margin_mode===o.iU.ISOLATED?new s.Ww(null!=(a=e.margin)?a:0).add(null!=(l=e.unsettlement_pnl)?l:0).toNumber():t.toNumber();return b=e.margin_mode===o.iU.ISOLATED?k.Xq.liquidationPriceIsolated({isolatedPositionMargin:null!=(d=e.margin)?d:0,costPosition:null!=(p=e.cost_position)?p:0,positionQty:null!=(c=e.position_qty)?c:0,sumUnitaryFunding:null!=(y=null==i||null==(u=i[e.symbol])?void 0:u.sum_unitary_funding)?y:0,lastSumUnitaryFunding:null!=(_=e.last_sum_unitary_funding)?_:0,baseMMR:null!=(f=null==h?void 0:h.base_mmr)?f:0,baseIMR:null!=(g=null==h?void 0:h.base_imr)?g:0,IMRFactor:n.imr_factor[e.symbol],referencePrice:e.mark_price,leverage:null!=(v=e.leverage)?v:0}
1):k.Xq.liqPrice({symbol:e.symbol,markPrice:e.mark_price,totalCollateral:T,positionQty:e.position_qty,positions:m,MMR:e.mmr,baseMMR:null==h?void 0:h.base_mmr,baseIMR:null==h?void 0:h.base_imr,IMRFactor:n.imr_factor[e.symbol],costPosition:e.cost_position}),{...e,est_liq_price:b}}),null===e||e.eq(s.v_)||(v=k.ct.totalUnrealizedROI({totalUnrealizedPnL:_,totalValue:e.toNumber()}),h=k.ct.totalUnrealizedROI({totalUnrealizedPnL:f,totalValue:e.toNumber()}))}return{...e,unrealPnL:_,total_unreal_pnl:_,total_unreal_pnl_index:f,notional:d.toNumber(),unsettledPnL:g,total_unsettled_pnl:g,unrealPnlROI:v,unrealPnlROI_index:h,total_unsettled_cross_pnl:y.toNumber(),total_unsettled_isolated_pnl:c.toNumber(),rows:m}}preprocess(e){let t=e.rows;return"all"!==this.symbol&&Array.isArray(t)&&(t=t.filter(e=>e.symbol===this.symbol)),{...e,rows:t}}getPosition(e,t){let n=t.get(e=>e[this.name])||n0.getState().positions[this.symbol];return"all"===this.symbol||n&&Array.isArray(n.rows)?n:this.preprocess(this.getAllPositions(t))}destroy(){var e;n0.getState().actions.closePosition(this.symbol),null==(e=nJ.instance)||e.deleteByName(this.name)}getAllPositions(e){return e.get(e=>e.all)||n0.getState().positions.all}constructor(e="all"){super(),this.name="".concat("positionCalculator","_").concat(e),this.symbol=e}};n1.logPosition=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all";return n0.getState().positions[e]};var n6=(e,t,n)=>{let r=[],i=0;return e.forEach(e=>{if("USDC"===e.token)i=e.holding;else{var a,l,o;let{base_weight:i=0,discount_factor:u=0,user_max_qty:d=0,is_collateral:p=!1}=n.find(t=>{let{token:n}=t;return n===e.token})||{},c=null!=(a=null==e?void 0:e.holding)?a:0,y=null!=(l=null==e?void 0:e.pending_short)?l:0,m=new s.Ww(c).add(y).toNumber(),_=null!=(o=t["PERP_".concat(e.token,"_USDC")])?o:0,f=k.ct.collateralRatio({baseWeight:i,discountFactor:u,collateralQty:Math.max(m,0),collateralCap:d,indexPrice:_});r.push({holding:c,pendingShort:y,indexPrice:_,collateralCap:d,collateralRatio:f,isCollateral:p})}}),[i,r]},n5="indexPriceCalculator",n3=class extends nK{calc(e,t,n){return t}update(e){e&&nS.getState().actions.updateIndexPrice(e)}static getValue(){return nS.getState().indexPrices}constructor(){super(...arguments),this.name=n5}},n4=class extends nK{calc(e,t,n){let r,i,a=this.getPortfolio(n);r="markPrice"===e?t:n.get(e=>e[nj]),i="indexPrice"===e?t:n.get(e=>e[n5]);let l=n.get(e=>e.positionCalculator_all),s=a.holding;"portfolio"===e&&t.holding&&Array.isArray(s)&&(s=Array.isArray(t.holding)?t.holding:s.map(e=>t.holding[e.token]?e3(e,t.holding[e.token]):e));let u=n.accountInfo,d=n.symbolsInfo,p=n.tokensInfo;return this.format({holding:s,positions:l,markPrices:r,accountInfo:u,symbolsInfo:d,indexPrices:i,tokensInfo:null!=p?p:o.xF})}getPortfolio(e){return e.get(e=>e[this.name])||e4.getState().portfolio}format(e){var t,n,r,i;let{holding:a,positions:l,markPrices:u,indexPrices:d,accountInfo:p,symbolsInfo:c,tokensInfo:y}=e;if(!a||!l||!Array.isArray(l.rows)||!u||!d||!p)return null;let m=(0,h.A)(0,["total_unsettled_pnl"])(l),_=(0,h.A)(0,["total_unsettled_cross_pnl"])(l),f=(0,h.A)(0,["total_unreal_pnl"])(l),[g,v]=n6(a,d,y),b=a.find(e=>"USDC"===e.token),T=k.ct.totalCollateral({USDCHolding:g,nonUSDCHolding:v,unsettlementPnL:_,usdcBalancePendingShortQty:null!=(t=null==b?void 0:b.pending_short)?t:0,usdcBalanceIsolatedOrderFrozen:null!=(n=null==b?void 0:b.isolated_order_frozen)?n:0}),w=l.rows.reduce((e,t)=>{var n;return t.margin_mode!==o.iU.ISOLATED?e:e.add(null!=(n=t.margin)?n:0)},s.v_),S=k.ct.totalValue({totalUnsettlementPnL:m,USDCHolding:g,nonUSDCHolding:v,totalIsolatedPositionMargin:w.toNumber()}),O=k.ct.totalUnrealizedROI({totalUnrealizedPnL:f,totalValue:S.toNumber()}),I=l.rows.reduce((e,t)=>(t.margin_mode!==o.iU.ISOLATED&&t.leverage&&!e[t.symbol]&&(e[t.symbol]=t.leverage),e),{}),M=k.ct.totalInitialMarginWithQty({positions:l.rows,markPrices:u,IMR_Factors:p.imr_factor,maxLeverageBySymbol:I,symbolInfo:tB({...c})}),P=k.ct.freeCollateral({totalCollateral:T,totalInitialMarginWithOrders:M}),N=k.ct.freeCollateralUSDCOnly({freeCollateral:P,nonUSDCHolding:v});return{totalCollateral:T,totalValue:S,totalUnrealizedROI:O,freeCollateral:P,availableBalance:k.ct.availableBalance({USDCHolding:null!=(r=null==b?void 0:b.holding)?r:0,unsettlementPnL:null!=(i=l.total_unsettled_pnl)?i:0}),unsettledPnL:m,holding:a,usdcHolding:g,freeCollateralUSDCOnly:N}}update(e,t){e&&e4.getState().actions.batchUpdateForPortfolio({totalCollateral:e.totalCollateral,totalValue:e.totalValue,freeCollateral:e.freeCollateral,freeCollateralUSDCOnly:e.freeCollateralUSDCOnly,availableBalance:e.availableBalance,totalUnrealizedROI:e.totalUnrealizedROI,unsettledPnL:e.unsettledPnL,holding:Array.isArray(e.holding)?e.holding:[],usdcHolding:"number"==typeof e.usdcHolding?e.usdcHolding:e.usdcHolding.toNumber()})}constructor(){super(...arguments),this.name="portfolio"}},n8=()=>{let{get:e}={get:p.Ex.get,register:p.Ex.register};return(0,d.A)(()=>{let t=e(nG);if(!t){let e=new n1,n=new n4,r=new nY,i=new n3;t=new nQ(new nX,[["markPrice",[r,e,n,e]],["position",[e,n]],["portfolio",[n]],["indexPrice",[i,e]]]),p.Ex.registerByName(nG,t)}return t})},n7=["position","markPrice","indexPrice"],n9=function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",n=arguments.length>1?arguments[1]:void 0,{calcMode:i}=n||{},{includedPendingOrder:a=!1}=n||{}
1,l=(0,r.useRef)(null),s=n8(),[u]=rc({symbol:"all"===t?void 0:t,status:o.Re.INCOMPLETE,includes:[o.yL.POSITIONAL_TP_SL,o.yL.TP_SL],size:500},{keeplive:!0}),{positions:d}=nZ(e=>e.apis);(0,r.useEffect)(()=>{if("all"!==t){for(let e of(l.current=new n1(t),n7))s.register(e,l.current);return()=>{for(let e of n7)s.unregister(e,l.current)}}},[t]);let p=n0(e=>{var n;let r=null!=(n=e.positions[t])?n:n$;return[r.rows,(0,T.A)(["rows"],r)]}),{totalCollateral:c,totalValue:y,totalUnrealizedROI:m}=e4(e=>e.portfolio),_=(0,r.useMemo)(()=>{let e=p[1];if(!e)return{};if("markPrice"===i)return e;let{total_unreal_pnl_index:t,unrealPnlROI_index:n,...r}=e;return{...r,unrealPnL:t,total_unreal_pnl:t,unrealPnlROI:n}},[i,p]),f=p[0];f||(f=[]),f=a?f.filter(e=>0!==e.position_qty||0!==e.pending_long_qty||0!==e.pending_short_qty):f.filter(e=>0!==e.position_qty),"lastPrice"===i&&(f=f.map(e=>{let{unrealized_pnl_index:t,unrealized_pnl_ROI_index:n,...r}=e;return{...r,unrealized_pnl:null!=t?t:0,unsettled_pnl_ROI:null!=n?n:0}})),Array.isArray(u)&&u.length&&(f=f.map(e=>{var t;let{fullPositionOrder:n,partialPositionOrders:r}=ek(u,e.symbol,e.margin_mode),i=n?eO(n):void 0,a=r&&r.length?r[0]:void 0,l=a?eO(a):void 0;return{...e,full_tp_sl:{tp_trigger_price:null==i?void 0:i.tp_trigger_price,sl_trigger_price:null==i?void 0:i.sl_trigger_price,algo_order:n},partial_tp_sl:{order_num:null!=(t=null==r?void 0:r.length)?t:0,tp_trigger_price:null==l?void 0:l.tp_trigger_price,sl_trigger_price:null==l?void 0:l.sl_trigger_price,algo_order:a}}}));let g=tB(_,1);return[{rows:f,aggregated:null!=(e=null==p?void 0:p[1])?e:o.Ml,totalCollateral:c,totalValue:y,totalUnrealizedROI:m},g,{loading:d.loading,isLoading:d.loading}]};(0,h.A)(0,[0,"aggregated","unsettledPnL"]);var re=(0,r.createContext)({}),rt=(e,t)=>{if((e=>e===o.ZN.LIMIT||e===o.ZN.MARKET||e===o.ZN.CLOSE_POSITION)(e))return e===o.ZN.LIMIT?o.ZN.LIMIT:t?o.ZN.CLOSE_POSITION:o.ZN.MARKET},rn=(e,t)=>e===o.ZN.LIMIT!=(t===o.ZN.LIMIT),rr=e=>{if(!Number.isFinite(Number(e))||0>=Number(e))throw Error("A TP/SL limit price must be positive and finite")};function ri(e,t,n){var r;let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],a=null!=(r=t.child_orders)?r:[],l=!(0,s.YJ)(t)&&null!=n&&Number(n)!==Number(t.quantity);if(e.find(e=>!1!==e.is_activated&&!a.some(t=>t.algo_type===e.algo_type)))throw Error("Cannot add a missing TP/SL child while editing");return a.flatMap(r=>{let a=e.find(e=>e.algo_type===r.algo_type);if(!a)return i.includes(r.algo_type)&&!1!==r.is_activated?[{order_id:Number(r.algo_order_id),is_activated:!1}]:l&&!1!==r.is_activated?[{order_id:Number(r.algo_order_id),quantity:Number(n)}]:[];if(!1===a.is_activated)return!1!==r.is_activated?[{order_id:Number(r.algo_order_id),is_activated:!1}]:[];{let e=Number(a.trigger_price);if(!Number.isFinite(e)||e<=0)throw Error("A TP/SL trigger price must be positive and finite")}let u=Number(r.algo_order_id);if(!Number.isFinite(u))throw Error("An existing TP/SL child requires an order id");let d=rt(a.type,(0,s.YJ)(t));if(!d)throw Error("A TP/SL order type must be LIMIT or MARKET");let p=rn(r.type,d);if(p&&(!1!==r.is_activated||(0,s.zM)(r)))throw Error("Changing an existing TP/SL order type is not supported");let c={order_id:u};p&&(c.order_type=d);let y=Number(a.trigger_price);return(!1===r.is_activated||Number(r.trigger_price)!==y)&&(c.trigger_price=y),d===o.ZN.LIMIT&&(p||Number(r.price)!==Number(a.price))&&(rr(a.price),c.price=Number(a.price)),l&&(c.quantity=Number(n)),Object.keys(c).length>1?[c]:[]})}function ra(e,t){return e.flatMap(e=>{var n;if(null==e.order_id)throw Error("A TP/SL child order id is required for editing");if(!t)throw Error("A parent TP/SL order is required for child updates");let r=null==(n=t.child_orders)?void 0:n.find(t=>Number(t.algo_order_id)===Number(e.order_id));if(!r)throw Error("The TP/SL child order id is invalid");if(!1===e.is_activated)return!1===r.is_activated?[]:[{order_id:e.order_id,is_activated:!1}];let i={order_id:e.order_id};if(e.child_orders){let t=ra(e.child_orders,r);t.length&&(i.child_orders=t)}let a=null!=e.type,l=a?rt(e.type,(0,s.YJ)(t)||(0,s.YJ)(r)):void 0,u=a&&rn(r.type,l);if(a){if(!l)throw Error("A TP/SL order type must be LIMIT or MARKET");if(!["TAKE_PROFIT","STOP_LOSS"].includes(r.algo_type)||u&&(!1!==r.is_activated||(0,s.zM)(r)))throw Error("Changing an existing TP/SL order type is not supported");if(u){if(null==e.trigger_price)throw Error("Reactivating a TP/SL child with a new type requires a trigger price");i.order_type=l}}if(null!=e.trigger_price){let t=Number(e.trigger_price);if(!Number.isFinite(t)||t<=0)throw Error("A TP/SL trigger price must be positive and finite");(!1===r.is_activated||Number(r.trigger_price)!==t)&&(i.trigger_price=t)}return(a?l:r.type)===o.ZN.LIMIT&&(null!=e.price||u)&&(rr(e.price),(u||Number(r.price)!==Number(e.price))&&(i.price=Number(e.price))),null==e.quantity||(0,s.YJ)(t)||(0,s.YJ)(r)||Number(e.quantity)===Number(r.quantity)||(i.quantity=Number(e.quantity)),Object.keys(i).length>
11?[i]:[]})}function rl(e,t){let n=Number(e.order_price);if(e.order_type===o.ZN.MARKET||e.order_type===o.ZN.STOP_MARKET)if(e.side===o.Mf.BUY)return t[0];else return t[1];if(e.side===o.Mf.BUY)if(n>=t[0])return t[0];else return n;return n<=t[1]?t[1]:n}function ro(e){let{basePrice:t,side:n,symbolInfo:r}=e,{price_range:i,price_scope:a,quote_min:l,quote_max:s}=r,u=k.fq.maxPrice(t,i),d=k.fq.minPrice(t,i),p=k.fq.scopePrice(t,a,n),c=n===o.Mf.BUY?{min:p,max:u}:{min:d,max:p};return{minPrice:Math.max(l,null==c?void 0:c.min),maxPrice:Math.min(s,null==c?void 0:c.max)}}k.fq.getOrderReferencePrice;var rs=class{static getLabel(e){switch(e){case"quantity":case"order_quantity":return"Quantity";case"order_price":return"Price";case"trigger_price":return"Trigger price";case"tp_trigger_price":return"TP price";case"sl_trigger_price":return"SL price";case"tp_order_price":return"TP order price";case"sl_order_price":return"SL order price";case"start_price":return"Start price";case"end_price":return"End price";case"total_orders":return"Total orders";case"skew":return"Skew";default:return e}}static required(e){return{type:"required",message:"".concat(this.getLabel(e)," is required")}}static priceErrorMin(e){return{type:"priceErrorMin",message:"Your ".concat(this.getLabel(e)," should be set lower than your order price.")}}static priceErrorMax(e){return{type:"priceErrorMax",message:"Your ".concat(this.getLabel(e)," should be set higher than your order price.")}}static min(e,t){return{type:"min",message:"".concat(this.getLabel(e)," must be greater than ").concat(t),value:t}}static max(e,t){return{type:"max",message:"".concat(this.getLabel(e)," must be less than ").concat(t),value:t}}static range(e,t,n){return{type:"range",message:"".concat(this.getLabel(e)," must be in the range of ").concat(t," to ").concat(n),min:t,max:n}}},ru=(e,t)=>new s.Ww(e).toDecimalPlaces(t).toNumber(),rd=class{validate(e,t){var n;let r=Object.create(null),i={...e};for(let n of["tp","sl"]){let a="".concat(n,"_trigger_price"),l="".concat(n,"_order_price"),u=e[a],d=e[l],p=null!=u&&""!==u,c=null!=d&&""!==d,y=(0,s.Sc)(e["".concat(n,"_order_type")],d);if(!p){c&&y===o.ZN.LIMIT&&(r[a]=rs.required(a)),i[l]=void 0;continue}let m=Number(u);if((!Number.isFinite(m)||m<=0)&&(r[a]=rs.min(a,t.symbol.quote_tick),i[a]=void 0),y!==o.ZN.LIMIT){i[l]=void 0;continue}null==d||""===d?(r[l]=rs.required(l),i[l]=void 0):!Number.isFinite(Number(d))||new s.Ww(d).todp(t.symbol.quote_dp).lte(0)?(r[l]=rs.min(l,t.symbol.quote_tick),i[l]=void 0):i[l]=new s.Ww(d).todp(t.symbol.quote_dp).toString()}let{tp_trigger_price:a,tp_order_price:l,sl_trigger_price:u,sl_order_price:d,side:p,quantity:c,order_type:y,order_price:m}=i,_=Number(c),f=t.maxQty,{quote_max:g,quote_min:v,quote_dp:b,base_min:h}=null!=(n=t.symbol)?n:{},T=y===o.ZN.MARKET||null==y?t.markPrice:m?Number(m):void 0,w=p===o.Mf.BUY?o.Mf.SELL:o.Mf.BUY,S=e.position_type===o.CR.FULL||e.algo_type===o.yL.POSITIONAL_TP_SL;return S||isNaN(_)||!(_>f)||(r.quantity=rs.max("quantity",t.maxQty)),S||isNaN(_)||!(_<(null!=h?h:0))||(r.quantity=rs.min("quantity",null!=h?h:0)),p===o.Mf.BUY&&T?this.validateBuySide({tp_trigger_price:a,tp_order_price:l,sl_trigger_price:u,sl_order_price:d},{mark_price:T,quote_min:null!=v?v:0,quote_max:null!=g?g:0,quote_dp:null!=b?b:0,tpslSide:w,symbol:t.symbol,skipTriggerPriceAgainstMark:t.skipTPSLTriggerPriceAgainstMark},r):p===o.Mf.SELL&&T&&this.validateSellSide({tp_trigger_price:a,tp_order_price:l,sl_trigger_price:u,sl_order_price:d},{mark_price:T,quote_min:null!=v?v:0,quote_max:null!=g?g:0,quote_dp:null!=b?b:0,tpslSide:w,symbol:t.symbol,skipTriggerPriceAgainstMark:t.skipTPSLTriggerPriceAgainstMark},r),Object.keys(r).length>0?r:null}validateBuySide(e,t,n){let{tp_trigger_price:r,tp_order_price:i,sl_trigger_price:a,sl_order_price:l}=e,{mark_price:o,quote_min:s,quote_max:u,quote_dp:d,tpslSide:p,symbol:c,skipTriggerPriceAgainstMark:y}=t;if(void 0!==a&&""!==a&&null!==a){let e=Number(a);!isNaN(e)&&(s>0&&e<s&&(n.sl_trigger_price=rs.min("sl_trigger_price",ru(s,d))),(null==y?void 0:y.sl)||!(e>=o)||(n.sl_trigger_price=rs.max("sl_trigger_price",ru(o,d))))}if(void 0!==r&&""!==r&&null!==r){let e=Number(r);!isNaN(e)&&((null==y?void 0:y.tp)||!(e<=o)||(n.tp_trigger_price=rs.min("tp_trigger_price",ru(o,d))),u>0&&e>u&&(n.tp_trigger_price=rs.max("tp_trigger_price",ru(u,d))))}if(a&&l){let e=ro({side:p,basePrice:Number(a),symbolInfo:c}),t=Number(l),r=Number(a);t<e.minPrice&&(n.sl_order_price=rs.min("sl_order_price",ru(e.minPrice,d))),t>e.maxPrice&&(n.sl_order_price=rs.max("sl_order_price",ru(e.maxPrice,d))),r<t&&(n.sl_trigger_price=rs.priceErrorMax("sl_trigger_price"))}if(r&&i){let e=ro({side:p,basePrice:Number(r),symbolInfo:c}),t=Number(i),a=Number(r);t>e.maxPrice&&(n.tp_order_price=rs.max("tp_order_price",ru(e.maxPrice,d))),t<e.minPrice&&(n.tp_order_price=rs.min("tp_order_price",ru(e.minPrice,d))),a>t&&(n.tp_trigger_price=rs.priceErrorMin("tp_trigger_price"))}}validateSellSide(e,t,n){let{tp_trigger_price:r,tp_order_price:i,sl_trigger_price:a,sl_order_price:l}=e,{mark_price:o,quote_min:s,quote_max:u,quote_dp:d,tpslSide:p,symbol:c,skipTriggerPriceAgainstMark:y}=t;if(void 0!==a&&""!==a&&null!==a){let e=Number(a);!isNaN(e)&&(u>0&&e>u&&(n.sl_trigger_price=rs.max("sl_trigger_price",ru(u,d))),(null==y?void 0:y.sl)||!(e<=o)||(n.sl_trigger_price=rs.min("sl_trigger_price",ru(o,d))))}if(void 0!==r&&""!==r&&null!==r){let e=Number(r);!isNaN(e)&&((null==y?void 0:y.tp)||!(e>=o)||(n.tp_trigger_price=rs.max("tp_trigger_price",ru(o,d))),s>0&&e<s&&(n.tp_trigger_price=rs.min("tp_trigger_price",ru(s,d))))}if(a&&l){let e=ro({side:p,basePrice:Number(a),symbolInfo:c}),t=Number(l),r=Number(a);t<e.minPrice&&(n.sl_order_price=rs.min("sl_order_price",ru(e.minPrice,d))),t>e.maxPrice&&(n.sl_order_price=rs.max("sl_order_price",ru(e.maxPrice,d))),r>t&&(n.sl_trigger_price=rs.priceErrorMin("sl_trigger_price"))}if(r&&i){let e=ro({side:p,basePrice:Number(r),symbolInfo:c}),t=Number(i),a=Number(r);t<e.minPrice&&(n.tp_order_price=rs.min("tp_order_price",ru(e.minPrice,d))),t>e.maxPrice&&(n.tp_order_price=rs.max("tp_order_price",ru(e.maxPrice,d))),a<t&&(n.tp_trigger_price=rs.priceErrorMax("tp_trigger_price"))}}};function rp(e,t,n,r){var i,a,l;let u=e.algo_type===o.Ox.TAKE_PROFIT?"tp":"sl",d=null!=(i=t.type)?i:e.type,p=e.type===o.ZN.LIMIT!=(d===o.ZN.LIMIT),c=null==t.trigger_price||Number(t.trigger_price)===Number(e.trigger_price),y=d===o.ZN.LIMIT&&!p&&((null==r?void 0:r.is_triggered)===!0||(0,s.zM)(e))&&c,m=new rd().validate({side:e.side===o.Mf.SELL?o.Mf.BUY:o.Mf.SELL,position_type:(0,s.YJ)(e)?o.CR.FULL:o.CR.PARTIAL,["".concat(u,"_trigger_price")]:null!=(a=t.trigger_price)?a:e.trigger_price,["".concat(u,"_order_price")]:p?t.price:null!=(l=t.price)?l:e.price,["".concat(u,"_order_type")]:d===o.ZN.LIMIT?o.ZN.LIMIT:o.ZN.MARKET},{...n,maxQty:0,skipTPSLTriggerPriceAgainstMark:y?{[u]:!0}:void 0}),_={};return(null==m?void 0:m["".concat(u,"_trigger_price")])&&(_.trigger_price=m["".concat(u,"_trigger_price")]),(null==m?void 0:m["".concat(u,"_order_price")])&&(_.order_price=m["".concat(u,"_order_price")]),_}var rc=(e,t)=>{var n,i,a;
1let{status:l,symbol:u,side:d,size:p=50,page:c,dateRange:y,sourceTypeAll:m}=e,[_,f]=(0,r.useState)(null!=(i=e.includes)?i:["ALL"]),[g,v]=(0,r.useState)(null!=(a=e.excludes)?a:[]),{data:b}=ny(),h=tz(),{registerKeyHandler:T,unregisterKeyHandler:w}=(0,r.useContext)(re),[S,{error:O,isMutating:I}]=en("/v1/order","DELETE"),[k]=en("/v1/orders","DELETE"),[M,{error:P,isMutating:N}]=en("/v1/order","PUT"),[R,{error:E,isMutating:x}]=en("/v1/algo/order","DELETE"),[A]=en("/v1/algo/orders","DELETE"),[L,{error:C,isMutating:U}]=en("/v1/algo/order","PUT"),q=(0,r.useMemo)(()=>eX("/v1/orders",{status:l,symbol:u,side:d,size:p,page:c,dateRange:y,sourceTypeAll:m}),[l,u,d,p,c,y]),D=(0,r.useMemo)(()=>m?null:eX("/v1/algo/orders",{status:l,symbol:u,side:d,size:100,page:c,dateRange:y}),[l,u,d,y,p]);(0,r.useEffect)(()=>{let e=e=>e?":".concat(e):"",n="orders".concat(e(l)).concat(e(u)).concat(e(d)).concat(e(p.toString()));return null==T||T(n,q),D&&(null==T||T(n.replace("orders","algoOrders"),D)),()=>{(null==t?void 0:t.stopOnUnmount)&&(w(n),D&&w(n.replace("orders","algoOrders")))}},[q,null==t?void 0:t.keeplive]);let F=ec(q,{initialSize:1,formatter:e=>e,revalidateOnFocus:!1}),W=ec(D,{formatter:e=>e,revalidateOnFocus:!1}),B=(0,r.useMemo)(()=>{var e,t,n,r;if(!F.data||!W.data&&!m)return null;let i=null==(t=F.data)||null==(e=t.map(e=>e.rows))?void 0:e.flat();return(W.data&&(i=[...i,...null==(r=W.data)||null==(n=r.map(e=>e.rows))?void 0:n.flat()]),i=null==i?void 0:i.map(e=>(0,s.$d)(e)),_.includes("ALL")&&0===g.length)?i:_.includes("ALL")&&g.length>0?null==i?void 0:i.filter(e=>!g.includes(e.algo_type)):_.length>0&&0===g.length?null==i?void 0:i.filter(e=>_.includes(e.algo_type)):_.length>0&&g.length>0?null==i?void 0:i.filter(e=>_.includes(e.algo_type)&&!g.includes(e.algo_type)):i},[F.data,W.data,_,g]),z=(0,r.useMemo)(()=>B?l!==o.Re.NEW&&l!==o.Re.INCOMPLETE?B:B.map(e=>{var t,n,r;let i={...e,mark_price:null!=(t=(null!=b?b:{})[e.symbol])?t:0};if(i.algo_type===o.yL.POSITIONAL_TP_SL||i.algo_type===o.yL.TP_SL){let e=null==(r=i.child_orders)||null==(n=r[0])?void 0:n.quantity;void 0!==e&&(i.quantity=e)}return i}):null,[B,b,l]),V=(0,r.useMemo)(()=>(null==z?void 0:z.length)||0,[null==z?void 0:z.length]),K=(e,t)=>{if(!e)throw new o.JP("Types is required");if(!Array.isArray(e))throw new o.JP("Types should be an array");return Promise.all(e.map(e=>A(null,{algo_type:e,...t&&{symbol:t}})))},j=(0,r.useCallback)(()=>Promise.all([k(null),A(null,{algo_type:o.yL.STOP}),A(null,{algo_type:o.yL.TRAILING_STOP})]),[F.data,W.data]),Y=(0,r.useCallback)(e=>Promise.all([k(null,{...e&&{symbol:e}}),A(null,{algo_type:o.yL.STOP,...e&&{symbol:e}}),A(null,{algo_type:o.yL.TRAILING_STOP,...e&&{symbol:e}})]),[u]),J=(0,r.useCallback)((e,t)=>A(null,{symbol:e,algo_type:t}),[W.data]),Q=(0,r.useCallback)(e=>K([o.yL.POSITIONAL_TP_SL,o.yL.TP_SL],e),[W.data]),G=(0,r.useCallback)((e,t,n)=>{let r=function(t){var n;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return null!=(n=null==t?void 0:t.find(e=>Number(e.algo_order_id)===Number(i)))?n:null==t?void 0:t.map(e=>{var t;return r(null!=(t=e.child_orders)?t:[],i)}).find(Boolean)},i=r(null!=B?B:[]);if("algoOrder"!==n)return M({...t,order_id:e});if(i&&["TAKE_PROFIT","STOP_LOSS"].includes(i.algo_type)){var a,l,u;let e=null==(a=t.order_type)?void 0:a.replace("STOP_",""),n=rt(e,(0,s.YJ)(i));if(e&&!n)return Promise.reject(new o.JP("A TP/SL order type must be LIMIT or MARKET"));let d=rp(i,{type:n,price:t.order_price,trigger_price:t.trigger_price},{symbol:h[i.symbol](),markPrice:null==b?void 0:b[i.symbol]},r(null!=B?B:[],i.parent_algo_order_id));if(Object.keys(d).length)return Promise.reject(new o.JP(null!=(u=null==(l=Object.values(d)[0])?void 0:l.message)?u:"Invalid TP/SL price"));let p={order_id:i.algo_order_id,...n&&{type:n},quantity:(0,s.YJ)(i)?void 0:t.order_quantity,price:t.order_price,trigger_price:t.trigger_price},c=ra(i.parent_algo_order_id!==i.root_algo_order_id?[{order_id:i.parent_algo_order_id,child_orders:[p]}]:[p],null==B?void 0:B.find(e=>e.algo_order_id===i.root_algo_order_id));return c.length?L({order_id:i.root_algo_order_id,child_orders:c}):Promise.resolve()}return L({order_id:e,price:t.order_price,quantity:i&&(0,s.YJ)(i)?void 0:t.order_quantity,trigger_price:t.trigger_price,activated_price:t.activated_price,callback_value:t.callback_value,callback_rate:t.callback_rate,...t.margin_mode&&{margin_mode:t.margin_mode}})},[B,L,M,b,h]),H=(0,r.useCallback)((e,t)=>G(e,t,"normalOrder"),[G]),X=(0,r.useCallback)((e,t)=>G(e,t,"algoOrder"),[G]),$=(0,r.useCallback)((e,t,n)=>
1"algoOrder"===t?R(null,{order_id:e,symbol:n,source:"SDK".concat(Z)}).then(e=>{if(e.success)return F.mutate(),W.mutate(),e;throw Error(e.message)}):S(null,{order_id:e,symbol:n,source:"SDK_".concat(Z)}).then(e=>{if(e.success)return e;throw Error(e.message)}),[]),ee=(0,r.useCallback)((e,t)=>$(e,"normalOrder",t),[]),et=(0,r.useCallback)((e,t)=>$(e,"algoOrder",t),[]),er=(0,r.useCallback)((e,t)=>L({order_id:t,child_orders:[{order_id:e,is_activated:!1}]}),[]),ei=(0,r.useCallback)(async(e,t)=>{if(!Array.isArray(t))throw new o.JP("Children orders is required");let n=null==B?void 0:B.find(t=>Number(t.algo_order_id)===Number(e)),r=(e,t)=>{for(let u of e){var n,i,a,l,s;let e=null==t||null==(n=t.child_orders)?void 0:n.find(e=>Number(e.algo_order_id)===Number(u.order_id));if(e&&!1!==u.is_activated){if(u.child_orders)r(u.child_orders,e);else if(["TAKE_PROFIT","STOP_LOSS"].includes(e.algo_type)&&(null!=u.type||null!=u.trigger_price||null!=u.price)){let n=rp(e,{type:u.type,price:u.price,trigger_price:u.trigger_price},{symbol:h[null!=(a=e.symbol)?a:t.symbol](),markPrice:null==b?void 0:b[null!=(l=e.symbol)?l:t.symbol]},t);if(Object.keys(n).length)throw new o.JP(null!=(s=null==(i=Object.values(n)[0])?void 0:i.message)?s:"Invalid TP/SL price")}}}};r(t,n);let i=ra(t,n);return i.length?L({order_id:e,child_orders:i}):Promise.resolve()},[B,L,b,h]),ea=(0,r.useMemo)(()=>{var e,t;return null==(t=F.data)||null==(e=t[0])?void 0:e.meta},[null==(n=F.data)?void 0:n[0]]),el=(0,r.useCallback)(()=>{F.mutate(),W.mutate()},[]);return[z,{total:V,isLoading:F.isLoading||W.isLoading,refresh:el,loadMore:()=>{},cancelAllOrders:j,cancelAllPendingOrders:Y,cancelAllTPSLOrders:
1Q,cancelAlgoOrdersByTypes:K,updateOrder:H,cancelOrder:ee,updateAlgoOrder:X,cancelAlgoOrder:et,cancelTPSLChildOrder:er,updateTPSLOrder:ei,cancelPostionOrdersByTypes:J,meta:ea,errors:{cancelOrder:O,updateOrder:P,cancelAlgoOrder:E,updateAlgoOrder:C},submitting:{cancelOrder:I,updateOrder:N,cancelAlgoOrder:x,updateAlglOrder:U}}]},ry=(e,t)=>{let n={method:t.arg.method,headers:{...t.arg.signature}};if(t.arg.data&&(n.body=JSON.stringify(t.arg.data)),"object"==typeof t.arg.params&&Object.keys(t.arg.params).length){let n=new URLSearchParams(t.arg.params);e="".concat(e,"?").concat(n.toString())}return(0,i.Tk)(e,n)},rm=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"POST",n=arguments.length>2?arguments[2]:void 0,{accountId:r,...i}=n||{},a=G("apiBaseUrl"),l=e;e.startsWith("http")||(l="".concat(a).concat(e));let o=ee(),{trigger:d,reset:p,data:c,error:y,isMutating:m}=(0,u.A)(l,ry,i);return[e_(async(n,i,a)=>{let{accountId:l,...u}=a||{},p=e;if("object"==typeof i&&Object.keys(i).length){let t=new URLSearchParams(i);p="".concat(e,"?").concat(t.toString())}let c={method:t,url:p,data:n},y=o.signer;return d({data:n,params:i,method:t,signature:{...await y.sign(c,(0,s.lg)()),"orderly-account-id":r||l||o.accountId}},u)}),{data:c,error:y,reset:p,isMutating:m}]},r_=e=>{let t=(e=>{let{accountId:t}=e,{configStore:n}=(0,r.useContext)(Y),{state:a,account:l}=ed(),u=(0,r.useRef)(new i.WS({networkId:n.get("networkId"),privateUrl:n.get("privateWsUrl"),onSigntureRequest:async()=>{let e=l.signer,t=(0,s.lg)();return{...await e.signText(t.toString()),timestamp:t}}}));return(0,r.useEffect)(()=>(t&&(a.status===o.RN.EnableTrading||a.status===o.RN.EnableTradingWithoutConnected)&&u.current.openPrivate(t),()=>{u.current.closePrivate(3887,"switch account")}),[t,a.status]),u.current})({accountId:e}),{data:n}=ny(),{data:l}=nO(),u=tz(),d=nw(),p=e4(e=>e.tokensInfo),[c,y]=(0,r.useState)([]),[m,_]=(0,r.useState)(n$),[f,g]=(0,r.useState)(),{data:v}=eh("/v1/client/info",{accountId:e,revalidateOnFocus:!1}),{data:T}=eh("/v1/positions",{accountId:e,formatter:e=>e}),{data:w}=eh("/v1/client/holding",{accountId:e,formatter:e=>e.holding});return(0,r.useEffect)(()=>{let e=function(e){var t,n,r,i;let{holding:a,positions:l,markPrices:u,indexPrices:d,accountInfo:p,symbolsInfo:c,tokensInfo:y}=e;if(!a||!l||!Array.isArray(l.rows)||!u||!d||!p||(null==c?void 0:c.isNil))return null;let m=(0,h.A)(0,["total_unsettled_pnl"])(l),_=(0,h.A)(0,["total_unsettled_cross_pnl"])(l),f=(0,h.A)(0,["total_unreal_pnl"])(l),[g,v]=n6(a,d,y),b=a.find(e=>"USDC"===e.token),T=k.ct.totalCollateral({USDCHolding:g,nonUSDCHolding:v,unsettlementPnL:_,usdcBalancePendingShortQty:null!=(t=null==b?void 0:b.pending_short)?t:0,usdcBalanceIsolatedOrderFrozen:null!=(n=null==b?void 0:b.isolated_order_frozen)?n:0}),w=l.rows.reduce((e,t)=>{var n;return t.margin_mode!==o.iU.ISOLATED?e:e.add(null!=(n=t.margin)?n:0)},s.v_),S=k.ct.totalValue({totalUnsettlementPnL:m,USDCHolding:g,nonUSDCHolding:v,totalIsolatedPositionMargin:w.toNumber()}),O=k.ct.totalUnrealizedROI({totalUnrealizedPnL:f,totalValue:S.toNumber()}),I=l.rows.reduce((e,t)=>(t.margin_mode!==o.iU.ISOLATED&&t.leverage&&!e[t.symbol]&&(e[t.symbol]=t.leverage),e),{}),M=k.ct.totalInitialMarginWithQty({positions:l.rows,markPrices:u,IMR_Factors:p.imr_factor,maxLeverageBySymbol:I,symbolInfo:tB({...c})}),P=k.ct.freeCollateral({totalCollateral:T,totalInitialMarginWithOrders:M}),N=k.ct.freeCollateralUSDCOnly({freeCollateral:P,nonUSDCHolding:v});return{totalCollateral:T,totalValue:S,totalUnrealizedROI:O,freeCollateral:P,availableBalance:k.ct.availableBalance({USDCHolding:null!=(r=null==b?void 0:b.holding)?r:0,unsettlementPnL:null!=(i=l.total_unsettled_pnl)?i:0}),unsettledPnL:m,holding:a,freeCollateralUSDCOnly:N}}({holding:c,positions:m,markPrices:n,indexPrices:l,accountInfo:v,symbolsInfo:u,tokensInfo:p});g(e)},[c,m,n,l,v,u,p]),(0,r.useEffect)(()=>{var e;if(!T)return;if((null==(e=T.rows)?void 0:e.length)===0)return void _(T);let t=function(e,t,n,r){if(!t||!r||!n)return e;let i=s.v_,a=s.v_,l=s.v_,u=s.v_,d=s.v_,p=s.v_,c=e.rows.map(e=>{let s=n[e.symbol],c=k.Xq.notional(e.position_qty,e.mark_price),y=k.Xq.unrealizedPnL({qty:e.position_qty,openPrice:null==e?void 0:e.average_open_price,markPrice:e.mark_price}),m=0,_=0,f=e.leverage||1,g=k.ct.IMR({maxLeverage:f,baseIMR:null==s?void 0:s("base_imr"),IMR_Factor:t.imr_factor[e.symbol],positionNotional:c,ordersNotional:0,IMR_factor_power:.8}),v=k.Xq.unrealizedPnLROI({positionQty:e.position_qty,openPrice:e.average_open_price,IMR:g,unrealizedPnL:y});e.index_price&&(m=k.Xq.unrealizedPnL({qty:e.position_qty,openPrice:null==e?void 0:e.average_open_price,markPrice:e.index_price}),_=k.Xq.unrealizedPnLROI({positionQty:e.position_qty,openPrice:e.average_open_price,IMR:g,unrealizedPnL:m}));let h=k.Xq.unsettlementPnL({positionQty:e.position_qty,markPrice:e.mark_price,costPosition:e.cost_position,sumUnitaryFunding:(0,b.A)(0,"sum_unitary_funding",null==r?void 0:r[e.symbol]),lastSumUnitaryFunding:e.last_sum_unitary_funding}),T=k.Xq.MMR({baseMMR:null==s?void 0:s("base_mmr"),baseIMR:null==s?void 0:s("base_imr"),IMRFactor:t.imr_factor[e.symbol],positionNotional:c,IMR_factor_power:.8});return i=i.add(y),a=a.add(m),l=l.add(c),u=u.add(h),e.margin_mode===o.iU.CROSS&&(p=p.add(h)),e.margin_mode===o.iU.ISOLATED&&(d=d.add(h)),{...e,mm:k.Xq.maintenanceMargin({positionQty:e.position_qty,markPrice:e.mark_price,MMR:T}
1),mmr:T,notional:c,unsettlement_pnl:h,unrealized_pnl:y,unrealized_pnl_index:m,unrealized_pnl_ROI:v,unrealized_pnl_ROI_index:_,unsettled_pnl:h}}),y=i.toNumber(),m=a.toNumber(),_=u.toNumber();return{...e,unrealPnL:y,total_unreal_pnl:y,total_unreal_pnl_index:m,notional:l.toNumber(),unsettledPnL:_,total_unsettled_pnl:_,total_unsettled_cross_pnl:p.toNumber(),total_unsettled_isolated_pnl:d.toNumber(),rows:c}}(function(e,t,n){return e&&Array.isArray(e.rows)&&e.rows.length?{...e,rows:e.rows.map(e=>({...e,mark_price:(null==t?void 0:t[e.symbol])||e.mark_price,index_price:(null==n?void 0:n[e.symbol])||e.index_price||e.mark_price}))}:e}(T,n,l),v,u,d);_({...t,rows:t.rows.filter(e=>0!==e.position_qty||0!==e.pending_long_qty||0!==e.pending_short_qty)})},[T,v,u,d,n,l]),(0,r.useEffect)(()=>{w&&y(w)},[w]),(0,r.useEffect)(()=>{if(!e)return;let n=t.privateSubscribe({id:"balance",event:"subscribe",topic:"balance",ts:Date.now()},{onMessage:e=>{var t;let n=null!=(t=null==e?void 0:e.balances)?t:{};y(e=>e.map(e=>n[e.token]?e3(e,n[e.token]):e))}});return()=>null==n?void 0:n()},[e]),(0,r.useEffect)(()=>{if(!e)return;let n=["/v1/positions",e],r=t.privateSubscribe("position",{onMessage:e=>{let{positions:t}=e;(0,a.Tk)(n,e=>{if(e){let n={...e,rows:e.rows.map(e=>{let n=t.findIndex(t=>t.symbol===e.symbol);if(n>=0){let r=t.splice(n,1)[0];return 0===r.averageOpenPrice&&0!==r.positionQty?e:eY(r)}return e})};return t.length>0&&(n.rows=[...n.rows,...t.map(e=>eY(e))]),n}},{revalidate:!1})}});return()=>null==r?void 0:r()},[e]),{portfolio:f,positions:m}},{maxWithdrawalUSDC:rf,maxWithdrawalOtherCollateral:rg,collateralRatio:rv}=k.ct;function rb(e){var t;let{token:n,unsettledPnL:i,freeCollateral:a,holdings:l}=e,o=e4(e=>{var t;return null==(t=e.tokensInfo)?void 0:t.find(e=>e.token===n)}),{data:s}=nO(),u=(0,r.useMemo)(()=>null==l?void 0:l.find(e=>"USDC"===e.token),[l]),d=(0,r.useMemo)(()=>null==l?void 0:l.find(e=>(null==e?void 0:e.token)===n),[l,n]),p=null!=(t=null==u?void 0:u.holding)?t:0,c=(0,r.useMemo)(()=>{var e;return"USDC"===n?1:null!=(e=s["PERP_".concat(n,"_USDC")])?e:0},[n,s]),y=(0,r.useMemo)(()=>{var e,t;let{base_weight:n=0,discount_factor:r=0}=o||{},i=null!=(e=null==d?void 0:d.holding)?e:0;return rv({baseWeight:n,discountFactor:r,collateralQty:i,collateralCap:null!=(t=null==o?void 0:o.user_max_qty)?t:i,indexPrice:c})},[l,o,c,n,d]);return(0,r.useMemo)(()=>{var e;return"USDC"===n?rf({USDCBalance:p,freeCollateral:a,upnl:null!=i?i:0}):rg({USDCBalance:p,collateralQty:null!=(e=null==d?void 0:d.holding)?e:0,freeCollateral:a,indexPrice:c,weight:y}).toNumber()},[p,a,i,y,c,n,d])}var rh=(e,t)=>{var n,i;let{status:a}=e,l=t.accountId,s=ei(),[u,d]=(0,r.useState)(null!=(n=e.includes)?n:["ALL"]),[p,c]=(0,r.useState)(null!=(i=e.excludes)?i:[]),{data:y}=ny(),[m,{isMutating:_}]=rm("/v1/order","DELETE",{accountId:l}),[f]=rm("/v1/orders","DELETE",{accountId:l}),[g,{isMutating:v}]=rm("/v1/order","PUT",{accountId:l}),[b,{isMutating:h}]=rm("/v1/algo/order","DELETE",{accountId:l}),[T]=rm("/v1/algo/orders","DELETE",{accountId:l}),[w,{isMutating:S}]=rm("/v1/algo/order","PUT",{accountId:l}),O=(0,r.useMemo)(()=>{let{status:t,symbol:n,side:r,size:i=50,page:a=1,dateRange:l}=e,o=new URLSearchParams([["size",i.toString()],["page","".concat(a)]]);return l&&(l.from&&o.set("start_t","".concat(l.from.getTime())),l.to&&o.set("end_t","".concat(l.to.getTime()))),a&&o.set("page","".concat(a)),t&&o.set("status",t),n&&o.set("symbol",n),r&&o.set("side",r),"/v1/algo/orders?".concat(o.toString())},[e]),{data:I,mutate:k,isLoading:M}=eh(l?O:null,{accountId:t.accountId,formatter:e=>e,revalidateOnFocus:!1}),P=(0,r.useMemo)(()=>{let e=(null==I?void 0:I.rows)||[];return u.includes("ALL")&&0===p.length?e:u.includes("ALL")&&p.length>0?null==e?void 0:e.filter(e=>!p.includes(e.algo_type)):u.length>0&&0===p.length?null==e?void 0:e.filter(e=>u.includes(e.algo_type)):u.length>0&&p.length>0?null==e?void 0:e.filter(e=>u.includes(e.algo_type)&&!p.includes(e.algo_type)):e},[I,u,p]),N=(0,r.useMemo)(()=>P?a!==o.Re.NEW&&a!==o.Re.INCOMPLETE?P:P.map(e=>{var t,n,r;let i={...e,mark_price:null!=(t=(null!=y?y:{})[e.symbol])?t:0};if(i.algo_type===o.yL.POSITIONAL_TP_SL||i.algo_type===o.yL.TP_SL){let e=null==(r=i.child_orders)||null==(n=r[0])?void 0:n.quantity;void 0!==e&&(i.quantity=e)}return i}):null,[P,y,a]),R=(e,t)=>{if(!e)throw new o.JP("Types is required");if(!Array.isArray(e))throw new o.JP("Types should be an array");return Promise.all(e.map(e=>T(null,{algo_type:e,...t&&{symbol:t}})))},E=(0,r.useCallback)(()=>Promise.all([T(null,{algo_type:o.yL.STOP}),T(null,{algo_type:o.yL.TRAILING_STOP})]),[I]),x=(0,r.useCallback)(e=>{f(null,{...e&&{symbol:e}})},[]),A=(0,r.useCallback)((e,t)=>T(null,{symbol:e,algo_type:t}),[I]),L=(0,r.useCallback)(e=>R([o.yL.POSITIONAL_TP_SL,o.yL.TP_SL],e),[I]),C=(0,r.useCallback)((e,t,n)=>"algoOrder"===n?w({order_id:e,price:t.order_price,quantity:t.order_quantity,trigger_price:t.trigger_price,activated_price:t.activated_price,callback_value:t.callback_value,callback_rate:t.callback_rate,...t.margin_mode&&{margin_mode:t.margin_mode}}):g({...t,order_id:e}),[]),U=(0,r.useCallback)((e,t)=>C(e,t,"normalOrder"),[]),D=(0,r.useCallback)((e,t)=>C(e,t,"algoOrder"),[]),F=(0,r.useCallback)((e,t,n)=>
1"algoOrder"===t?b(null,{order_id:e,symbol:n,source:"SDK".concat(Z)}).then(e=>{if(e.success)return k(),e;throw Error(e.message)}):m(null,{order_id:e,symbol:n,source:"SDK_".concat(Z)}).then(e=>{if(e.success)return e;throw Error(e.message)}),[]),W=(0,r.useCallback)((e,t)=>F(e,"normalOrder",t),[]),B=(0,r.useCallback)((e,t)=>F(e,"algoOrder",t),[]),z=(0,r.useCallback)((e,t)=>w({order_id:t,child_orders:[{order_id:e,is_activated:!1}]}),[]),V=(0,r.useCallback)((e,t)=>{if(!Array.isArray(t))throw new o.JP("Children orders is required");let n=ra(t,null==P?void 0:P.find(t=>Number(t.algo_order_id)===Number(e)));return n.length?w({order_id:e,child_orders:n}):Promise.resolve()},[P,w]),K=(0,q.YQ)(()=>{k()},200);return(0,r.useEffect)(()=>{let e=e=>{e.account_id===l&&K()};return s.on("tpsl:updateOrder",e),()=>{s.off("tpsl:updateOrder",e)}},[s,l]),[N,{isLoading:M,refresh:K,cancelAllOrders:E,cancelAllPendingOrders:x,cancelAllTPSLOrders:L,cancelAlgoOrdersByTypes:R,updateOrder:U,cancelOrder:W,updateAlgoOrder:D,cancelAlgoOrder:B,cancelTPSLChildOrder:z,updateTPSLOrder:V,cancelPostionOrdersByTypes:A,submitting:{cancelOrder:_,updateOrder:v,cancelAlgoOrder:h,updateAlglOrder:S}}]},rT=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new o.JP("Symbol is required");let[n,i]=(0,r.useState)([]),[a,l]=(0,r.useState)(!1),u=(0,r.useRef)(e);u.current=e;let{limit:d=50}=t,p=eu();return(0,r.useEffect)(()=>
1{l(!0),i(()=>[]),p.onceSubscribe({id:"".concat(e,"@trade"),event:"request",params:{type:"trade",symbol:e,limit:d}},{onMessage:e=>{l(!1),i(()=>e)}})},[e]),(0,r.useEffect)(()=>{let t=p.subscribe({id:"".concat(e,"@trade"),event:"subscribe",topic:"".concat(e,"@trade"),ts:(0,s.lg)()},{onMessage:e=>{if(e.symbol!==u.current){null==t||t();return}i(t=>{let n=[{...e,ts:(0,s.lg)()},...t];return n.length>d&&n.pop(),n})}});return()=>{null==t||t()}},[e]),{data:n,isLoading:a}},rw=function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{dp:6},{dp:n}=t,{totalCollateral:r,totalValue:i,freeCollateral:a,freeCollateralUSDCOnly:l,availableBalance:o,unsettledPnL:s,holding:u,usdcHolding:d}=e4(e=>e.portfolio),p=e4(e=>e.accountInfo);return{totalCollateral:r.toDecimalPlaces(n).toNumber(),freeCollateral:a.toDecimalPlaces(n).toNumber(),freeCollateralUSDCOnly:l.toDecimalPlaces(n).toNumber(),totalValue:null!=(e=null==i?void 0:i.toDecimalPlaces(n).toNumber())?e:null,availableBalance:o,unsettledPnL:s,accountInfo:p,holding:u,usdcHolding:d}},rS=(e,t)=>{if(null==e)return;let n=0,r=0;for(let a of e){var i;if(a.symbol!==t.symbol||a.margin_mode!==o.iU.ISOLATED)continue;let e=Number(a.quantity)-Number(null!=(i=a.total_executed_quantity)?i:0);Number.isFinite(e)&&!(e<=0)&&(a.side===o.Mf.SELL?r+=e:n+=e)}if(!(Math.max(0,t.pendingLongQty-n)+Math.max(0,t.pendingShortQty-r)>1e-8))return((e,t)=>{let{symbol:n,fallbackPrice:r}=t;if(!Array.isArray(e)||0===e.length)return[];let i=[];for(let t of e){var a,l,s;if(t.symbol!==n||t.margin_mode!==o.iU.ISOLATED||t.reduce_only)continue;let e=Number(t.quantity)-Number(null!=(a=t.total_executed_quantity)?a:0),u=null!=(l=t.price)?l:t.trigger_price,d=Number.isFinite(Number(u))&&Number(u)>0?Number(u):r;Number.isFinite(e)&&!(e<=0)&&Number.isFinite(d)&&!(d<=0)&&i.push({side:t.side===o.Mf.SELL?o.Mf.SELL:o.Mf.BUY,referencePrice:d,quantity:e,createdTime:null!=(s=t.created_time)?s:0})}return i})(e,t)},rO=(e,t)=>{let{getSymbolLeverage:n}=nM();return n(e,t)};function rI(e,t,n,i){var a,l;let s="object"==typeof n&&null!==n?null!=(a=n.reduceOnly)&&a:null!=n&&n,u="object"==typeof n&&null!==n?null!=(l=n.marginMode)?l:o.iU.CROSS:null!=i?i:o.iU.CROSS,d="object"==typeof n&&null!==n&&"number"==typeof n.currentOrderReferencePrice&&n.currentOrderReferencePrice>0?n.currentOrderReferencePrice:void 0,p=n2(),c=e8(),y=tz(),{totalCollateral:m,freeCollateral:_}=rw(),{data:f}=ny(),g=rO(e,u),[v]=rc({symbol:e,status:o.Re.INCOMPLETE,size:100});return Math.max((0,r.useMemo)(()=>{var n,r,i,a,l,b,h;let T;if(!e||!f||!f[e]||!c||!p)return 0;let w=(null===p?[]:p).filter(e=>e.margin_mode===u),S=k.ct.getQtyFromPositions(w,e);if(s)return 0===S?0:t===o.Mf.BUY?S<0?Math.abs(S):0:S>0?S:0;let O=y[e],I=[];for(let t of w)t.symbol===e?T=t:I.push(t);let M=f[e],P=null!=(n=O("base_imr"))?n:0,N=null!=(r=c.imr_factor[e])?r:0,R=g||(null==T?void 0:T.leverage)||1,E=null!=(i=null==T?void 0:T.pending_long_qty)?i:0,x=null!=(a=null==T?void 0:T.pending_short_qty)?a:0;if(u===o.iU.ISOLATED){let n=null!=(b=rS(v,{symbol:e,fallbackPrice:M,pendingLongQty:E,pendingShortQty:x}))?b:[...E>0?[{side:o.Mf.BUY,referencePrice:M,quantity:E}]:[],...x>0?[{side:o.Mf.SELL,referencePrice:M,quantity:x}]:[]],r=n.filter(e=>e.side===o.Mf.BUY).map(e=>{let{referencePrice:t,quantity:n}=e;return{referencePrice:t,quantity:n}}),i=n.filter(e=>e.side===o.Mf.SELL).map(e=>{let{referencePrice:t,quantity:n}=e;return{referencePrice:t,quantity:n}}),a=null!=(h=null==(l=c.max_notional)?void 0:l[e])?h:k.Xq.maxPositionNotional({leverage:R,IMRFactor:N}),s=null!=d?d:M;return k.ct.maxQtyForIsolatedMargin({symbol:e,orderSide:t,currentOrderReferencePrice:s,availableBalance:_,leverage:R,baseIMR:P,IMR_Factor:N,markPrice:M,positionQty:S,pendingLongOrders:r,pendingSellOrders:i,isoOrderFrozenLong:0,isoOrderFrozenShort:0,isolatedPendingOrders:n,symbolMaxNotional:a})}let A=k.ct.otherIMs({positions:I,symbolInfo:y,markPrices:f,IMR_Factors:c.imr_factor});return k.ct.maxQty(t,{markPrice:M,symbol:e,baseMaxQty:O("base_max"),totalCollateral:m,maxLeverage:R,takerFeeRate:c.futures_taker_fee_rate,baseIMR:P,otherIMs:A,positionQty:S,buyOrdersQty:E,sellOrdersQty:x,IMR_Factor:N})},[e,p,s,f,c,y,t,m,_,u,g,d,v]),0)}var rk=()=>{let{rows:e,notional:t}=n0(e=>e.positions.all),{state:n}=ed(),{data:i}=ny(),{totalCollateral:a}=rw(),l=(0,r.useMemo)(()=>e&&i&&a&&0!==e.length?k.ct.totalMarginRatio({totalCollateral:a,markPrices:i,positions:null!=e?e:o.xF}):0,[e,i,a]),u=(0,r.useMemo)(()=>n.status>=o.RN.EnableTrading||n.status===o.RN.EnableTradingWithoutConnected?k.ct.currentLeverage(l):null,[l,n.status]);return{marginRatio:l,currentLeverage:u,mmr:(0,r.useMemo)(()=>
1{if(!e||e.length<=0||null==t)return null;let n=s.v_;for(let t=0;t<e.length;t++){let r=e[t];null!==r.mm&&(n=n.add(r.mm))}return k.ct.MMR({positionsMMR:n.toNumber(),positionsNotional:t})},[e,t]),maintenanceMargin:(0,r.useMemo)(()=>{if(!e||e.length<=0||null==t)return null;let n=s.v_;for(let t=0;t<e.length;t++){let r=e[t];null!==r.mm&&(n=n.add(r.mm))}return n.toNumber()},[e,t])}},rM=[o.o1,o.EQ,o.wN].map(e=>({id:e}));function rP(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{pick:n}=t,{filteredChains:i,customChains:a,dataAdapter:l}=(0,r.useContext)(Y),s=(0,r.useRef)(null==t?void 0:t.filter);s.current=null==t?void 0:t.filter;let u=(0,r.useRef)(new Map),d=t.forceAPI||!a,{data:p,error:c}=th(),y=tO(e=>e.data),m=tv(e=>e.data),_="broker"===tv(e=>e.dataOrigin)?m:ts,f=tb(e=>e.data),g="broker"===tb(e=>e.dataOrigin)?f:tu,v=(0,r.useMemo)(()=>{var t;if(!p||!y||!_||!g)return u.current=new Map,e?[]:{mainnet:[],testnet:[]};let r=rR({tokenChains:p,chainInfos:_,filter:s.current,mainnet:!0,resolveChains:null==l?void 0:l.chainsList}),o=rR({tokenChains:y,chainInfos:g,mainnet:!1,resolveChains:null==l?void 0:l.chainsList}),c=d?r:null==a?void 0:a.mainnet,m=d?o:null==a?void 0:a.testnet,f=new Map;return(null==m||m.forEach(e=>{f.set(e.network_infos.chain_id,e)}),null==c||c.forEach(e=>{f.set(e.network_infos.chain_id,e)}),u.current=f,c=rN(c,null==i?void 0:i.mainnet),m=rN(m,null!=(t=null==i?void 0:i.testnet)?t:rM),n&&(m=m.map(e=>e[n]),c=c.map(e=>e[n])),"mainnet"===e)?c:"testnet"===e?m:{testnet:m,mainnet:c}},[e,p,_,g,y,a,n,i,l]),b=(0,r.useCallback)((e,t)=>{let n=u.current.get(e);if(n){var r,i;n.nativeToken=(null==(r=n.token_infos)?void 0:r.find(e=>(0,o.wS)(e.address)))||{symbol:null==(i=n.network_infos)?void 0:i.currency_symbol}}return"string"==typeof t?(0,w.A)(t,n):n},[v,u]),h=(0,r.useCallback)((e,t)=>{var n,r;return n=e,r=Array.isArray(v)?v:v[t],"string"==typeof n&&(n=parseInt(n)),r.some(e=>e.network_infos.chain_id===n)},[v]),T=(0,r.useCallback)(e=>{var t,n;if(void 0===e)return!1;let r="number"==typeof e?e:""===e.trim()?NaN:Number(e);return!!Number.isFinite(r)&&(null==(n=u.current.get(r))||null==(t=n.network_infos)?void 0:t.mainnet)===!1},[v]);return[v,{findByChainId:b,isTestnetChain:T,checkChainSupport:h,error:c}]}function rN(e,t){return t?t.map(t=>e.find(e=>{var n;return parseInt(null==(n=e.network_infos)?void 0:n.chain_id)===t.id})).filter(e=>!!e):e}function rR(e){let{chainInfos:t=[],tokenChains:n=[],filter:r,mainnet:i,resolveChains:a}=e,l=[];for(let e of t){let t=Number(e.chain_id),{name:a,public_rpc_url:s,currency_symbol:u,currency_decimal:d,explorer_base_url:p,vault_address:c}=e,y={network_infos:{name:a,chain_id:t,bridgeless:!0,mainnet:i,public_rpc_url:s,currency_symbol:u,currency_decimal:d,bridge_enable:!0,explorer_base_url:p,shortName:a,vault_address:c},token_infos:n.filter(e=>e.chain_details.some(e=>Number(e.chain_id)===t)).map(e=>{let n=e.chain_details.find(e=>Number(e.chain_id)===t);return{symbol:e.token,address:(null==n?void 0:n.contract_address)||o.j1,decimals:null==n?void 0:n.decimals,token_decimal:null==e?void 0:e.decimals,precision:e.decimals,display_name:null==n?void 0:n.display_name,withdrawal_fee:null==n?void 0:n.withdrawal_fee,cross_chain_withdrawal_fee:null==n?void 0:n.cross_chain_withdrawal_fee,minimum_withdraw_amount:e.minimum_withdraw_amount,base_weight:e.base_weight,discount_factor:e.discount_factor,haircut:e.haircut,user_max_qty:e.user_max_qty,is_collateral:e.is_collateral}})};("function"!=typeof r||r(y))&&l.push(y)}return"function"==typeof a?a(l):l}function rE(){let[e,t]=ew(o.RA,null);return{storageChain:e,setStorageChain:e=>{let n=o.Lx.evm;o.lT.has(e)&&(n=o.Lx.solana),t({chainId:e,namespace:n})}}}var rx=()=>H("/v1/public/chain_info",{revalidateOnFocus:!1}),rA=()=>{let e=eu(),{data:t,isLoading:n,mutate:i}=ep("/v1/client/holding",{formatter:e=>e.holding}),a=(0,r.useMemo)(()=>null==t?void 0:t.find(e=>"USDC"===e.token),[t]);return(0,R.A)("holding",(t,n)=>{let{next:r}=n,a=e.privateSubscribe({id:"balance",event:"subscribe",topic:"balance",ts:(0,s.lg)()},{onMessage:e=>{var t;let n=null!=(t=null==e?void 0:e.balances)?t:{};n&&(i(e=>null==e?void 0:e.map(e=>{let t=n[e.token];return t?e3(e,t):e})),r(n))}});return()=>a()}),{data:t,usdc:a,isLoading:n}},{maxWithdrawalUSDC:rL,maxWithdrawalOtherCollateral:rC,collateralRatio:rU}=k.ct,rq=e=>{var t;let{unsettledPnL:n}=rw(),{freeCollateral:i}=e4(e=>e.portfolio),a=iQ(e),{getIndexPrice:l}=nO(),o=(e=>{let t=(0,r.useRef)(e);return t.current=e,t})(l(e)),{usdc:u,data:d=[]}=rA(),p=(0,r.useMemo)(()=>d.find(t=>{var n;return(null==(n=t.token)?void 0:n.toUpperCase())===e.toUpperCase()}),[d,e]),c=null!=(t=null==u?void 0:u.holding)?t:0,y=(0,r.useMemo)(()=>{var e,t;let{base_weight:n=0,discount_factor:r=0}=a||{},i=null!=(e=null==p?void 0:p.holding)?e:0;return rU({baseWeight:n,discountFactor:r,collateralQty:i,collateralCap:null!=(t=null==a?void 0:a.user_max_qty)?t:i,indexPrice:o.current})},[a,null==p?void 0:p.holding,o]);return(0,r.useMemo)(()=>
1{if(!e)return 0;let t=0;if("USDC"===e)t=rL({USDCBalance:c,freeCollateral:i,upnl:null!=n?n:0});else{var r;t=rC({USDCBalance:c,collateralQty:null!=(r=null==p?void 0:p.holding)?r:0,freeCollateral:i,indexPrice:o.current,weight:y}).toNumber()}return Number.isNaN(t)?0:(null==a?void 0:a.decimals)===void 0?t:new s.Ww(t||0).todp(a.decimals,s.Ww.ROUND_DOWN).toNumber()},[e,null==a?void 0:a.decimals,c,i,n,null==p?void 0:p.holding,o,y])},rD=e=>{var t;let{srcChainId:n,token:i="",decimals:a}=e,{account:l,state:s}=ed(),{unsettledPnL:u,availableBalance:d,freeCollateral:p}=rw(),c=G("networkId"),[,{findByChainId:y,isTestnetChain:m}]=rP(void 0),{track:_}=eo(),f=rq(i),g=(0,r.useMemo)(()=>u<0?p:p-u,[p,u]),v=(0,r.useMemo)(()=>{let e;if("testnet"===c)e=y(m(n)?n:o.o1);else{var t;(null==(e=y(n))||null==(t=e.network_infos)?void 0:t.bridgeless)||(e=y(o.Bb))}return e},[c,y,m,n]);return{dst:(0,r.useMemo)(()=>{var e,t;let n=null==v?void 0:v.token_infos.find(e=>"USDC"===e.symbol);return{symbol:(null==n?void 0:n.display_name)||"USDC",decimals:(null==n?void 0:n.decimals)||6,address:null==n?void 0:n.address,chainId:null==v||null==(e=v.network_infos)?void 0:e.chain_id,network:null==v||null==(t=v.network_infos)?void 0:t.shortName}},[v]),withdraw:(0,r.useCallback)(e=>l.assetsManager.withdraw({...e,decimals:null!=a?a:6}).then(t=>{if(t.success){var n;_(o.wy.withdrawSuccess,{wallet:null==s||null==(n=s.connectWallet)?void 0:n.name,network:null==v?void 0:v.network_infos.name,quantity:e.amount})}return t}).catch(e=>{var t;throw _(o.wy.withdrawFailed,{wallet:null==s||null==(t=s.connectWallet)?void 0:t.name,network:null==v?void 0:v.network_infos.name,msg:JSON.stringify(e)}),e}),[l.assetsManager,a,null==s||null==(t=s.connectWallet)?void 0:t.name,null==v?void 0:v.network_infos.name]),maxAmount:f,unsettledPnL:u,availableBalance:d,availableWithdraw:g}},rF=[500,1e3,2e3,2e3,2e3];async function rW(e){let t,{readAllowance:n,expectedAmount:r,comparison:i="gte",onRead:a,onSatisfied:l}=e,u=!1;for(let e=0;e<=rF.length;e++){let o;try{o=await n()}catch(e){t=e,o=""}if(""!==o){u=!0,null==a||a(o);let e=new s.Ww(o),t=new s.Ww(r);if("eq"===i?e.eq(t):e.gte(t))return await (null==l?void 0:l(o)),o}e<rF.length&&await new Promise(t=>setTimeout(t,rF[e]))}if(!u&&t)throw t;throw new o.JP("Insufficient allowance")}var rB=e=>{let[t,n]=(0,r.useState)(""),{account:i,state:l}=ed(),{track:u}=eo(),d=function(e){let t=G("networkId"),[,{findByChainId:n,isTestnetChain:i}]=rP(void 0);return(0,r.useMemo)(()=>{let r;if("testnet"===t)r=n(i(e)?e:o.o1);else{var a;(null==(r=n(e))||null==(a=r.network_infos)?void 0:a.bridgeless)||(r=n(o.Bb))}return r},[t,n,i,e])}(e.srcChainId),p=(0,r.useMemo)(()=>{let t=e.dstToken||"USDC",n=null==d?void 0:d.token_infos.find(e=>e.symbol===t);return{symbol:t,address:null==n?void 0:n.address,decimals:null==n?void 0:n.decimals,chainId:null==d?void 0:d.network_infos.chain_id,network:null==d?void 0:d.network_infos.shortName}},[d,e.dstToken]),c=(0,r.useMemo)(()=>(0,o.wS)(e.address),[e.address]),y=(0,r.useMemo)(()=>(null==p?void 0:p.chainId)!==e.srcChainId?e.crossChainRouteAddress:e.srcToken!==e.dstToken?e.depositorAddress:null==d?void 0:d.network_infos.vault_address,[p,e.srcChainId,e.srcToken,e.dstToken,e.crossChainRouteAddress,e.depositorAddress,d]),{balance:m,balanceRevalidating:_,fetchBalance:f,fetchBalances:g,setBalance:v}=function(e){let{srcToken:t,address:n,decimals:i,account:l,status:s}=e,[u,d]=(0,r.useState)(null),p=(0,r.useCallback)(async(e,t)=>{try{if((0,o.wS)(e))return await l.assetsManager.getNativeBalance({decimals:t});return await l.assetsManager.getBalance(e,{decimals:t})}catch(e){var n;if(function(e){let{chainNamespace:t,err:n}=e;return t===o.Lx.solana&&(null==n?void 0:n.name)==="TokenAccountNotFoundError"}({chainNamespace:null==(n=l.walletAdapter)?void 0:n.chainNamespace,err:e}))return"0";throw e}},[t,l]),c=(0,r.useCallback)(async e=>l.assetsManager.getBalances(e),[l]),y=(0,r.useMemo)(()=>!n||s<o.RN.Connected?null:["balance",n,i],[s,n,i]),m=(0,r.useCallback)(async()=>n?await p(n,i):"0",[n,i,p]),_=(0,r.useMemo)(()=>{var e;return(null==(e=l.walletAdapter)?void 0:e.chainNamespace)===o.Lx.solana?1e4:3e3},[l]),{data:f,isLoading:g}=(0,a.Ay)(y,m,{revalidateOnFocus:!0,refreshInterval:_,errorRetryCount:10});return(0,r.useEffect)(()=>{void 0!==f?d(f||"0"):d(null)},[f,n]),{balance:u,balanceRevalidating:g||null===u,setBalance:d,fetchBalance:p,fetchBalances:c}}({address:e.address,decimals:e.decimals,srcToken:e.srcToken,account:i,status:l.status}),{allowance:b,allowanceRevalidating:h,updateAllowanceWhenTxSuccess:T,enquireAllowance:w}=function(e){let{address:t,decimals:n,vaultAddress:i,account:l,status:s,quantity:u,chainId:d}=e,[p,c]=(0,r.useState)("0"),y=(0,r.useCallback)(async e=>{var t,n;let{address:r,decimals:i,vaultAddress:a}=e;return r&&i&&a?(0,o.wS)(r)||(null==(t=l.walletAdapter)?void 0:t.chainNamespace)===o.Lx.solana?null==(n=l.walletAdapter)?void 0:n.formatUnits(o.Is,i):await l.assetsManager.getAllowance({address:r,vaultAddress:a,decimals:i}
1):"0"},[l]),m=(0,r.useMemo)(()=>t&&n&&i&&!(s<o.RN.Connected)?["allowance",t,i,n]:null,[s,t,i,n,l]),_=(0,r.useMemo)(()=>{var e;return(null==(e=l.walletAdapter)?void 0:e.chainNamespace)===o.Lx.solana?1e4:3e3},[l,d]),f=(0,r.useCallback)(async()=>y({address:t,decimals:n,vaultAddress:i}),[t,n,i,y]),{data:g,isLoading:v,mutate:b}=(0,a.Ay)(m,f,{revalidateOnFocus:!0,refreshInterval:_,errorRetryCount:10});(0,r.useEffect)(()=>{void 0!==g&&c(g||"0")},[g]);let h=(0,r.useCallback)(async function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"gte";return rW({readAllowance:()=>y({address:t,decimals:n,vaultAddress:i}),expectedAmount:e,comparison:r,onRead:c,onSatisfied:e=>b(e,{revalidate:!1}).then(()=>{})})},[t,n,y,b,i]),T=(0,r.useCallback)(async function(e,r){var a;let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"gte",u=await (null==(a=l.walletAdapter)?void 0:a.pollTransactionReceiptWithBackoff(e));if(!u||1!==Number(u.status))throw new o.JP("Transaction failed");if(void 0!==r)return h(r,s);let d=await y({address:t,decimals:n,vaultAddress:i});return c(d),await b(d,{revalidate:!1}),d},[l,t,n,y,b,i,h]);return{allowance:p,allowanceRevalidating:v,updateAllowanceWhenTxSuccess:T,enquireAllowance:(0,r.useCallback)(()=>h(u),[u,h])}}({address:e.address,decimals:e.decimals,vaultAddress:y,account:i,status:l.status,quantity:t,chainId:null==p?void 0:p.chainId}),{depositFee:S,depositFeeRevalidating:O}=function(e){let{quantity:t,account:n,targetChain:i,decimals:l,dstToken:u,vaultAddress:d,isNativeToken:p,dst:c}=e,y=(0,r.useCallback)(async e=>{if(!e||0===Number(e)||isNaN(Number(e)))return 0n;let t=await n.assetsManager.getDepositFee({amount:e,chain:null==i?void 0:i.network_infos,decimals:l,token:u,address:null==c?void 0:c.address}),r=0n;try{let i={amount:e,fee:t,decimals:l,token:u,address:null==c?void 0:c.address,vaultAddress:d};r=p?await n.assetsManager.estimateNativeDepositGasFee(i):await n.assetsManager.estimateDepositGasFee(i)}catch(e){r=0n}return t+r},[n,i,l,u,null==c?void 0:c.address,d,p,c]),m=(0,r.useMemo)(()=>{var e,n;return(null==c?void 0:c.address)&&l&&d&&u&&t&&(null==i||null==(e=i.network_infos)?void 0:e.chain_id)?["depositFee",null==c?void 0:c.address,d,u,l,null==i||null==(n=i.network_infos)?void 0:n.chain_id,t]:null},[t,i,l,u,c,d]),_=(0,r.useCallback)(async()=>await y(t),[y,t]),{data:f,isValidating:g,mutate:v}=(0,a.Ay)(m,_,{revalidateOnFocus:!0});return{depositFee:(0,r.useMemo)(()=>{let e=null!=f?f:0n;return BigInt(new s.Ww(e.toString()).mul(o.Tj).toFixed(0,s.Ww.ROUND_UP).toString())},[f]),depositFeeRevalidating:g,mutateDepositFee:v}}({quantity:t,account:i,targetChain:d,decimals:e.decimals,dstToken:e.dstToken,vaultAddress:y,isNativeToken:c,dst:p}),I=(0,r.useCallback)(async(e,t,n)=>{let r=await i.assetsManager.approve({address:e,amount:"0",vaultAddress:n,decimals:t});await T(r.hash,"0","eq")},[i,T]),k=(0,r.useCallback)(async t=>{var n,r,a;if(!e.address)throw Error("address is required");let l=!1;r=e.srcChainId,a=e.srcToken,r===o.qq&&"USDT"===a&&(l=!0,b&&new s.Ww(b).gt(0)&&await I(e.address,e.decimals,y));let u=await i.assetsManager.approve({address:e.address,amount:t,vaultAddress:y,isSetMaxValue:l,decimals:e.decimals}),d=t||(null==(n=i.walletAdapter)?void 0:n.formatUnits(o.Is,e.decimals));return T(u.hash,d)},[i,e.srcChainId,e.srcToken,b,e.address,e.decimals,y,T,I]),M=(0,r.useCallback)(async()=>{await w();let n={amount:t,fee:S,decimals:e.decimals,token:e.srcToken,address:e.address,vaultAddress:y};return(c?i.assetsManager.depositNativeToken(n):i.assetsManager.deposit(n)).then(n=>{var r;return T(n.hash).catch(e=>{}),v(e=>e?new s.Ww(e).sub(t).toString():"0"),u(o.wy.depositSuccess,{wallet:null==l||null==(r=l.connectWallet)?void 0:r.name,network:null==d?void 0:d.network_infos.name,quantity:t,currency:e.srcToken}),n}).catch(e=>{var t,n;throw u(o.wy.depositFailed,{wallet:null==l||null==(t=l.connectWallet)?void 0:t.name,network:null==d||null==(n=d.network_infos)?void 0:n.name,msg:JSON.stringify(e)}),e})},[l,i,t,S,d,e.decimals,e.srcToken,w,T,c,y]);return{balance:m,allowance:b,depositFee:S,balanceRevalidating:_,allowanceRevalidating:h,depositFeeRevalidating:O,isNativeToken:c,dst:p,targetChain:d,quantity:t,setQuantity:n,approve:k,deposit:M,fetchBalance:f,fetchBalances:g}},rz=e=>{let{token:t=""}=e,{account:n}=ed();return{maxAmount:rq(t),convert:async e=>n.assetsManager.convert({amount:e.amount,slippage:e.slippage,converted_asset:t,received_asset:e.receivedAsset})}},rV=e=>{let{fromAccountId:t,token:n=""}=e||{},{unsettledPnL:i,holding:a}=rw(),[l,{isMutating:o}]=rm("/v1/internal_transfer","POST",{accountId:t});return{submitting:o,transfer:(0,r.useCallback)(async(e,t)=>l({token:e,receiver_list:Array.isArray(t)?t:[t]}).then(e=>{if(e.success)return e;throw e}).catch(e=>{throw e}),[l]),maxAmount:rq(n),unsettledPnL:i,holding:a}},rZ=()=>{let[e,t]=(0,r.useState)(!1),{account:n}=ed();return{submitting:e,transfer:(0,r.useCallback)(async e=>(t(!0),n.assetsManager.internalTransfer(e).then(e=>{if(e.success)return e;throw e}).catch(e=>{throw e}).finally(()=>{t(!1)})),[n])}},rK=e=>{let t=eu(),{state:n}=ed();return(0,R.A)(n.accountId?["wallet",n.accountId]:null,(n,r)=>{let{next:i}=r,a=t.privateSubscribe({id:"wallet",event:"subscribe",topic:"wallet",ts:Date.now()},{onMessage:t=>{var n;null==e||null==(n=e.onMessage)||n.call(e,t),i(null,t)}});return()=>a()})},rj=e=>{let t=eu(),{state:n}=ed();(0,r.useEffect)(()=>
1{if(!n.accountId)return;let r=t.privateSubscribe({id:"wallet",event:"subscribe",topic:"wallet",ts:Date.now()},{onMessage:t=>{e.onMessage(t)}});return()=>null==r?void 0:r()},[n.accountId])},rY=e=>{let t=eu(),{state:n}=ed();(0,r.useEffect)(()=>{if(!n.accountId)return;let r=t.privateSubscribe({id:"balance",event:"subscribe",topic:"balance",ts:Date.now()},{onMessage:t=>{e.onMessage(t)}});return()=>null==r?void 0:r()},[n.accountId])},rJ=e=>{let t=eu(),{state:n}=ed();return(0,R.A)(n.accountId?["settle",n.accountId]:null,(n,r)=>{let{next:i}=r,a=t.privateSubscribe({id:"settle",event:"subscribe",topic:"settle",ts:(0,s.lg)()},{onMessage:t=>{var n;null==e||null==(n=e.onMessage)||n.call(e,t),i(t)}});return()=>a()})};function rQ(e){let{price:t,base_tick:n,qty:r,min_notional:i,base_dp:a,quote_dp:l,quote_tick:o}=e;if(t&&r&&i)try{if(new s.Ww(t).mul(new s.Ww(r)).lt(i)){let e=new s.Ww(i).div(t).toDecimalPlaces(a,s.Ww.ROUND_DOWN).add(null!=n?n:0);return n&&n>0&&(e=new s.Ww(function(e,t){let n=new s.Ww(e),r=new s.Ww(t);return n.dividedToIntegerBy(r).mul(r).toNumber()}(e.toNumber(),n))),e.mul(t).add(null!=o?o:0).toFixed(l)}}catch(e){}}var rG=class{create(e,t){this.beforeCreate(e,t);let n=this.buildOrder(e,t);return this.afterCreate(n,t)}validate(e,t){this.beforeValidate(e,t);let n=this.runValidations(e,t);return Promise.resolve(this.afterValidate(n,e,t))}beforeCreate(e,t){}afterCreate(e,t){return e}beforeValidate(e,t){}afterValidate(e,t,n){return e}baseOrder(e,t){let n={symbol:e.symbol,order_type:e.order_type===o.ZN.LIMIT&&e.order_type_ext?e.order_type_ext:e.order_type,side:e.side,reduce_only:e.reduce_only,order_quantity:e.order_quantity,total:e.total,margin_mode:e.margin_mode||o.iU.CROSS};e.order_type===o.ZN.MARKET&&e.slippage&&(n.slippage=new s.Ww(e.slippage).div(100).toNumber()),0===e.visible_quantity&&(n.visible_quantity=e.visible_quantity);let r=this.parseBracketOrder(e,t);return r?{...n,algo_type:o.yL.BRACKET,child_orders:[r]}:n}baseValidate(e,t){let n={},{maxQty:r,symbol:i,markPrice:a}=t,l=e.order_quantity,o=e.total,u=e.order_price,d=e.reduce_only,p=e.order_type,{min_notional:c,base_tick:y,quote_dp:m,quote_tick:_,base_dp:f}=i||{};if(!l&&o&&u){let{quote_dp:e}=t.symbol;l=new s.Ww(o).dividedBy(u).toFixed(e)}if(l){let{base_min:e,quote_dp:i,base_dp:a}=t.symbol,o=new s.Ww(l);o.lt(e)?n.order_quantity=rs.min("order_quantity",new s.Ww(e).todp(a).toString()):o.gt(r)&&(n.order_quantity=rs.max("order_quantity",new s.Ww(r).todp(a).toString()))}else n.order_quantity=rs.required("order_quantity");let g=rQ({base_tick:y,quote_tick:_,price:"".concat(p).includes("MARKET")?a:u,qty:l,min_notional:c,quote_dp:m,base_dp:f});return void 0===g||d||(n.total={type:"min",message:"The order value should be greater or equal to ".concat(g," USDC"),value:g}),this.validateBracketOrder(e,t,n),n}totalToQuantity(e,t){if(!e.order_quantity&&e.total&&e.order_price){let{base_dp:n}=t.symbol,r=new s.Ww(e.total).div(e.order_price).toDecimalPlaces(n);e.order_quantity=r.toNumber(),delete e.total}return e}get type(){return this.orderType}getChildOrderType(e,t,n){return(0,s.Sc)(n,t,e!==o.CR.PARTIAL)}parseBracketOrder(e,t){let n=[],r=e.side===o.Mf.BUY?o.Mf.SELL:o.Mf.BUY,i=e.position_type===o.CR.PARTIAL?o.yL.TP_SL:o.yL.POSITIONAL_TP_SL;if(e.tp_trigger_price){let i=e.tp_trigger_price,a={algo_type:o.Ox.TAKE_PROFIT,side:r,type:this.getChildOrderType(e.position_type,e.tp_order_price,e.tp_order_type),trigger_price:i,symbol:e.symbol,reduce_only:!0};a.type===o.ZN.LIMIT&&(this.assertValidBracketLimitPrice(e.tp_order_price,t),a.price=e.tp_order_price),n.push(a)}if(e.sl_trigger_price){let i=e.sl_trigger_price,a={algo_type:o.Ox.STOP_LOSS,side:r,type:this.getChildOrderType(e.position_type,e.sl_order_price,e.sl_order_type),trigger_price:i,symbol:e.symbol,reduce_only:!0};a.type===o.ZN.LIMIT&&(this.assertValidBracketLimitPrice(e.sl_order_price,t),a.price=e.sl_order_price),n.push(a)}return n.length?{symbol:e.symbol,algo_type:i,child_orders:n}:null}assertValidBracketLimitPrice(e,t){if(!t)throw Error("Order configuration is required for a Bracket TP/SL limit order");if(null==e||""===e||!Number.isFinite(Number(e))||new s.Ww(e).todp(t.symbol.quote_dp).lte(0))throw Error("An enabled Bracket TP/SL limit order requires a positive finite price")}validateBracketOrder(e,t,n){let{tp_trigger_price:r,sl_trigger_price:i,side:a,order_price:l}=e,{markPrice:u}=t;if(!r&&!i)return n;let d=!!i,{symbol:p}=t,{price_range:c,price_scope:y,quote_max:m,quote_min:_,quote_dp:f}=p,g=l||u;if(r){let e=new s.Ww(r);e.gt(m)&&(n.tp_trigger_price=rs.max("tp_trigger_price",m)),e.lt(_)&&(n.tp_trigger_price=rs.min("tp_trigger_price",_)),a===o.Mf.BUY&&e.lte(g)&&(n.tp_trigger_price=rs.min("tp_trigger_price",g)),a===o.Mf.SELL&&e.gte(g)&&(n.tp_trigger_price=rs.max("tp_trigger_price",g))}if(d){let e=new s.Ww(i);e.gt(m)&&(n.sl_trigger_price=rs.max("sl_trigger_price",m)),e.lt(_)&&(n.sl_trigger_price=rs.min("sl_trigger_price",_)),a===o.Mf.BUY&&e.gte(g)&&(n.sl_trigger_price=rs.max("sl_trigger_price",g)),a===o.Mf.SELL&&e.lte(g)&&(n.sl_trigger_price=rs.min("sl_trigger_price",g))}return n}},rH=class extends rG{buildOrder(e){let t={...this.baseOrder(e),level:e.level};return(0,S.A)(["symbol","order_quantity","visible_quantity","reduce_only","side","order_type","margin_mode","level"],t)}runValidations(e,t){return this.baseValidate(e,t)}constructor(){super(...arguments),this.orderType=o.ZN.LIMIT}};async function rX(e,t){return new rd().validate(e,t)}var r$=class{setNext(e){return this.next=e,e}validate(e,t,n){var r,i;let a=this.doValidate(e,t);return a&&(n[this.getFieldName()]=a),null!=(i=null==(r=this.next)?void 0:r.validate(e,t,n))?i:n}},r0=class{validate(e,t){let{order_price:n,side:r}=e;if(!n)return rs.required("order_price");let i=new s.Ww(n),{symbol:a}=t;if(!a)return;let{quote_max:l,quote_min:u,quote_dp:d,price_range:p,price_scope:c}=a,y=k.fq.maxPrice(t.markPrice,p),m=k.fq.minPrice(t.markPrice,p),_=k.fq.scopePrice(t.markPrice,c,r),f=r===o.Mf.BUY?{min:_,max:y}:{min:m,max:_};return i.gt(l)?rs.max("order_price",l):i.lt(u)?rs.min("order_price",u):i.gt(f.max)?rs.max("order_price",new s.Ww(f.max).todp(d).toString()):i.lt(f.min)?rs.min("order_price",new s.Ww(f.min).todp(d).toString()):void 0}},r2=class{validate(e,t){let{trigger_price:n}=e,{symbol:r}=t;if(!r)return;let{quote_max:i,quote_min:a}=r;if(!n)return rs.required("trigger_price");let l=Number(n);return l>i?rs.max("trigger_price",i):l<a||0===l?rs.min("trigger_price",a):void 0}},r1=class extends r${doValidate(e,t){return this.strategy.validate({order_price:e.order_price,side:e.side,order_type:e.order_type},t)}getFieldName(){return"order_price"}constructor(){super(),this.strategy=new r0}},r6=class{validate(e,t){let{order_quantity:n,total:r,order_price:i}=e,{maxQty:a,symbol:l}=t;if(!l)return;let{base_min:o,base_dp:u,quote_dp:d}=l;if(!n&&r&&i&&(n=new s.Ww(r).dividedBy(i).toFixed(d)),!n)return rs.required("order_quantity");let p=new s.Ww(n);return p.lt(o)?rs.min("order_quantity",new s.Ww(o).todp(u).toString()):p.gt(a)?rs.max("order_quantity",new s.Ww(a).todp(u).toString()):void 0}},r5=class extends r${doValidate(e,t){return this.strategy.validate({order_quantity:e.order_quantity,total:e.total,order_price:e.order_price},t)}getFieldName(){return"order_quantity"}constructor(){super(),this.strategy=new r6}},r3=class{addValidator(e){if(this.validators.push(e),this.head){let t=this.head;for(;t&&t.next;)t=t.next;t&&t.setNext(e)}else this.head=e;return this}
1addValidators(e){return e.forEach(e=>this.addValidator(e)),this}validate(e,t){let n={};return this.head?this.head.validate(e,t,n):n}clear(){this.validators=[],this.head=void 0}get length(){return this.validators.length}constructor(){this.validators=[]}},r4=class extends rG{buildOrder(e,t){let n={...this.baseOrder(e,t),order_price:e.order_price};return this.totalToQuantity(n,t),(0,S.A)(["symbol","order_price","order_quantity","visible_quantity","reduce_only","side","order_type","margin_mode","algo_type","child_orders"],n)}runValidations(e,t){let n=this.baseValidate(e,t);return Object.assign(n,this.validationChain.validate(e,t)),n}constructor(){super(...arguments),this.validationChain=new r3().addValidator(new r5).addValidator(new r1),this.orderType=o.ZN.LIMIT}},r8=class extends r4{create(e,t){let n=super.create(e,t);return{...n,quantity:n.order_quantity,type:n.order_type,price:n.order_price}}async validate(e,t){let n=await super.validate(e,t),r=await rX(e,t);return{...n,...r}}},r7=class{validate(e,t){let n=Number(e.slippage),r=Number.isNaN(t.estSlippage)?0:100*Number(t.estSlippage);if(!isNaN(n)&&r>n)return{type:"max",message:"Estimated slippage exceeds your maximum allowed slippage.",value:r}}},r9=class extends r${doValidate(e,t){return this.strategy.validate({slippage:e.slippage},t)}getFieldName(){return"slippage"}constructor(){super(),this.strategy=new r7}},ie=class extends rG{buildOrder(e,t){let n={...this.baseOrder(e,t)};return delete n.order_price,delete n.total,delete n.trigger_price,"isStopOrder"in n&&delete n.isStopOrder,n}runValidations(e,t){let n=this.baseValidate(e,t);return Object.assign(n,this.validationChain.validate(e,t)),n}constructor(){super(...arguments),this.slippageValidationStrategy=new r7,this.validationChain=new r3().addValidator(new r5).addValidator(new r9),this.orderType=o.ZN.MARKET}},it=class extends ie{create(e,t){let n=super.create(e,t);return{...n,quantity:n.order_quantity,type:n.order_type,price:n.order_price}}async validate(e,t){let n=await super.validate(e,t),r=await rX(e,t);return{...n,...r}}constructor(){super(...arguments),this.orderType=o.ZN.MARKET}},ir=class extends r4{},ii=class extends rG{buildOrder(e){return{...this.baseOrder(e),order_price:e.order_price,order_quantity:e.order_quantity}}runValidations(e,t){return super.baseValidate(e,t)}constructor(){super(...arguments),this.orderType=void 0}},ia=class extends r4{},il=class extends r4{};function io(e){let{skew:t,distribution_type:n,total_orders:r}=e;return n===o.JX.FLAT?new s.Ww(1):n===o.JX.ASCENDING?new s.Ww(r):n===o.JX.DESCENDING?new s.Ww(1).div(r):new s.Ww(t)}function is(e){let{total_orders:t,distribution_type:n,skew:r}=e,i=[];if(ip(t)||id(r,n))return{weights:[],sumWeights:s.v_,minWeight:s.v_};let a=Number(t),l=io({skew:r,distribution_type:n,total_orders:t}).minus(1).div(a-1);for(let e=0;e<a;e++)i[e]=new s.Ww(1).plus(l.mul(e));let o=i.reduce((e,t)=>e.plus(t),s.v_),u=i.reduce((e,t)=>t.lt(e)?t:e,null==i?void 0:i[0]);return{weights:i,sumWeights:o,minWeight:u}}function iu(e,t){if(ic(e))return[];try{let{base_dp:n,quote_dp:r,base_tick:i}=t,{symbol:a,side:l,order_quantity:u,start_price:d,end_price:p,total_orders:c,distribution_type:y,skew:m,reduce_only:_,visible_quantity:f,margin_mode:g}=e,v=function(e){let{start_price:t,end_price:n,total_orders:r,quote_dp:i}=e,a=new s.Ww(t),l=new s.Ww(n),o=Number(r),u=l.minus(a).div(o-1),d=[];for(let e=0;e<o;e++)d[e]=a.plus(u.mul(e)).todp(i).toString();return d}({start_price:d,end_price:p,total_orders:c,quote_dp:r}),b=function(e){let{order_quantity:t,total_orders:n,distribution_type:r,skew:i,base_dp:a,base_tick:l}=e,o=[],u=Number(n),{weights:d,sumWeights:p}=is({total_orders:n,distribution_type:r,skew:i});for(let e=0;e<u;e++){let n=new s.Ww(t).mul(d[e]).div(p);n=l>1?n.div(l).todp(0,s.Ww.ROUND_DOWN).mul(l):n.todp(a),o[e]=n.toString()}return o}({order_quantity:u,total_orders:c,distribution_type:y,skew:m,base_dp:n,base_tick:i}),h=Date.now();return v.map((e,t)=>{let n={symbol:a,side:l,order_type:o.ZN.LIMIT,order_quantity:b[t],order_price:e,reduce_only:_,margin_mode:g||o.iU.CROSS,client_order_id:"scaled_".concat(t,"_").concat(h)};return 0===f&&(n.visible_quantity=f),n})}catch(e){return[]}}function id(e,t){let n=Number(e);return!t||t===o.JX.CUSTOM&&(!e||n<=0||n>100)}function ip(e){let t=Number(e);return!e||t<2||t>20}function ic(e){let{start_price:t,end_price:n,order_quantity:r,total_orders:i,distribution_type:a,skew:l}=e;return!t||!n||!r||ip(i)||id(l,a)}var iy=class extends rG{buildOrder(e,t){let n=iu(e,t.symbol),{total_orders:r,distribution_type:i,skew:a}=e,l={...this.baseOrder(e),total_orders:r,distribution_type:i,skew:a,orders:n};return(0,S.A)(["symbol","order_quantity","visible_quantity","reduce_only","side","order_type","margin_mode","orders","total_orders","distribution_type","skew"],l)}runValidations(e,t){let{maxQty:n,askAndBid:r,markPrice:i,symbol:a}=t,{base_dp:l,quote_dp:u}=t.symbol,{order_quantity:d,total:p,total_orders:c,distribution_type:y,skew:m}=e,_=function(e,t){let n={},{start_price:r,end_price:i}=e,{quote_dp:a}=t.symbol;if(!t.markPrice)return n;let{minPrice:l,maxPrice:o}=ro({side:e.side,basePrice:t.markPrice,symbolInfo:t.symbol}),u=(e,t)=>
1{let r=new s.Ww(t||0);r.lt(l)?n[e]=rs.min(e,new s.Ww(l).todp(a).toString()):r.gt(o)&&(n[e]=rs.max(e,new s.Ww(o).todp(a).toString()))};return u("start_price",r),u("end_price",i),n}(e,t);if(c){let e=Number(c);(e<2||e>20)&&(_.total_orders=rs.range("total_orders",2,20))}else _.total_orders=rs.required("total_orders");if(y===o.JX.CUSTOM)if(m){let e=Number(m);e<=0?_.skew=rs.min("skew",0):e>100&&(_.skew=rs.max("skew",100))}else _.skew=rs.required("skew");if(d){let t=new s.Ww(d);if(t.gt(n))_.order_quantity=rs.max("order_quantity",new s.Ww(n).todp(l).toString()),_.total=rs.max("total",new s.Ww(n).mul(i).todp(u).toString());else if(!_.skew&&!_.total_orders){let n=function(e,t,n){try{let r=function(e,t){let{total_orders:n,distribution_type:r,skew:i}=e,{base_min:a,base_dp:l}=t,{sumWeights:o,minWeight:u}=is({total_orders:n,distribution_type:r,skew:i});return new s.Ww(a).mul(o.div(u)).todp(l,s.Ww.ROUND_UP).toNumber()}(e,t),i=function(e,t,n){let{base_dp:r,min_notional:i}=t,a=iu(e,t),{total_orders:l,distribution_type:o,skew:u}=e,{weights:d,sumWeights:p}=is({total_orders:l,distribution_type:o,skew:u}),c=a.map((e,t)=>{let r=rl(e,n);return new s.Ww(i).mul(p).div(new s.Ww(d[t]).mul(r))});return c.reduce((e,t)=>t.gt(e)?t:e,null==c?void 0:c[0]).todp(r,s.Ww.ROUND_UP).toNumber()}(e,t,n);return Math.max(r,i)}catch(e){return null}}(e,a,r);n&&t.lt(n)&&(_.order_quantity=rs.min("order_quantity",n),_.total=rs.min("total",new s.Ww(n).mul(i).todp(u).toString()))}}else _.order_quantity=rs.required("order_quantity");return p||(_.total=rs.required("total")),_}constructor(){super(...arguments),this.orderType=o.ZN.SCALED}},im=class extends r${doValidate(e,t){return this.strategy.validate({trigger_price:e.trigger_price},t)}getFieldName(){return"trigger_price"}constructor(){super(),this.strategy=new r2}},i_=class extends rG{buildOrder(e,t){this.totalToQuantity(e,t);let n={...this.baseOrder(e),trigger_price:e.trigger_price,algo_type:o.yL.STOP,type:o.ZN.LIMIT,quantity:e.order_quantity,price:e.order_price,trigger_price_type:o.qc.MARK_PRICE};return(0,S.A)(["symbol","trigger_price","algo_type","type","quantity","price","trigger_price_type","side","reduce_only","margin_mode","visible_quantity"],n)}runValidations(e,t){var n,r;let i=this.baseValidate(e,t),a=e.trigger_price;if(a&&0!==a){let e=this.triggerPriceValidationStrategy.validate({trigger_price:a},t);e&&(i.trigger_price=e)}else i.trigger_price=rs.required("trigger_price");let l=null!=(n=e.order_price)?n:e.price,s=null!=(r=e.side)?r:e.side;if(l){if(l&&a&&s){let e={...t,markPrice:Number(a)},n=this.priceValidationStrategy.validate({order_price:l,side:s,order_type:o.ZN.LIMIT},e);n&&(i.order_price=n)}else if(l&&a){let{quote_max:e,quote_min:n}=t.symbol,r=Number(l);e&&r>e?i.order_price=rs.max("order_price",e):n&&r<n&&(i.order_price=rs.min("order_price",n))}}else i.order_price=rs.required("order_price");return i}constructor(){super(...arguments),this.priceValidationStrategy=new r0,this.triggerPriceValidationStrategy=new r2,this.validationChain=new r3().addValidator(new r5).addValidator(new im).addValidator(new r1),this.orderType=o.ZN.STOP_LIMIT}},ig=class extends rG{buildOrder(e){let t={...this.baseOrder(e),trigger_price:e.trigger_price,algo_type:o.yL.STOP,type:o.ZN.MARKET,quantity:e.order_quantity,trigger_price_type:o.qc.MARK_PRICE};return(0,S.A)(["symbol","trigger_price","algo_type","type","quantity","trigger_price_type","side","reduce_only","margin_mode","visible_quantity"],t)}runValidations(e,t){let n=this.baseValidate(e,t);return Object.assign(n,this.validationChain.validate(e,t)),n}constructor(){super(...arguments),this.triggerPriceValidationStrategy=new r2,this.validationChain=new r3().addValidator(new r5).addValidator(new im)}},iv=class{validate(e,t){return Promise.resolve(this.tpslValidationStrategy.validate(e,t))}constructor(){this.tpslValidationStrategy=new rd}},ib=class extends iv{create(e,t){let n=e.side===o.Mf.BUY?o.Mf.SELL:o.Mf.BUY,r=["tp","sl"].flatMap(r=>{let i=e["".concat(r,"_trigger_price")];if(!i)return[];let a=(0,s.Sc)(e["".concat(r,"_order_type")],e["".concat(r,"_order_price")],!1),l={algo_type:"tp"===r?o.Ox.TAKE_PROFIT:o.Ox.STOP_LOSS,reduce_only:!0,side:n,type:a,trigger_price:new s.Ww(i).todp(t.symbol.quote_dp).toNumber(),symbol:e.symbol,is_activated:!0};if(a===o.ZN.LIMIT){let n=e["".concat(r,"_order_price")];if(null==n||""===n||!Number.isFinite(Number(n))||new s.Ww(n).todp(t.symbol.quote_dp).lte(0))throw Error("An enabled TP/SL limit order requires a positive finite price");l.price=new s.Ww(n).todp(t.symbol.quote_dp).toNumber()}return[l]});return{algo_type:o.yL.TP_SL,trigger_price_type:o.qc.MARK_PRICE,reduce_only:!0,quantity:e.quantity,symbol:e.symbol,child_orders:r,margin_mode:e.margin_mode||o.iU.CROSS}}crateUpdateOrder(e,t,n){let r=this.create(e,n),i=["tp","sl"].flatMap(t=>{let n=e["".concat(t,"_trigger_price")];return void 0===n||n?[]:["tp"===t?o.Ox.TAKE_PROFIT:o.Ox.STOP_LOSS]});return[{child_orders:ri(r.child_orders,t,e.quantity,i)},r]}constructor(){super(...arguments),this.type=o.ZN.MARKET}},ih=class extends iv{create(e,t){let n=e.side===o.Mf.BUY?o.Mf.SELL:o.Mf.BUY,r=["tp","
1sl"].flatMap(r=>{let i=e["".concat(r,"_trigger_price")];if(void 0===i)return[];let a=(0,s.Sc)(e["".concat(r,"_order_type")],e["".concat(r,"_order_price")],!0),l=!!i,u={algo_type:"tp"===r?o.Ox.TAKE_PROFIT:o.Ox.STOP_LOSS,reduce_only:!0,side:n,type:a,trigger_price:l?new s.Ww(i).todp(t.symbol.quote_dp).toNumber():i,trigger_price_type:o.qc.MARK_PRICE,symbol:e.symbol,is_activated:l};if(l&&a===o.ZN.LIMIT){let n=e["".concat(r,"_order_price")];if(null==n||""===n||!Number.isFinite(Number(n))||new s.Ww(n).todp(t.symbol.quote_dp).lte(0))throw Error("An enabled TP/SL limit order requires a positive finite price");u.price=new s.Ww(n).todp(t.symbol.quote_dp).toNumber()}return[u]});return{algo_type:e.position_type===o.CR.FULL?o.yL.POSITIONAL_TP_SL:o.yL.TP_SL,trigger_price_type:o.qc.MARK_PRICE,symbol:e.symbol,child_orders:r,margin_mode:e.margin_mode||o.iU.CROSS}}crateUpdateOrder(e,t,n){let r=this.create(e,n);return[{child_orders:ri(r.child_orders,t)},r]}constructor(){super(...arguments),this.type=o.yL.POSITIONAL_TP_SL}},iT=class extends rG{buildOrder(e,t){let{order_quantity:n,activated_price:r,callback_value:i,callback_rate:a}=e,l={...this.baseOrder(e),algo_type:o.yL.TRAILING_STOP,type:o.ZN.MARKET,trigger_price_type:"MARK_PRICE",quantity:n,activated_price:r,callback_value:i,callback_rate:a?new s.Ww(a).div(100).toString():void 0};return(0,S.A)(["symbol","algo_type","type","trigger_price_type","quantity","side","reduce_only","margin_mode","visible_quantity","activated_price","callback_value","callback_rate"],l)}runValidations(e,t){let{markPrice:n,symbol:r}=t,{quote_dp:i}=t.symbol,{side:a,activated_price:l,callback_value:o,callback_rate:u}=e,d=this.baseValidate(e,t);if(l){let{minPrice:e,maxPrice:t}=ro({side:a,basePrice:n,symbolInfo:r});if(!isNaN(e)&&!isNaN(t)){let n=new s.Ww(l);n.lt(e)||n.equals(0)?d.activated_price=rs.min("activated_price",new s.Ww(e).todp(i).toString()):n.gt(t)&&(d.activated_price=rs.max("activated_price",new s.Ww(t).todp(i).toString()))}}if(o||u||(d.callback_value=rs.required("callback_value"),d.callback_rate=rs.required("callback_rate")),o){let e=new s.Ww(o);e.equals(0)?d.callback_value=rs.min("callback_value","0"):e.gt(n)&&(d.callback_value=rs.range("callback_value","0",new s.Ww(n).todp(i).toString()))}if(u){let e=new s.Ww(u).div(100);(e.lt(.001)||e.gt(.05))&&(d.callback_rate=rs.range("callback_rate","0.1%","5%"))}return d}constructor(){super(...arguments),this.orderType=o.ZN.TRAILING_STOP}},iw=class{static create(e){switch(e){case"".concat(o.yL.BRACKET,":").concat(o.ZN.LIMIT):return new r8;case"".concat(o.yL.BRACKET,":").concat(o.ZN.MARKET):return new it;case o.ZN.LIMIT:return new r4;case o.ZN.MARKET:return new ie;case o.ZN.ASK:case o.ZN.BID:return new rH;case o.ZN.IOC:return new ia;case o.ZN.FOK:return new ir;case o.ZN.POST_ONLY:return new il;case o.ZN.STOP_LIMIT:return new i_;case o.ZN.STOP_MARKET:return new ig;case o.ZN.SCALED:return new iy;case o.ZN.TRAILING_STOP:return new iT;case o.yL.TP_SL:return new ib;case o.yL.POSITIONAL_TP_SL:return new ih;default:return new ii}}},iS=e=>{let t;return t=iI(e)?"".concat(o.yL.BRACKET,":").concat(e.order_type):e.order_type===o.ZN.LIMIT&&e.order_type_ext||e.order_type,iw.create(t)},iO=["tp_trigger_price","sl_trigger_price","tp_pnl","sl_pnl","tp_offset","sl_offset","tp_offset_percentage","sl_offset_percentage","tp_offset_from_mark","sl_offset_from_mark","tp_offset_percentage_from_mark","sl_offset_percentage_from_mark"],iI=e=>!!e.tp_trigger_price||!!e.sl_trigger_price,ik=e=>iO.some(t=>!!e[t]),iM=(e,t,n)=>{let r,i=Number(e.order_quantity),a=Number(e.order_price);if(isNaN(i)||i<=0||0===n.length||(e.order_type===o.ZN.LIMIT||e.order_type===o.ZN.STOP_LIMIT)&&isNaN(a))return null;if(e.order_type===o.ZN.SCALED){if(r=function(e,t,n){if(ic(e))return null;try{let r=iu(e,t),i=r.reduce((e,t)=>e.plus(new s.Ww(t.order_quantity)),s.v_);return r.reduce((e,t)=>{let r=rl(t,n);return e.plus(new s.Ww(r).mul(t.order_quantity))},s.v_).div(i).todp(t.quote_dp).toNumber()}catch(e){return null}}(e,t,n),!(i=iu(e,t).reduce((e,t)=>e.plus(new s.Ww(t.order_quantity)),s.v_).todp(t.base_dp).toNumber())||isNaN(i))return null}else r=rl(e,n);return!r||isNaN(r)?null:(e.side===o.Mf.SELL&&(i=-i),{price:r,quantity:i})};function iP(e){let{order_type:t,order_type_ext:n}=e;return t===o.ZN.LIMIT&&[o.ZN.ASK,o.ZN.BID].includes(n)}function iN(e,t){return Array.isArray(e)?e.map(e=>({...e,..."function"==typeof t?t(e):t})):{...e,..."function"==typeof t?t(e):t}}var iR={type:-1,message:"Trigger price cannot be changed after TP/SL is triggered"},iE=(e,t)=>{if(!e)throw new o.JP("Position is required");if(!e.symbol)throw new o.JP("Symbol is required");if(void 0===e.average_open_price)throw new o.JP("Average open price is required");if(void 0===e.position_qty)throw new o.JP("Position quantity is required");return((e,t)=>{var n,i,a,l,u,d,p;let c=void 0!==(null==t?void 0:t.isEditing)?t.isEditing:!!(null==t?void 0:t.defaultOrder),[y,m]=(0,r.useState)({algo_order_id:null==t||null==(n=t.defaultOrder)?void 0:n.algo_order_id,symbol:e.symbol,side:Number(e.position_qty)>0?o.Mf.BUY:o.Mf.SELL,quantity:c?(null==t||null==(i=t.defaultOrder)?void 0:i.quantity)===0?Math.abs(e.position_qty):null==t||null==(a=t.defaultOrder)?void 0:a.quantity:(null==t?void 0:t.positionType)===o.CR.FULL?Math.abs(e.position_qty):0,algo_type:null==t||null==(l=t.defaultOrder)?void 0:l.algo_type,position_type:null==t?void 0:t.positionType,margin_mode:null!=(p=null!=(d=null==t||null==(u=t.defaultOrder)?void 0:u.margin_mode)?d:null==e?void 0:e.margin_mode)?p:o.iU.CROSS}),_=tz()[e.symbol](),{data:f}=np(y.symbol),[g,{isMutating:v}]=rm("/v1/algo/order"),[b,{isMutating:h}]=rm("/v1/algo/order","PUT"),[w]=en("/v1/algo/order","DELETE"),[S,O]=(0,r.useState)(null),[I,k]=(0,r.useState)({dirty:{},submitted:!1,validated:!1,errors:null}),{orderMetadata:M}=J();(0,r.useEffect)(()=>
1{if(!c||!(null==t?void 0:t.defaultOrder))return;let e={};for(let i of["tp","sl"]){var n,r;let a=null==(n=t.defaultOrder.child_orders)?void 0:n.find(e=>e.algo_type===("tp"===i?"TAKE_PROFIT":"STOP_LOSS"));(0,s.Sw)(a)&&(e["".concat(i,"_trigger_price")]=a.trigger_price),e["".concat(i,"_order_type")]=(null==a?void 0:a.type)===o.ZN.LIMIT?o.ZN.LIMIT:o.ZN.MARKET,e["".concat(i,"_order_price")]=(0,s.Sw)(a)&&(null==a?void 0:a.type)===o.ZN.LIMIT?null==(r=a.price)?void 0:r.toString():void 0}L(e)},[]);let P=c?null==t?void 0:t.defaultOrder:void 0,N=(t,n,r)=>{m(i=>{let a=t.startsWith("tp_")?"tp":t.startsWith("sl_")?"sl":void 0,l=P&&a?(0,s.aC)(P,a):void 0,u=l&&(0,s.zM)(l),d=u?(0,s.Pp)(l):Number(i.quantity),p=u?l.side===o.Mf.BUY?o.Mf.SELL:o.Mf.BUY:e.position_qty>0?o.Mf.BUY:o.Mf.SELL,c=eL(t,{value:n,entryPrice:e.average_open_price,qty:p===o.Mf.BUY?null!=d?d:0:-(null!=d?d:0),orderSide:p,markPrice:null!=f?f:e.average_open_price,values:i},{symbol:_});return u&&null==d&&a&&(c["".concat(a,"_pnl")]=""),x({...i,...c,ignoreValidate:null==r?void 0:r.ignoreValidate}),{...i,...c,ignoreValidate:null==r?void 0:r.ignoreValidate}})},R=async(e,t,n)=>{if("quantity"===e){m(e=>({...e,quantity:t})),void 0!==y.sl_trigger_price&&N("sl_trigger_price",y.sl_trigger_price,{ignoreValidate:!0}),void 0!==y.sl_order_price&&N("sl_order_price",y.sl_order_price,{ignoreValidate:!0}),void 0!==y.tp_trigger_price&&N("tp_trigger_price",y.tp_trigger_price,{ignoreValidate:!0}),void 0!==y.tp_order_price&&N("tp_order_price",y.tp_order_price,{ignoreValidate:!0}),N(e,t,n);return}N(e,t,n)},E={symbol:_,maxQty:Math.abs(e.position_qty),markPrice:f},x=e=>{A(e).then(e=>{Object.keys(null!=e?e:{}).length>0?k((0,D.jM)(t=>{t.errors=e})):k((0,D.jM)(e=>{e.errors=null}))})},A=async e=>{let t=C(),n={},r=["tp","sl"].reduce((t,r)=>{var i;let a=null==P||null==(i=P.child_orders)?void 0:i.find(e=>e.algo_type===("tp"===r?"TAKE_PROFIT":"STOP_LOSS")),l=e["".concat(r,"_trigger_price")],o=void 0===l||""===l,u=!!a&&((0,s.Sw)(a)?o||Number(l)!==Number(a.trigger_price):!o);return P&&!0===P.is_triggered&&a&&!u&&(t[r]=!0),(null==P?void 0:P.is_triggered)===!0&&u&&(n["".concat(r,"_trigger_price")]=iR),t},{}),i={...E,skipTPSLTriggerPriceAgainstMark:Object.keys(r).length>0?r:void 0},a=await t.validate(e,i);return Object.keys(n).length?{...a,...n}:a},L=e=>{Object.keys(e).forEach(t=>{R(t,e[t])})},C=()=>{var e,n;return c&&(null==t||null==(e=t.defaultOrder)?void 0:e.algo_type)===o.yL.POSITIONAL_TP_SL?iw.create(o.yL.POSITIONAL_TP_SL):c&&(null==t||null==(n=t.defaultOrder)?void 0:n.algo_type)===o.yL.TP_SL?iw.create(o.yL.TP_SL):iw.create((null==t?void 0:t.positionType)===o.CR.FULL?o.yL.POSITIONAL_TP_SL:o.yL.TP_SL)},U=async e=>{let n=null==t?void 0:t.defaultOrder,r=null==n?void 0:n.algo_order_id;return c&&r?W(r,e):q(e)},q=e=>{let t=C().create(y,E);if(0===t.child_orders.length)throw new o.JP("No child orders");return t.child_orders=t.child_orders.filter(e=>e.is_activated),g(iN(t,M),{},e)},F=(e,t)=>w(null,{order_id:e,symbol:t}),W=(e,n)=>{let[r,i]=C().crateUpdateOrder(y,null==t?void 0:t.defaultOrder,E);return 0===r.child_orders.length?Promise.resolve("Not any order needs to update"):i.child_orders.filter(e=>"boolean"==typeof e.is_activated&&!e.is_activated).length===i.child_orders.length?F(e,y.symbol):b({order_id:e,...r},{},n)};return[(0,T.A)(["ignoreValidate"],y),{submit:U,deleteOrder:F,setValue:R,setValues:L,validate:e=>{let t=C();return new Promise((n,r)=>A(y).then(i=>{if(e&&(i={...i,...e}),i)return Object.keys(i).length>0&&(k((0,D.jM)(e=>{e.errors=i})),I.validated||k((0,D.jM)(e=>{e.validated=!0}))),O(i),r(i);n(t.create(y,E))}))},metaState:I,errors:S,isCreateMutating:v,isUpdateMutating:h}]})(e,t)},ix=e=>{let t=tz(),n=e8(),i=null==n?void 0:n.max_leverage,a=(0,r.useMemo)(()=>{let n=(0,t[e])("base_imr");return n?1/n:1},[t,e]);return(0,r.useMemo)(()=>i&&a?Math.min(i,a):1,[i,a])},iA=e=>{let t=(e=>{let t=tz();return(0,r.useMemo)(()=>!e||t.isNil?null:t[e],[t,e])})(e),{state:n}=ed(),[i,{isMutating:l}]=en("/v1/client/leverage");return{maxLeverage:(0,r.useMemo)(()=>{let e=null==t?void 0:t("base_imr");return e?1/e:1},[t]),update:async e=>{let t=await i(e);if((null==t?void 0:t.success)&&e.symbol&&n.accountId){let t=["/v1/client/leverages",n.accountId];(0,a.Tk)(t,t=>{if(!t)return[{symbol:e.symbol,leverage:e.leverage,margin_mode:e.margin_mode}];let n=t.findIndex(t=>{var n,r;return t.symbol===e.symbol&&(null!=(n=t.margin_mode)?n:o.iU.CROSS)===(null!=(r=e.margin_mode)?r:o.iU.CROSS)});if(-1===n)return[...t,{symbol:e.symbol,leverage:e.leverage,margin_mode:e.margin_mode}];let r=[...t];return r[n]={...r[n],leverage:e.leverage},r},{revalidate:!1})}return t},isLoading:l}},iL=(e,t)=>{let n=ei(),{data:i,isLoading:a,mutate:l}=ep((()=>{let{page:t=1,pageSize:n=10,token:r,side:i,status:a,startTime:l,endTime:o}=e,s=new URLSearchParams;return s.set("page",t.toString()),s.set("size",n.toString()),r&&s.set("token",r),i&&"All"!==i&&s.set("side",i),a&&s.set("status",a),l&&s.set("start_t",l.toString()),o&&s.set("end_t",o.toString()),"/v1/asset/history?".concat(s.toString())})(),{formatter:e=>e,revalidateOnFocus:!1,errorRetryInterval:6e4}),s=(0,q.YQ)(e=>{("function"!=typeof(null==t?void 0:t.shouldUpdateOnWalletChanged)||t.shouldUpdateOnWalletChanged(e))&&l()},300);return(0,r.useEffect)(()=>(n.on("wallet:changed",s),()=>{n.off("wallet:changed",s)}),[]),(0,r.useMemo)(()=>{var e;return[null!=(e=null==i?void 0:i.rows)?e:o.xF,{meta:null==i?void 0:i.meta,isLoading:a}]},[null==i?void 0:i.rows,null==i?void 0:i.meta,a])},iC=(e,t)=>{let{startDate:n,endDate:i,page:a=1}=e,{ignoreAggregation:l=!1}=t||{};if(!n||!i)throw new o.JP("Start date and end date are required");let{data:u}=ep((0,r.useMemo)(()=>{let t=new URLSearchParams;t.set("page",a.toString()),t.set("size",(((e,t)=>e===t?1:(new Date(t).getTime()-new Date(e).getTime())/864e5)(n,i)+ +!l).toString());let r=new Date(n);return r.setDate(new Date(n).getDate()-1),t.set("start_date",r.toISOString().split("T")[0]),t.set("end_date",e.endDate),"/v1/client/statistics/daily?".concat(t.toString())},[a,n,i]),{formatter:e=>{let t=e.rows||[];if(t.length>0&&t[0].date===i){let{account_value:e,perp_volume:n,pnl:r}=t[0];0===e&&0===n&&0===r&&(t=t.slice(1))}return t.reverse(),t},revalidateOnFocus:!1}),d=(0,r.useMemo)(()=>
1{if(l)return{vol:null,pnl:null,roi:null};let e=s.v_,t=s.v_,n=s.v_;if(Array.isArray(u)&&u.length){let r=u.shift();u.forEach(n=>{e=e.add(n.perp_volume),t=t.add(n.pnl)}),n=t.div(r.account_value)}return{vol:e.toNumber(),pnl:t.toNumber(),roi:n.toNumber()}},[u]);return(0,r.useMemo)(()=>[null!=u?u:o.xF,{aggregateValue:d}],[u,d])},iU=()=>{let{data:e,isValidating:t}=ep("/v1/client/statistics",{revalidateOnFocus:!1});return(0,r.useMemo)(()=>[null!=e?e:null,{isValidating:t}],[e,t])},iq=(e,t)=>{let{symbol:n,dataRange:i,page:a=1,pageSize:l=10}=e,o=tz(),{data:s,isLoading:u,isValidating:d}=ep((()=>{let e=new URLSearchParams;return void 0!==n&&"All"!==n&&e.set("symbol",n),e.set("page","".concat(a)),e.set("size","".concat(l)),i&&(e.set("start_t",i[0].toString()),e.set("end_t",i[1].toString())),"/v1/funding_fee/history?".concat(e.toString())})(),{formatter:e=>e,revalidateOnFocus:!1,errorRetryCount:3,...t}),p=(0,r.useMemo)(()=>s&&Array.isArray(null==s?void 0:s.rows)&&!o.isNil?s.rows.map(e=>{let t=o[e.symbol];return{...e,annual_rate:e.funding_rate*(24/t("funding_period"))*365}}):null,[s,o]);return(0,r.useMemo)(()=>[p,{meta:null==s?void 0:s.meta,isLoading:u,isValidating:d}],[p,null==s?void 0:s.meta,u,d])},iD=e=>{let{type:t,dataRange:n,page:i,pageSize:a}=e,l=tz(),{data:s,isLoading:u,isValidating:d}=ep((()=>{let e=new URLSearchParams;return void 0!==t&&"All"!==t&&e.set("type",t),e.set("page",i.toString()),e.set("size",a.toString()),n&&(e.set("start_t",n[0].toString()),e.set("end_t",n[1].toString())),"/v1/client/distribution_history?".concat(e.toString())})(),{formatter:e=>e,revalidateOnFocus:!1,errorRetryCount:3}),p=(0,r.useMemo)(()=>Array.isArray(null==s?void 0:s.rows)&&(null==s?void 0:s.rows.length)&&!l.isNil?s.rows.map(e=>{let t=l[e.symbol];return{...e,annual_rate:e.funding_rate*(24/t("funding_period"))}}):[],[s,l]);return(0,r.useMemo)(()=>[null!=p?p:o.xF,{meta:null==s?void 0:s.meta,isLoading:u,isValidating:d}],[p,null==s?void 0:s.meta,u,d])},iF=e=>{let{dataRange:t,page:n,size:i,side:a,fromId:l,toId:s,main_sub_only:u}=e,d=tz(),{data:p,isLoading:c,mutate:y}=ep((0,r.useMemo)(()=>{let e=new URLSearchParams;return e.set("page",n.toString()),e.set("size",i.toString()),e.set("side",a),(!0===u||!1===u)&&e.set("main_sub_only",u.toString()),t&&(e.set("start_t",t[0].toString()),e.set("end_t",t[1].toString())),"/v1/internal_transfer_history?".concat(e.toString())},[n,i,l,s,t,u]),{formatter:e=>e,revalidateOnFocus:!1,errorRetryCount:3}),m=(0,r.useMemo)(()=>Array.isArray(null==p?void 0:p.rows)&&(null==p?void 0:p.rows.length)&&!d.isNil?p.rows:[],[p,d]);return(0,r.useMemo)(()=>[null!=m?m:o.xF,{meta:null==p?void 0:p.meta,isLoading:c,mutate:y}],[m,null==p?void 0:p.meta,c,y])},iW=e=>{let{dataRange:t,page:n,size:i}=e,a=tz(),{data:l,isLoading:s,mutate:u}=ep(r.useMemo(()=>{let e=new URLSearchParams;return e.set("page",n.toString()),e.set("size",i.toString()),t&&(e.set("start_t",t[0].toString()),e.set("end_t",t[1].toString())),"/v1/account_sv_transaction_history?".concat(e.toString())},[n,i,t]),{formatter:e=>e,revalidateOnFocus:!1,errorRetryCount:3}),d=r.useMemo(()=>Array.isArray(null==l?void 0:l.rows)&&(null==l?void 0:l.rows.length)&&!a.isNil?l.rows:[],[l,a]);return(0,r.useMemo)(()=>[null!=d?d:o.xF,{meta:null==l?void 0:l.meta,isLoading:s,mutate:u}],[d,null==l?void 0:l.meta,s,u])},iB=(e=>(e[e.None=0]="None",e[e.Maintenance=2]="Maintenance",e))(iB||{}),iz=()=>{let[e,t]=(0,r.useState)(0),[n,i]=(0,r.useState)(),[a,l]=(0,r.useState)(),[o,s]=(0,r.useState)("Orderly network"),{data:u}=H("/v1/public/system_info?source=maintenance",{revalidateOnFocus:!1,errorRetryCount:2,errorRetryInterval:200}),d=eu(),p=G();return(0,r.useEffect)(()=>{if(!u)return;let e=p.get("brokerName");e&&s(e),u.scheduled_maintenance&&(i(u.scheduled_maintenance.start_time),l(u.scheduled_maintenance.end_time)),2===u.status&&t(2)},[u,p]),(0,r.useEffect)(()=>{let e=d.subscribe("maintenance_status",{onMessage:e=>{t(e.status),e.scheduled_maintenance&&(i(e.scheduled_maintenance.start_time),l(e.scheduled_maintenance.end_time))}});return()=>{null==e||e()}},[]),{status:e,brokerName:o,startTime:n,endTime:a}},iV=e=>e.trim().toLowerCase(),iZ=e=>"ledger"===iV(e),iK=e=>!!e&&"object"==typeof e&&"string"==typeof e.address&&"string"==typeof e.adapterName&&e.address.length>0&&e.adapterName.length>0,ij=(e,t,n)=>e.address===t&&e.adapterName===iV(n),iY=()=>{let[e,t]=ew(o.KY,[]),[n,r]=ew(o.qF,null),i=e_(n=>{(n.length!==e.length||n.some((t,n)=>t!==e[n]))&&t(n)}),a=e_(t=>{e.includes(t)||i([...e,t])}),l=e_((t,l)=>{let o=iV(l);if(!o)return void a(t);let s=e;iK(n)&&!ij(n,t,o)&&(s=s.filter(e=>e!==n.address)),s.includes(t)||(s=[...s,t]),i(s),r({address:t,adapterName:o})}),s=e_((t,a)=>{let l=e;iK(n)&&(l=l.filter(e=>e!==n.address)),iZ(a)?l.includes(t)||(l=[...l,t]):l=l.filter(e=>e!==t),i(l),null!==n&&r(null)}),u=e_((t,l)=>{if(iK(n)&&ij(n,t,l))return void a(t);let o=e;iK(n)&&(o=o.filter(e=>e!==n.address)),iZ(l)?o.includes(t)||(o=[...o,t]):o=o.filter(e=>e!==t),i(o),null!==n&&r(null)});
1return{setLedgerAddress:a,setManualLedgerAddress:l,clearManualLedgerAddress:s,syncLedgerAddress:u,ledgerWallet:e}},iJ=e=>{let t=e4(e=>e.tokensInfo),n=th(e=>e.data),i=tO(e=>e.data);return(0,r.useMemo)(()=>"mainnet"===e?n:"testnet"===e?i:t,[t,n,e,i])},iQ=(e,t)=>{let n=iJ(t);return(0,r.useMemo)(()=>null==n?void 0:n.find(t=>t.token===e),[n,e])},iG={focusThrottleInterval:864e5,revalidateOnFocus:!1,dedupingInterval:864e5},iH={...iG,revalidateOnFocus:!0,focusThrottleInterval:6e4,dedupingInterval:3e4},iX=e=>{let{children:t}=e;(()=>{let[e,t]=(0,r.useState)(!1),[n,i]=(0,r.useState)(null);return(0,r.useEffect)(()=>{(async()=>{try{await to(ta),t(!0)}catch(e){i(e)}})()},[])})();let{error:n,done:i}=(()=>{let[e,t]=(0,r.useState)(!1),{configStore:n,enableSwapDeposit:i}=(0,r.useContext)(Y),l=n.get("env"),o=n.get("apiBaseUrl"),u="prod"===l?"https://testnet-api.orderly.org":n.get("apiBaseUrl"),d=th(e=>e.fetchData),p=tO(e=>e.fetchData),c=tv(e=>e.fetchData),y=tb(e=>e.fetchData),m=tw(e=>e.fetchData),_=tT(e=>e.fetchData),f=e4(e=>e.actions.setTokensInfo),g=th(e=>e.data),v=tO(e=>e.data),b=tT(e=>e.data);(0,r.useEffect)(()=>{d(),m(o).then(e=>{}),c(void 0,{brokerId:n.get("brokerId")})},[]),(0,r.useEffect)(()=>{u&&(p(u),y(u,{brokerId:n.get("brokerId")}))},[u]),(0,r.useEffect)(()=>{g&&v&&f("prod"===l?g:v)},[g,v]),(0,r.useEffect)(()=>{!b&&i&&_()},[b,i]);let{data:h}=(0,a.Ay)("/v1/public/system_info",async(e,t)=>{let n=await fetch(e.startsWith("http")?e:"".concat(o).concat(e),t);return await n.json()},{errorRetryCount:3,errorRetryInterval:500});return(0,r.useEffect)(()=>{if(!e&&void 0!==h){let e=h.timestamp-Date.now();isNaN(e)||((0,s.VZ)().__ORDERLY_timestamp_offset=e,t(!0))}},[h,e]),{error:null,done:(0,r.useMemo)(()=>e,[e])}})();(()=>{let e=t6(),{startTimer:t,stopTimer:n,updateComputedStates:i}=t5();(0,r.useEffect)(()=>(e&&Object.keys(e).length>0&&(i(e),t()),()=>{n()}),[e,t,n,i])})();let l=n8();(()=>{let{setSymbolsInfo:e,setFundingRates:t,setRwaSymbolsInfo:n}=e4(e=>e.actions),i=tw(e=>e.data);(0,r.useEffect)(()=>{if(!i||!(null==i?void 0:i.length))return;let t={};for(let e=0;e<i.length;e++){let n=i[e],r=n.symbol.split("_"),a=(0,s.fX)(n.base_tick),l=(0,s.fX)(n.quote_tick),o=n.symbol;t[o]={...n,base_dp:a,quote_dp:l,base:r[1],quote:r[2],type:r[0],name:"".concat(r[1],"-").concat(r[0]),display_symbol_name:tK(o,n.display_symbol_name)}}e(t)},[i]),H(t$,{...iH,onSuccess(e){if(!e||!(null==e?void 0:e.length))return{};let t={};for(let n=0;n<e.length;n++){let r=e[n],i=r.symbol.split("_");t[r.symbol]={...r,base:i[1],quote:i[2],type:i[0],name:"".concat(i[1],"-").concat(i[0])}}n(t)}}),H("/v1/public/funding_rates",{...iG,onSuccess(e){if(!e||!(null==e?void 0:e.length))return{};let n=Object.create(null);for(let t=0;t<e.length;t++){let r=e[t];n[r.symbol]={...r,est_funding_rate:function(e){if(!e)return;let{next_funding_time:t,est_funding_rate:n}=e;return Date.now()>t?null:n}(r)}}t(n)}});let{data:a}=(()=>{let{dataAdapter:e}=J(),t=t6(),{data:n}=H("/v1/public/futures",{focusThrottleInterval:864e5,revalidateOnFocus:!0,dedupingInterval:864e5});return{data:(0,r.useMemo)(()=>Array.isArray(n)?"function"==typeof(null==e?void 0:e.symbolList)?e.symbolList(n,{rwaSymbolsInfo:t}):n:[],[n,null==e?void 0:e.symbolList,t])}})(),{updateMarket:l}=tG(e=>e.actions);(0,r.useEffect)(()=>
1{l(a)},[a])})(),(e=>{let t=eu();(0,r.useEffect)(()=>{let n=t.subscribe("markprices",{onMessage:t=>{let n=Object.create(null);for(let e=0;e<t.length;e++){let r=t[e];n[r.symbol]=r.price}e.calc("markPrice",n,{skipWhenOnPause:!0})},onError:e=>{}}),r=t.subscribe("indexprices",{onMessage:t=>{if(!Array.isArray(t))return;let n=Object.create(null);for(let e=0;e<t.length;e++){let r=t[e];n[r.symbol.replace("SPOT","PERP")]=r.price}e.calc("indexPrice",n,{skipWhenOnPause:!0})}});return()=>{null==n||n(),null==r||r()}},[])})(l);let u=(0,r.useRef)(new Map);(e=>{let t=eu(),n=ei(),{state:i,account:l}=ed(),{setAccountInfo:s,restoreHolding:u,cleanAll:d}=e4(e=>e.actions),c=nZ(e=>e.actions),m=n8(),_=n0(e=>e.actions),{data:f}=ep("/v1/client/info",{revalidateOnFocus:!1});(0,r.useEffect)(()=>{f&&s(f)},[f,s]);let{data:g,isLoading:v}=ep("/v1/positions",{formatter:e=>e,onError:e=>{c.updateApiError("positions",e.message)}});(0,r.useEffect)(()=>{let e=e=>{e.accountId||(m.stop(),d(),_.clearAll())};return l.on(p.MN.statusChanged,e),()=>{l.off(p.MN.statusChanged,e)}},[]),(0,r.useEffect)(()=>{v&&c.updateApiLoading("positions",v)},[v,c]),(0,r.useEffect)(()=>{g&&Array.isArray(g.rows)&&m.calc("position",g)},[m,g]);let{data:b}=ep("/v1/client/holding",{formatter:e=>e.holding});(0,r.useEffect)(()=>{if(!l.accountId)return;let e=t.privateSubscribe({id:"balance",event:"subscribe",topic:"balance",ts:Date.now()},{onMessage:e=>{var t;let n=null!=(t=null==e?void 0:e.balances)?t:{};n&&m.calc("portfolio",{holding:n})}});return()=>null==e?void 0:e()},[l.accountId]);let h=(0,r.useRef)(!1);(0,r.useEffect)(()=>{h.current=!1},[i.address]),(0,r.useEffect)(()=>{b&&(h.current?m.calc("portfolio",{holding:b}):u(b),h.current=!0)},[b]);let[T]=ew("orderly_subscribe_order",!0),w=(t,r)=>{let l=e.getKeysMap("orders"),o=new Map,s=r?"algoOrders":"orders";for(let e of l.keys())e.startsWith(s)&&o.set(e,l.get(e));let u={};o.forEach((e,n)=>{(0,a.Tk)((0,y.WI)((t,n)=>[e(t,n),i.accountId]),e=>{try{if(r){let r=function(e,t,n){if(!n)return;let r=new eG(t);return{mergedOrders:r.merge(e,t,n),fieldChanges:r.getFieldChanges(n)}}(n,t,e);return u=(null==r?void 0:r.fieldChanges)||{},null==r?void 0:r.mergedOrders}return((e,t,n)=>{if(n)return new eH(t).merge(e,t,n)})(n,t,e)}catch(t){return e}},{revalidate:!1})});let d=r?eG.groupOrders(t):eY(t);n.emit("orders:changed",{...d,status:r?d.algo_status:t.status,fieldChanges:u})};(0,r.useEffect)(()=>{if(!i.accountId||!0!==T)return;let e=t.privateSubscribe("executionreport",{onMessage:e=>{w(e,!1)}});return()=>null==e?void 0:e()},[i.accountId,T]),(0,r.useEffect)(()=>{if(!i.accountId||!0!==T)return;let e=t.privateSubscribe("algoexecutionreport",{onMessage:e=>{w(e,!0)}});return()=>null==e?void 0:e()},[i.accountId,T]),(0,r.useEffect)(()=>{if(!i.accountId)return;let e=["/v1/positions",i.accountId],n=["/v1/client/leverages",i.accountId],r=t.privateSubscribe("account",{onMessage:t=>{var r;let{symbol:i,leverage:l,marginMode:s}=(null==t||null==(r=t.accountDetail)?void 0:r.symbolLeverage)||{};i&&void 0!==l&&((0,a.Tk)(e,e=>{var t;return(null==e||null==(t=e.rows)?void 0:t.length)?{...e,rows:e.rows.map(e=>e.symbol===i&&e.margin_mode===s?{...e,leverage:l}:e)}:e},{revalidate:!1}),(0,a.Tk)(n,e=>{if(!e)return[{symbol:i,leverage:l,margin_mode:s}];let t=e.findIndex(e=>{var t;return e.symbol===i&&(null!=(t=e.margin_mode)?t:o.iU.CROSS)===(null!=s?s:o.iU.CROSS)});if(-1===t)return[...e,{symbol:i,leverage:l,margin_mode:s}];let n=[...e];return n[t]={...n[t],leverage:l},n},{revalidate:!1}))}});return()=>null==r?void 0:r()},[i.accountId]),(0,r.useEffect)(()=>{if(!i.accountId)return;let e=["/v1/positions",i.accountId],n=t.privateSubscribe("position",{onMessage:t=>{let{positions:n}=t;(0,a.Tk)(e,e=>{if(e){let t={...e,rows:e.rows.map(e=>{let t=n.findIndex(t=>t.symbol===e.symbol&&t.marginMode===e.margin_mode);if(t>=0){let r=n.splice(t,1)[0];return 0===r.averageOpenPrice&&0!==r.positionQty?e:eY(r)}return e})};return n.length>0&&(t.rows=[...t.rows,...n.map(eY)]),t}},{revalidate:!1})}});return()=>{null==n||n()}},[i.accountId])})({getKeysMap:e=>u.current});let d=(0,r.useMemo)(()=>({registerKeyHandler:(e,t)=>{u.current.set(e,t)},unregisterKeyHandler:e=>{u.current.delete(e)}}),[u.current]);return n?(0,A.jsx)("div",{children:"Data load failed"}):(0,A.jsx)(re.Provider,{value:d,children:t})},i$=e=>{let[t,n]=r.useState(null),{configStore:i,keyStore:a,walletAdapters:l,brokerId:s,brokerName:u,networkId:d,contracts:c,chainFilter:y,customChains:m,enableSwapDeposit:_=!1,dataAdapter:f,notification:g,amplitudeConfig:v,orderbookDefaultTickSizes:b,orderbookDefaultSymbolDepths:h,children:T,orderMetadata:w}=e;if(void 0!==i&&!i.get("brokerId"))throw new o.JP("if configStore is provided, brokerId is required in configStore");if(void 0!==s&&void 0!==i&&s!==i.get("brokerId"))throw new o.JP("If you have provided a custom `configStore` and the `brokerId` is set in the `configStore`, please remove the `brokerId` prop.");let S=(0,r.useMemo)(()=>new tW(i||new nl({brokerId:s,brokerName:u,networkId:d})),[i,s,u,d]),O=(0,r.useMemo)(()=>
1{if(a)return a;let e=S.get("networkId");return new p.mV(e)},[S,a]),I=(0,r.useMemo)(()=>l||[new L.I(new U.f),new C.k],[l]),k=(0,r.useMemo)(()=>b||tD,[b]),M=(0,r.useMemo)(()=>h||tF,[h]);(0,r.useLayoutEffect)(()=>{let e=p.Ex.get(p.gD.instanceName);e||(e=new p.gD(S,O,I,{contracts:c}),p.Ex.registerByName(p.gD.instanceName,e)),n(e)},[]);let P=(0,r.useMemo)(()=>"function"==typeof y?y(S):y,[y,S]),N=(0,r.useMemo)(()=>({configStore:S,keyStore:O,networkId:S.get("networkId")||d,filteredChains:P,walletAdapters:I,customChains:m,enableSwapDeposit:_,defaultOrderbookTickSizes:k,defaultOrderbookSymbolDepths:M,dataAdapter:f,notification:g,amplitudeConfig:v,orderMetadata:w}),[S,O,d,P,I,m,_,k,M,f,g,v,w]);return t?(0,A.jsx)(Q,{value:N,children:(0,A.jsx)(tq,{children:(0,A.jsx)(iX,{children:T})})}):null};function i0(e,t,n,i){let a=!1;if("object"==typeof e){if(a=!0,!e.symbol)throw new o.JP("Symbol is required");if(!e.side)throw new o.JP("Order side is required");if(!e.order_type)throw new o.JP("Order type is required")}let l=(0,r.useRef)(null),u=(0,r.useRef)(null),d=(0,r.useRef)({}),[p,c]=(0,r.useState)(null),y=ei(),f=n2(),g=(0,r.useRef)({}),v=(0,r.useRef)(!1),b=(0,r.useRef)([]),h=(0,q.YQ)(e=>{b.current=e},200),{freeCollateral:w,totalCollateral:O,accountInfo:I}=rw(),M=tz(),P=(0,r.useMemo)(()=>"string"==typeof e?e:e.symbol,[e]),N=(0,r.useMemo)(()=>"object"==typeof t?t:i,[t]),R=(0,r.useMemo)(()=>"boolean"==typeof n?n:"object"==typeof e&&!!e.reduce_only,[e,n]),E=(0,r.useMemo)(()=>"object"==typeof e?e.side:t,[e,t]),x=(0,r.useMemo)(()=>(0,s.fX)(M[P]("base_tick",0)),[M]),A=(0,r.useMemo)(()=>(0,s.fX)(M[P]("quote_tick",0)),[M]),L=(0,r.useMemo)(()=>M[P]("base_imr",0),[M]),C=(0,r.useMemo)(()=>M[P]("base_mmr",0),[M]),{data:U}=np(P),{marginMode:D}=nN(P),F="object"==typeof e&&e.margin_mode?e.margin_mode:D,W=rI(P,E,{reduceOnly:R,marginMode:null!=F?F:o.iU.CROSS}),B=(e,t,n)=>{if("string"==typeof e[t]&&(e[t]&&e[t].startsWith(".")&&(e[t]="0".concat(e[t])),e[t]=e[t].replace(/,/g,""),n&&e[t].length>0)){let n="".concat(e[t]).includes("."),r="".concat(e[t]).endsWith("."),i="".concat(e[t]).split(".");n&&!r&&(e[t]="".concat(i[0],".").concat(i[1].slice(0,A)))}},z=(0,r.useMemo)(()=>"string"==typeof e?null:(0,S.A)(["order_price","side","order_quantity","visible_quantity","order_type","order_type_ext","symbol","total","reduce_only","trigger_price"])(e),[e]),V=(0,r.useMemo)(()=>"string"==typeof e?null:("string"==typeof e.order_quantity?B(e,"order_quantity"):"number"==typeof e.order_quantity&&(e.order_quantity=new s.Ww(e.order_quantity).toDecimalPlaces(x).toString()),"string"==typeof e.order_price&&B(e,"order_price",A),"string"==typeof e.total&&B(e,"total",A),"string"==typeof e.trigger_price&&B(e,"trigger_price",A),e),[null==z?void 0:z.order_price,null==z?void 0:z.order_quantity,null==z?void 0:z.total,null==z?void 0:z.trigger_price,null==z?void 0:z.order_type,null==z?void 0:z.order_type_ext,null==z?void 0:z.symbol,null==z?void 0:z.reduce_only,null==z?void 0:z.side,null==z?void 0:z.visible_quantity,A,x]),[Z,{isMutating:K}]=en((null==V?void 0:V.order_type)===o.ZN.STOP_LIMIT||(null==V?void 0:V.order_type)===o.ZN.STOP_MARKET||(null==V?void 0:V.order_type)===o.ZN.CLOSE_POSITION?"/v1/algo/order":"/v1/order"),j=e=>{if(!e.symbol)throw new o.JP("Symbol is error");if(!e.side)throw new o.JP("Order side is error");if(!e||void 0===e.order_type)throw new o.JP("Order type is error");let t=iw.create(e.order_type_ext?e.order_type_ext:e.order_type);return t?new Promise((n,r)=>t.validate(e,{symbol:M[P](),maxQty:W,markPrice:U}).then(i=>{if(v.current=!0,i.order_price||i.order_quantity||i.trigger_price||i.total){var a,l;c(i),r((null==(a=i.order_price)?void 0:a.message)||(null==(l=i.order_quantity)?void 0:l.message))}else{let i=t.create(e,{symbol:M[P](),maxQty:W,markPrice:U});return Z((0,T.A)(["order_type_ext"],{...i})).then(e=>{e&&e.success?n(e.data):r(e)},r)}})):Promise.reject(new o.JP("Order creator is null"))},Y=(0,r.useCallback)(()=>{if(!V)throw new o.JP("Function is not supported, please use onSubmit()");return j(V)},[V]),J=(0,r.useCallback)((e,t,n)=>{let r=eZ(t);return(0,m.A)(_.A,function(e){let[t,n,r,i,a]=e;return[t,n,r,i,a]},r,eq)([e,t,n,U,{base_dp:x,quote_dp:A}])},[U]),Q=e=>{let t=iw.create(e.order_type);return null==t?void 0:t.validate(e,{symbol:M[P](),maxQty:W,markPrice:U})},G=(0,r.useMemo)(()=>{var e;if(!V)return d.current;if(!l.current)return l.current=V,u.current={...V,total:""},u.current;let t=((e,t)=>{let n,r,i;if(!e)return null;let a=Object.keys(t);for(let l=0;l<a.length;l++){let o=a[l],s=e[o],u=t[o];if((void 0!==s||void 0!==u)&&s!==u){n=o,r=u,i=s;break}}return n?{key:n,value:r,preValue:i}:null})(l.current,V);if(!t)return u.current;void 0!==V.order_price&&(g.current.order_price=!0),void 0!==V.order_quantity&&(g.current.order_quantity=!0);let n=J(V,t.key,t.value);return n.isStopOrder=(null==(e=n.order_type)?void 0:e.startsWith("STOP"))||!1,n.total=n.total||"",l.current=V,u.current=n,n},[V,U]);(0,r.useEffect)(()=>{var e;U&&!M.isNil&&(null==(e=Q(G))||e.then(e=>{c(e)}).catch(e=>{}))},[G.order_quantity,G.total,G.trigger_price,G.order_type,U]),(0,r.useEffect)(()=>
1{if(a){if(!(null==N?void 0:N.watchOrderbook))throw new o.JP("In order to calculate the estimated liquidation price, the `options.watchOrderbook` parameter must be set to true.")}else if(!(null==N?void 0:N.watchOrderbook))return;return y.on("orderbook:update",h),()=>{y.off("orderbook:update",h)}},[null==N?void 0:N.watchOrderbook]),(0,r.useEffect)(()=>{b.current=[]},[null==V?void 0:V.symbol]);let H=e=>{let t,n=Number(e.order_quantity),r=Number(e.order_price);if(isNaN(n)||n<=0)return null;if((null==i?void 0:i.watchOrderbook)&&0===b.current.length)throw new o.JP("Please check if you are using the `useOrderbookStream` hook or if the orderBook has data.");return(e.order_type===o.ZN.LIMIT||e.order_type===o.ZN.STOP_LIMIT)&&isNaN(r)?null:(t=e.order_type===o.ZN.MARKET||e.order_type===o.ZN.STOP_MARKET?e.side===o.Mf.BUY?b.current[0]:b.current[1]:e.side===o.Mf.BUY?r>=b.current[0]?b.current[0]:r:r<=b.current[1]?b.current[1]:r,e.side===o.Mf.SELL&&(n=-n),{price:t,quantity:n})},X=(0,r.useMemo)(()=>{if(!I||!V||!U)return null;let e=H(G);if(null===e)return null;let{price:t,quantity:n}=e;if(!t||!n)return null;let r=k.fq.orderFee({qty:n,price:t,futuresTakeFeeRate:Number(I.futures_taker_fee_rate)/1e4}),i=k.fq.estLiqPrice({markPrice:U,baseIMR:L,baseMMR:C,totalCollateral:O,positions:null==f?[]:f,IMR_Factor:I.imr_factor[P],orderFee:r,newOrder:{qty:n,price:t,symbol:V.symbol}});return i<=0?null:i},[U,L,C,O,null==G?void 0:G.order_price,null==G?void 0:G.order_quantity,null==G?void 0:G.total,null==G?void 0:G.trigger_price,I]),$=(0,r.useMemo)(()=>{if(!I||!V)return null;let e=H(G);return null!==e&&e.price&&e.quantity?k.fq.estLeverage({totalCollateral:O,positions:null===f?[]:f,newOrder:{symbol:V.symbol,qty:e.quantity,price:e.price}}):null},[L,C,O,f,null==G?void 0:G.order_price,null==G?void 0:G.order_quantity,null==G?void 0:G.total,null==G?void 0:G.trigger_price]);return{maxQty:W,freeCollateral:w,markPrice:U,onSubmit:e=>"boolean"==typeof n&&n&&!e.reduce_only?Promise.reject(new o.JP("The reduceOny parameter of hook does not match your order data")):j({...e,symbol:P}),submit:Y,submitting:K,formattedOrder:G,estLiqPrice:X,estLeverage:$,helper:{calculate:J,validator:Q},metaState:{dirty:g.current,submitted:v.current,errors:p},symbolConfig:M[P]()}}function i2(e){let t=e=>"undefined"!=typeof window&&window.matchMedia(e).matches,[n,i]=(0,r.useState)(t(e));function a(){i(t(e))}return(0,r.useEffect)(()=>{var t,n;let r=null==(t=window)?void 0:t.matchMedia(e);return a(),(null==r?void 0:r.addListener)?null==r||r.addListener(a):null==r||null==(n=r.addEventListener)||n.call(r,"change",a),()=>{if(null==r?void 0:r.removeListener)null==r||r.removeListener(a);else{var e;null==r||null==(e=r.removeEventListener)||e.call(r,"change",a)}}},[e]),n}var i1=class{constructor(e,t){this.ctx=e,this.painter=t}},i6=class extends i1{async draw(e){return void 0!==e.backgroundImg&&""!==e.backgroundImg?this._drawImage(e):void 0!==e.backgroundColor?this._drawColor(e):void 0}_drawColor(e){this.ctx.fillStyle=e.backgroundColor||"black",this.ctx.fillRect(0,0,this.painter.width*this.painter.ratio,this.painter.height*this.painter.ratio)}async _drawImage(e){let t=this.painter.width*this.painter.ratio,n=this.painter.height*this.painter.ratio;return this.loadImg(e.backgroundImg).then(r=>{this.img=r,this.ctx.save(),"rtl"===e.direction&&(this.ctx.translate(t,0),this.ctx.scale(-1,1)),this.ctx.drawImage(this.img,0,0,t,n),this.ctx.restore()})}loadImg(e){return new Promise((t,n)=>{let r=new Image;r.crossOrigin="anonymous",r.onload=()=>{t(r)},r.onerror=e=>{n(e)},r.src=e})}constructor(){super(...arguments),this.img=null}},i5=class extends i1{formatMarginMode(e){return e===o.iU.ISOLATED?"Isolated":"Cross"}async draw(e){var t,n,r,i,a,l,o,s,u,d,p;let c=Array.isArray(null==(n=e.data)||null==(t=n.position)?void 0:t.informations)&&(null!=(u=null==(a=e.data)||null==(i=a.position)||null==(r=i.informations)?void 0:r.length)?u:0)>0,y=this.hasReferral(e);this.transformTop=0,(null==(l=e.data)?void 0:l.message)&&this.drawMessage(e),(null==(o=e.data)?void 0:o.position)&&this.drawPosition(e,0),c&&this.drawInformations(e),this.drawUnrealizedPnL(e,0),y||((null==(d=e.data)?void 0:d.domain)&&this.drawDomainUrl(e),void 0!==(null==(p=e.data)?void 0:p.updateTime)&&this.drawPositionTime(e)),void 0!==(null==(s=e.data)?void 0:s.referral)&&this.drawReferralCode(e)}drawMessage(e){var t;let n=(0,O.A)(["layout","message"],e),{position:r}=n;this._drawText('"'.concat(null==(t=e.data)?void 0:t.message,'"'),{color:n.color,fontSize:this._ratio(n.fontSize),top:this._ratio(r.top),left
1:this.inlineStart(e,r.left),textAlign:this.inlineStartAlign(e),direction:this.textDirection(e),textBaseline:"top",fontFamily:e.fontFamily})}drawPosition(e){var t,n,r,i,a,l,o;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,u=(0,O.A)(["layout","position"],e),{position:d,fontSize:p=14}=u,c=this.inlineStart(e,d.left),y=u.position.top+s+this.transformTop,m=[];void 0!==(null==(t=e.data)?void 0:t.position.side)&&m.push({kind:"text",text:e.data.position.side,color:(null==(o=e.data)?void 0:o.position.side.toUpperCase())==="LONG"?e.profitColor||this.DEFAULT_PROFIT_COLOR:e.lossColor||this.DEFAULT_LOSS_COLOR,fontSize:this._ratio(p)}),void 0!==(null==(n=e.data)?void 0:n.position.symbol)&&m.push({kind:"text",text:e.data.position.symbol,color:u.color,fontSize:this._ratio(p)});let _=null==(i=e.data)||null==(r=i.position.brokerName)?void 0:r.trim();_&&m.push({kind:"badge",text:_,fontSize:this._ratio(12),fontWeight:600});let f=null==(a=e.data)?void 0:a.position.marginMode;f&&m.push({kind:"text",text:this.formatMarginMode(f),color:u.color,fontSize:this._ratio(p)}),void 0!==(null==(l=e.data)?void 0:l.position.leverage)&&m.push({kind:"text",text:"".concat(e.data.position.leverage,"X"),color:u.color,fontSize:this._ratio(p)});let g=this._ratio(y);m.forEach((t,n)=>{c=this.drawInlineItem(e,t,c,g),n<m.length-1&&(c=this.drawInlineSeparator(e,c,g,this._ratio(p)))})}_fillRoundedRect(e,t,n,r,i,a){let l=Math.min(i,n/2,r/2);this.ctx.save(),this.ctx.fillStyle=a,this.ctx.beginPath(),this.ctx.moveTo(e+l,t),this.ctx.arcTo(e+n,t,e+n,t+r,l),this.ctx.arcTo(e+n,t+r,e,t+r,l),this.ctx.arcTo(e,t+r,e,t,l),this.ctx.arcTo(e,t,e+n,t,l),this.ctx.closePath(),this.ctx.fill(),this.ctx.restore()}drawUnrealizedPnL(e){var t,n,r,i,a,l,o,u,d;let p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,c=(0,O.A)(["layout","unrealizedPnl"],e),{position:y}=c,m=this.inlineStart(e,y.left),_={},f=(null!=(r=y.top)?r:0)+p+this.transformTop;if(void 0!==(null==(t=e.data)?void 0:t.position.ROI)){let t=(null==(i=e.data)?void 0:i.position.ROI)>0?"+":"";_=this._drawText("".concat(t).concat((0,s.l8)(null==(a=e.data)?void 0:a.position.ROI),"%"),{color:"+"===t?e.profitColor||this.DEFAULT_PROFIT_COLOR:e.lossColor||this.DEFAULT_LOSS_COLOR,left:m,top:this._ratio(f),fontSize:this._ratio(c.fontSize),fontWeight:700,fontFamily:e.fontFamily,textAlign:this.inlineStartAlign(e),direction:this.textDirection(e)})}if(void 0!==(null==(n=e.data)?void 0:n.position.pnl)){let t=(null==(l=e.data)?void 0:l.position.pnl)>=0?"+":"",n="".concat(t).concat((0,s.l8)(null==(o=e.data)?void 0:o.position.pnl)," ").concat(null==(u=e.data)?void 0:u.position.currency),r=600;_.width?(m=this.advanceCursor(e,m,(null!=(d=_.width)?d:0)+this._ratio(8)),n="(".concat(n,")")):(m=this.inlineStart(e,y.left),r=700);let i=void 0===e.data.position.ROI?"+"===t?e.profitColor||this.DEFAULT_PROFIT_COLOR:e.lossColor||this.DEFAULT_LOSS_COLOR:c.secondaryColor,a=void 0===e.data.position.ROI?this._ratio(c.fontSize):this._ratio(c.secondaryFontSize);_=this._drawText(n,{color:i,left:m,top:this._ratio(f),fontSize:a,fontWeight:r,fontFamily:e.fontFamily,textAlign:this.inlineStartAlign(e),direction:this.textDirection(e)})}}drawInformations(e){var t,n,r;let i=(0,O.A)(["layout","informations"],e),{position:a}=i,l=(null==(n=e.data)||null==(t=n.position)?void 0:t.informations)||[];null==(r=e.data)||r.position.informations.length;let o=l.length>4?3:2;l.forEach((t,n)=>{let r=a.left+n%o*this.positionInfoCellWidth,l=a.top+38*Math.floor(n/o)+this.transformTop;this._drawText(t.title,{left:this.inlineStart(e,r),top:this._ratio(l),fontSize:this._ratio(10),color:i.labelColor,fontFamily:e.fontFamily,textAlign:this.inlineStartAlign(e),direction:this.textDirection(e)}),this._drawText(t.value,{left:this.inlineStart(e,r),top:this._ratio(l+17),fontSize:this._ratio(i.fontSize),fontWeight:500,color:i.color,fontFamily:e.fontFamily,textAlign:this.inlineStartAlign(e),direction:this.textDirection(e)})})}drawDomainUrl(e){var t,n;let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=(0,O.A)(["layout","domain"],e),a=this.hasReferral(e),{position:l}=i,o=this.painter.height-l.bottom;return this._drawText(null==(t=e.data)?void 0:t.domain,{left:a?this.inlineEnd(e,20):this.inl
1ineStart(e,l.left),top:a?this._ratio(this.painter.height-16):this._ratio(o),fontSize:this._ratio(i.fontSize),color:null!=(n=e.brandColor)?n:this.DEFAULT_PROFIT_COLOR,fontFamily:e.fontFamily,textBaseline:i.textBaseline,textAlign:a?this.inlineEndAlign(e):this.inlineStartAlign(e),direction:this.textDirection(e),fontWeight:600},r)}drawPositionTime(e){var t,n;let r=(0,O.A)(["layout","updateTime"],e),{position:i}=r,a=this.hasReferral(e),l=this.painter.height-i.bottom,o=this.inlineStart(e,i.left);if(a){let t=this.drawDomainUrl(e,!0);o=this.inlineStart(e,i.left+8)+(this.isRTL(e)?t.width:-t.width),l=this.painter.height-i.bottom}this._drawText(a?"Share on ".concat(null==(n=e.data)?void 0:n.updateTime,"   |"):null==(t=e.data)?void 0:t.updateTime,{left:o,top:this._ratio(l),fontSize:this._ratio(r.fontSize),color:r.color,textAlign:a?this.inlineEndAlign(e):this.inlineStartAlign(e),fontFamily:e.fontFamily,textBaseline:r.textBaseline,direction:this.textDirection(e)})}drawReferralCode(e){var t,n,r;if(!(null==(t=e.data)?void 0:t.referral))return;let i=(0,O.A)(["layout","updateTime"],e),{position:a}=i,l=this.painter.height-(null!=(n=a.bottom)?n:0),o=(0,O.A)(["layout","message"],e),s=new URL(e.data.referral.link),u=s.searchParams;u.append("ref",e.data.referral.code),s.search=u.toString();let d=this._ratio(this.QRCODE_SIZE),p=this.isRTL(e)?this.inlineStart(e,a.left)-d:this.inlineStart(e,a.left);((e,t)=>{let{size:n,left:r,top:i,data:a,padding:l}=t,o=(0,F.tJ)(a),s=document.createElement("canvas");s.width=n,s.height=n;let u=s.getContext("2d"),d=o.modules;if(!d)return;let p=n/d.length,c=n/d.length;for(let e=0;e<d.length;++e){let t=d[e];for(let n=0;n<t.length;++n){u.fillStyle=t[n]?"#000":"#fff";let r=Math.ceil((n+1)*p)-Math.floor(n*p),i=Math.ceil((e+1)*c)-Math.floor(e*c);u.fillRect(Math.round(n*p),Math.round(e*c),r,i)}}e.save(),e.fillStyle="#fff",e.fillRect(r-l,i-l,n+2*l,n+2*l),e.restore(),e.drawImage(s,r,i,n,n)})(this.ctx,{size:this._ratio(this.QRCODE_SIZE),padding:this._ratio(2),left:p,top:this._ratio(l-this.QRCODE_SIZE),data:"".concat(s.toString())}),this._drawText(e.data.referral.slogan,{left:this.inlineStart(e,a.left+66),top:this._ratio(l-this.QRCODE_SIZE),fontSize:this._ratio(14),color:null!=(r=e.brandColor)?r:this.DEFAULT_PROFIT_COLOR,fontFamily:e.fontFamily,textBaseline:"top",textAlign:this.inlineStartAlign(e),direction:this.textDirection(e)}),this._drawText("Referral Code",{left:this.inlineStart(e,a.left+66),top:this._ratio(l-29),fontSize:this._ratio(12),color:i.color,fontFamily:e.fontFamily,textBaseline:"middle",textAlign:this.inlineStartAlign(e),direction:this.textDirection(e)}),this._drawText(e.data.referral.code,{left:this.inlineStart(e,a.left+66),top:this._ratio(l),fontSize:this._ratio(16),color:o.color,fontFamily:e.fontFamily,textBaseline:"bottom",textAlign:this.inlineStartAlign(e),direction:this.textDirection(e)})}_drawText(e,t){let n,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],{left:i=30,top:a=30,fontSize:l=13,fontWeight:o=500,color:s="black",textBaseline:u="middle",textAlign:d="start",direction:p="ltr"}=null!=t?t:{};return this.ctx.save(),this.ctx.font="".concat(o," ").concat(l,"px ").concat(null==t?void 0:t.fontFamily),this.ctx.fillStyle=s,this.ctx.textBaseline=u,this.ctx.textAlign=d,this.ctx.direction=p,n=this.ctx.measureText(e),r||this.ctx.fillText(e,i,a),this.ctx.restore(),n}hasReferral(e){var t;return void 0!==(null==(t=e.data)?void 0:t.referral)}_ratio(e){return e*this.painter.ratio}canvasWidth(){return this._ratio(this.painter.width)}textDirection(e){return this.isRTL(e)?"rtl":"ltr"}isRTL(e){return"rtl"===e.direction}inlineStart(e,t){return this.isRTL(e)?this.canvasWidth()-this._ratio(t):this._ratio(t)}inlineEnd(e,t){return this.isRTL(e)?this._ratio(t):this.canvasWidth()-this._ratio(t)}inlineStartAlign(e){return this.isRTL(e)?"right":"left"}inlineEndAlign(e){return this.isRTL(e)?"left":"right"}advanceCursor(e,t,n){return this.isRTL(e)?t-n:t+n}drawInlineSeparator(e,t,n,r){var i;let a=this._ratio(this.ITEM_GAP),l=this._drawText("|",{color:"rgba(255,255,255,0.2)",left:this.advanceCursor(e,t,a),top:n,fontSize:r,fontFamily:e.fontFamily,textAlign:this.inl
1ineStartAlign(e),direction:this.textDirection(e)});return this.advanceCursor(e,this.advanceCursor(e,t,a),(null!=(i=l.width)?i:0)+a)}drawInlineItem(e,t,n,r){var i,a,l,o;if("text"===t.kind){let a=this._drawText(t.text,{color:t.color,left:n,top:r,fontSize:t.fontSize,fontWeight:t.fontWeight,fontFamily:e.fontFamily,textAlign:this.inlineStartAlign(e),direction:this.textDirection(e)});return this.advanceCursor(e,n,null!=(i=a.width)?i:0)}let s=this._ratio(this.BROKER_BADGE_HEIGHT),u=this._ratio(this.BROKER_BADGE_PADDING_X),d=this._ratio(this.BROKER_BADGE_RADIUS),p=(null!=(l=this._drawText(t.text,{left:0,top:0,fontSize:t.fontSize,fontWeight:null!=(a=t.fontWeight)?a:600,direction:this.textDirection(e)},!0).width)?l:0)+2*u,c=r-s/2,y=this.isRTL(e)?n-p:n;return this._fillRoundedRect(y,c,p,s,d,"rgba(255,255,255,0.06)"),this._drawText(t.text,{color:"rgba(255,255,255,0.36)",left:this.isRTL(e)?y+p-u:y+u,top:c+s/2,fontSize:t.fontSize,fontWeight:null!=(o=t.fontWeight)?o:600,textBaseline:"middle",textAlign:this.inlineStartAlign(e),direction:this.textDirection(e)}),this.advanceCursor(e,n,p)}constructor(){super(...arguments),this.positionInfoCellWidth=90,this.DEFAULT_PROFIT_COLOR="rgb(0,181,159)",this.DEFAULT_LOSS_COLOR="rgb(255,103,194)",this.transformTop=0,this.QRCODE_SIZE=56,this.BROKER_BADGE_HEIGHT=18,this.BROKER_BADGE_PADDING_X=8,this.BROKER_BADGE_RADIUS=4,this.ITEM_GAP=7}},i3=class{draw(e){requestAnimationFrame(()=>this._draw.bind(this)(e))}async _draw(e){null!==this.ctx&&(await new i6(this.ctx,this).draw(e),await new i5(this.ctx,this).draw(e))}constructor(e,t){this.canvas=e,this.width=0,this.height=0,this.ctx=this.canvas.getContext("2d"),this.width=this.canvas.width,this.height=this.canvas.height,this.ratio=Math.max((null==t?void 0:t.ratio)||1,"undefined"!=typeof window?Math.ceil(window.devicePixelRatio):1),this.canvas.width=this.width*this.ratio,this.canvas.height=this.height*this.ratio,this.canvas.style.width=this.width+"px",this.canvas.style.height=this.height+"px"}},i4={domain:{fontSize:13,textBaseline:"bottom",position:{left:20,bottom:32}},message:{fontSize:20,color:"rgba(255, 255, 255, 0.98)",textBaseline:"top",position:{left:20,top:16}},position:{fontSize:14,color:"rgba(255,255,255,0.98)",position:{left:20,top:70}},unrealizedPnl:{fontSize:36,color:"rgba(255,255,255,0.5)",secondaryColor:"rgba(255,255,255,0.54)",secondaryFontSize:20,position:{left:20,top:110}},informations:{fontSize:12,color:"rgba(255, 255, 255, 0.8)",labelColor:"rgba(255,255,255,0.36)",position:{left:20,top:150}},updateTime:{fontSize:10,color:"rgba(255,255,255,0.3)",textAlign:"start",textBaseline:"bottom",position:{left:20,bottom:17}}},i8=(e,t)=>{let[n,i]=(0,r.useState)(null),[a,l]=(0,r.useState)(()=>void 0!==navigator.clipboard),s=(0,r.useRef)(null),[u,d]=(0,r.useState)(null);(0,r.useEffect)(()=>{u&&(s.current||(s.current=new i3(u,{ratio:(null==t?void 0:t.ratio)||1,...t})),s.current.draw((0,I.A)({layout:i4,fontFamily:"Manrope"},e)))},[u,e]);let p=(0,r.useCallback)((e,t)=>new Promise(n=>{if(!u)return void n(null);u.toBlob(n,e,t)}),[u]);return{error:n,ref:e=>{if(e){if("CANVAS"!==e.tagName.toUpperCase())return void i(new o.JP("The ref must be a canvas element"));d(e)}},toDataURL:(e,t)=>{if(!u)throw new o.JP("The ref must be a canvas element");return u.toDataURL(e,t)},toBlob:p,download:(0,r.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"image/png",n=arguments.length>2?arguments[2]:void 0;if(!u)throw new o.JP("The ref must be a canvas element");let r=new Image;r.src=u.toDataURL(t,n);let i=document.createElement("a");i.href=r.src,i.download=e,i.click()},[u]),canCopy:a,copy:(0,r.useCallback)(()=>{if(!u)throw new o.JP("The ref must be a canvas element");return new Promise((e,t)=>{if(!navigator.clipboard)return void t(new o.JP("Clipboard API is not supported"));u.toBlob(n=>n?navigator.clipboard.write([new ClipboardItem({[n.type]:n})]).then(e,t):void t(new o.JP("Failed to create blob")))})},[u])}},i7=(e=>(e.normal="normal",e.mm="mm",e))(i7||{}),i9=e=>{let[t,n]=(0,r.useState)(void 0),{data:i,error:a,isLoading:l,mutate:o}=H("normal"===e?"/v1/public/trading_rewards/epoch_info":"/v1/public/market_making_rewards/epoch_info",{formatter:e=>{if("object"==typeof e&&"rows"in e&&"current_epoch"in e){let{rows:t,current_epoch:r}=e;if(Array.isArray(t)){let e=t.map(e=>e);e.sort((e,t)=>
1t.end_time-e.end_time);let i=null==e?void 0:e.findIndex(e=>e.epoch_id===r),a=e.find(e=>1===e.epoch_id);return a&&(null==a?void 0:a.start_time)>(0,s.lg)()?n(a):n(-1!==i?null==e?void 0:e[i]:void 0),e}}return[]}}),u=(0,r.useMemo)(()=>{let e=null==i?void 0:i.find(e=>1===e.epoch_id);return!e||e.start_time>(0,s.lg)()},[i]);return[i,{isLoading:l,curEpochInfo:t,isNotStared:u,refresh:o}]},ae=e=>{let[t,n]=(0,r.useState)(void 0),{account:i}=ed(),a=tV(),l=i.address,{data:o}=H(void 0!==l?"normal"===e?"/v1/public/trading_rewards/current_epoch_estimate?address=".concat(l):"/v1/public/market_making_rewards/current_epoch_estimate?address=".concat(l):"",{formatter:e=>{var t;return{...e,rows:(null==(t=e.rows)?void 0:t.map(e=>({...e,broker_name:e.broker_id})))||[],est_trading_volume:(null==e?void 0:e.est_maker_volume)||(null==e?void 0:e.est_trading_volume)}}});return[(0,r.useMemo)(()=>{if(o){var e;let t={...o};return t.rows=null==(e=t.rows)?void 0:e.map(e=>({...e,broker_name:a[e.broker_id]||e.broker_id})),t}return t},[o,a])]},at=[{inputs:[{internalType:"address",name:"target",type:"address"}],name:"AddressEmptyCode",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"AddressInsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"implementation",type:"address"}],name:"ERC1967InvalidImplementation",type:"error"},{inputs:[],name:"ERC1967NonPayable",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"allowance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientAllowance",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC20InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC20InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC20InvalidSender",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"}],name:"ERC20InvalidSpender",type:"error"},{inputs:[],name:"EnforcedPause",type:"error"},{inputs:[],name:"ExpectedPause",type:"error"},{inputs:[],name:"FailedInnerCall",type:"error"},{inputs:[],name:"InvalidDelegate",type:"error"},{inputs:[],name:"InvalidEndpointCall",type:"error"},{inputs:[],name:"InvalidInitialization",type:"error"},{inputs:[],name:"InvalidLocalDecimals",type:"error"},{inputs:[{internalType:"bytes",name:"options",type:"bytes"}],name:"InvalidOptions",type:"error"},{inputs:[],name:"LzTokenUnavailable",type:"error"},{inputs:[{internalType:"uint32",name:"eid",type:"uint32"}],name:"NoPeer",type:"error"},{inputs:[{internalType:"uint256",name:"msgValue",type:"uint256"}],name:"NotEnoughNative",type:"error"},{inputs:[],name:"NotInitializing",type:"error"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"OnlyEndpoint",type:"error"},{inputs:[{internalType:"uint32",name:"eid",type:"uint32"},{internalType:"bytes32",name:"sender",type:"bytes32"}],name:"OnlyPeer",type:"error"},{inputs:[],name:"OnlySelf",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"SafeERC20FailedOperation",type:"error"},{inputs:[{internalType:"bytes",name:"result",type:"bytes"}],name:"SimulationResult",type:"error"},{inputs:[{internalType:"uint256",name:"amountLD",type:"uint256"},{internalType:"uint256",name:"minAmountLD",type:"uint256"}],name:"SlippageExceeded",type:"error"},{inputs:[],name:"UUPSUnauthorizedCallContext",type:"error"},{inputs:[{internalType:"bytes32",name:"slot",type:"bytes32"}],name:"UUPSUnsupportedProxiableUUID",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{components:[{internalType:"uint32",name:"eid",type:"uint32"},{internalType:"uint16",name:"msgType",type:"uint16"},{internalType:"bytes",name:"options",type:"bytes"}],indexed:!1,internalType:"struct EnforcedOptionParam[]",name:"_enforcedOptions",type:"tuple[]"}],name:"EnforcedOptionSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint64",name:"version",type:"uint64"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"inspector",type:"address"}],name:"MsgInspectorSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"guid",type:"bytes32"},{indexed:!1,internalType:"uint32",name:"srcEid",type:"uint32"},{indexed:!0,internalType:"address",name:"toAddress",type:"address"},{indexed:!1,internalType:"uint256",name:"amountReceivedLD",type:"uint256"}],name:"OFTReceived",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"guid",type:"bytes32"},{indexed:!1,internalType:"uint32",name:"dstEid",type:"uint32"},{indexed:!0,internalType:"address",name:"fromAddress",type:"address"},{indexed:!1,internalType:"uint256",name:"amountSentLD",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amountReceivedLD",type:"uint256"}],name:"OFTSent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32",name:"eid",type:"uint32"},{indexed:!1,internalType:"bytes32",name:"peer",type:"bytes32"}],name:"PeerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"preCrimeAddress",type:"address"}],name:"PreCrimeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{inputs:[],name:"SEND",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"SEND_AND_CALL",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"UPGRADE_INTERFACE_VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"srcEid",type:"uint32"},{internalType:"bytes32",name:"sender",type:"bytes32"},{internalType:"uint64",name:"nonce",type:"uint64"}],internalType:"struct Origin",name:"origin",type:"tuple"}],name:"allowInitializePath",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"approvalRequired",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_srcEid",type:"uint32"},{internalType:"bytes32",name:"_sender",type:"bytes32"},{internalType:"uint64",name:"_nonce",type:"uint64"},{internalType:"bytes32",name:"_payloadHash",type:"bytes32"}],name:"burnInboundNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"srcEid",type:"uint32"},{internalType:"bytes32",name:"sender",type:"bytes32"},{internalType:"uint64",name:"nonce",type:"uint64"}],internalType:"struct Origin",name:"_origin",type:"tuple"},{internalType:"bytes32",name:"_guid",type:"bytes32"},{internalType:"bytes",name:"_message",type:"bytes"}],name:"clearInboundNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"_eid",type:"uint32"},{internalType:"uint16",name:"_msgType",type:"uint16"},{internalType:"bytes",name:"_extraOptions",type:"bytes"}],name:"combineOptions",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimalConversionRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"endpoint",outputs:[{internalType:"contract ILayerZeroEndpointV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"eid",type:"uint32"},{internalType:"uint16",name:"msgType",type:"uint16"}],name:"enforcedOptions",outputs:[{internalType:"bytes",name:"enforcedOption",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_lzEndpoint",type:"address"},{internalType:"address",name:"_delegate",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"srcEid",type:"uint32"},{internalType:"bytes32",name:"sender",type:"bytes32"},{internalType:"uint64",name:"nonce",type:"uint64"}],internalType:"struct Origin",name:"",type:"tuple"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"address",name:"_sender",type:"address"}],name:"isComposeMsgSender",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_eid",type:"uint32"},{internalType:"bytes32",name:"_peer",type:"bytes32"}],name:"isPeer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"srcEid",type:"uint32"},{internalType:"bytes32",name:"sender",type:"bytes32"},{internalType:"uint64",name:"nonce",type:"uint64"}],internalType:"struct Origin",name:"_origin",type:"tuple"},{internalType:"bytes32",name:"_guid",type:"bytes32"},{internalType:"bytes",name:"_message",type:"bytes"},{internalType:"address",name:"_executor",type:"address"},{internalType:"bytes",name:"_extraData",type:"bytes"}],name:"lzReceive",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{components:[{internalType:"uint32",name:"srcEid",type:"uint32"},{internalType:"bytes32",name:"sender",type:"bytes32"},{internalType:"uint64",name:"nonce",type:"uint64"}],internalType:"struct Origin",name:"origin",type:"tuple"},{internalType:"uint32",name:"dstEid",type:"uint32"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes32",name:"guid",type:"bytes32"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"address",name:"executor",type:"address"},{internalType:"bytes",name:"message",type:"bytes"},{internalType:"bytes",name:"extraData",type:"bytes"}],internalType:"struct InboundPacket[]",name:"_packets",type:"tuple[]"}],name:"lzReceiveAndRevert",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"srcEid",type:"uint32"},{internalType:"bytes32",name:"sender",type:"bytes32"},{internalType:"uint64",name:"nonce",type:"uint64"}],internalType:"struct Origin",name:"_origin",type:"tuple"},{internalType:"bytes32",name:"_guid",type:"bytes32"},{internalType:"bytes",name:"_message",type:"bytes"},{internalType:"address",name:"_executor",type:"address"},{internalType:"bytes",name:"_extraData",type:"bytes"}],name:"lzReceiveSimulate",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint32",name:"",type:"uint32"},{internalType:"bytes32",name:"",type:"bytes32"}],name:"maxReceivedNonce",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"msgInspector",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_srcEid",type:"uint32"},{internalType:"bytes32",name:"_sender",type:"bytes32"}],name:"nextNonce",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_srcEid",type:"uint32"},{internalType:"bytes32",name:"_sender",type:"bytes32"},{internalType:"uint64",name:"_nonce",type:"uint64"},{internalType:"bytes32",name:"_payloadHash",type:"bytes32"}],name:"nilifyInboundNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"oApp",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"oAppVersion",outputs:[{internalType:"uint64",name:"senderVersion",type:"uint64"},{internalType:"uint64",name:"receiverVersion",type:"uint64"}],stateMutability:"pure",type:"function"},{inputs:[],name:"oftVersion",outputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"},{internalType:"uint64",name:"version",type:"uint64"}],stateMutability:"pure",type:"function"},{inputs:[],name:"orderedNonce",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"eid",type:"uint32"}],name:"peers",outputs:[{internalType:"bytes32",name:"peer",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"preCrime",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"dstEid",type:"uint32"},{internalType:"bytes32",name:"to",type:"bytes32"},{internalType:"uint256",name:"amountLD",type:"uint256"},{internalType:"uint256",name:"minAmountLD",type:"uint256"},{internalType:"bytes",name:"extraOptions",type:"bytes"},{internalType:"bytes",name:"composeMsg",type:"bytes"},{internalType:"bytes",name:"oftCmd",type:"bytes"}
vendor: 9,676 bytes, line 1
1],internalType:"struct SendParam",name:"_sendParam",type:"tuple"}],name:"quoteOFT",outputs:[{components:[{internalType:"uint256",name:"minAmountLD",type:"uint256"},{internalType:"uint256",name:"maxAmountLD",type:"uint256"}],internalType:"struct OFTLimit",name:"oftLimit",type:"tuple"},{components:[{internalType:"int256",name:"feeAmountLD",type:"int256"},{internalType:"string",name:"description",type:"string"}],internalType:"struct OFTFeeDetail[]",name:"oftFeeDetails",type:"tuple[]"},{components:[{internalType:"uint256",name:"amountSentLD",type:"uint256"},{internalType:"uint256",name:"amountReceivedLD",type:"uint256"}],internalType:"struct OFTReceipt",name:"oftReceipt",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"dstEid",type:"uint32"},{internalType:"bytes32",name:"to",type:"bytes32"},{internalType:"uint256",name:"amountLD",type:"uint256"},{internalType:"uint256",name:"minAmountLD",type:"uint256"},{internalType:"bytes",name:"extraOptions",type:"bytes"},{internalType:"bytes",name:"composeMsg",type:"bytes"},{internalType:"bytes",name:"oftCmd",type:"bytes"}],internalType:"struct SendParam",name:"_sendParam",type:"tuple"},{internalType:"bool",name:"_payInLzToken",type:"bool"}],name:"quoteSend",outputs:[{components:[{internalType:"uint256",name:"nativeFee",type:"uint256"},{internalType:"uint256",name:"lzTokenFee",type:"uint256"}],internalType:"struct MessagingFee",name:"msgFee",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"dstEid",type:"uint32"},{internalType:"bytes32",name:"to",type:"bytes32"},{internalType:"uint256",name:"amountLD",type:"uint256"},{internalType:"uint256",name:"minAmountLD",type:"uint256"},{internalType:"bytes",name:"extraOptions",type:"bytes"},{internalType:"bytes",name:"composeMsg",type:"bytes"},{internalType:"bytes",name:"oftCmd",type:"bytes"}],internalType:"struct SendParam",name:"_sendParam",type:"tuple"},{components:[{internalType:"uint256",name:"nativeFee",type:"uint256"},{internalType:"uint256",name:"lzTokenFee",type:"uint256"}],internalType:"struct MessagingFee",name:"_fee",type:"tuple"},{internalType:"address",name:"_refundAddress",type:"address"}],name:"send",outputs:[{components:[{internalType:"bytes32",name:"guid",type:"bytes32"},{internalType:"uint64",name:"nonce",type:"uint64"},{components:[{internalType:"uint256",name:"nativeFee",type:"uint256"},{internalType:"uint256",name:"lzTokenFee",type:"uint256"}],internalType:"struct MessagingFee",name:"fee",type:"tuple"}],internalType:"struct MessagingReceipt",name:"msgReceipt",type:"tuple"},{components:[{internalType:"uint256",name:"amountSentLD",type:"uint256"},{internalType:"uint256",name:"amountReceivedLD",type:"uint256"}],internalType:"struct OFTReceipt",name:"oftReceipt",type:"tuple"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_delegate",type:"address"}],name:"setDelegate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"eid",type:"uint32"},{internalType:"uint16",name:"msgType",type:"uint16"},{internalType:"bytes",name:"options",type:"bytes"}],internalType:"struct EnforcedOptionParam[]",name:"_enforcedOptions",type:"tuple[]"}],name:"setEnforcedOptions",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_msgInspector",type:"address"}],name:"setMsgInspector",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_orderedNonce",type:"bool"}],name:"setOrderedNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"_eid",type:"uint32"},{internalType:"bytes32",name:"_peer",type:"bytes32"}],name:"setPeer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_preCrime",type:"address"}],name:"setPreCrime",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"sharedDecimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_srcEid",type:"uint32"},{internalType:"bytes32",name:"_sender",type:"bytes32"},{internalType:"uint64",name:"_nonce",type:"uint64"}],name:"skipInboundNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"}],an=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"receive",stateMutability:"payable"},{type:"function",name:"DEFAULT_ADMIN_ROLE",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"UPGRADE_INTERFACE_VERSION",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"_msgPayload",inputs:[],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"view"},{type:"function",name:"_msgReceipt",inputs:[],outputs:[{name:"guid",type:"bytes32",internalType:"bytes32"},{name:"nonce",type:"uint64",internalType:"uint64"},{name:"fee",type:"tuple",internalType:"struct MessagingFee",components:[{name:"nativeFee",type:"uint256",internalType:"uint256"},{name:"lzTokenFee",type:"uint256",internalType:"uint256"}]}],stateMutability:"view"},{type:"function",name:"_oftReceipt",inputs:[],outputs:[{name:"amountSentLD",type:"uint256",internalType:"uint256"},{name:"amountReceivedLD",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"_options",inputs:[],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"view"},{type:"function",name:"chainId2Eid",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint32",internalType:"uint32"}],stateMutability:"view"},{type:"function",name:"chainedEventId",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"claimReward",inputs:[{name:"distributionId",type:"uint32",internalType:"uint32"},{name:"cumulativeAmount",type:"uint256",internalType:"uint256"},{name:"merkleProof",type:"bytes32[]",internalType:"bytes32[]"}],outputs:[],stateMutability:"payable"},{type:"function",name:"defaultOftGas",inputs:[],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{type:"function",name:"eid2ChainId",inputs:[{name:"",type:"uint32",internalType:"uint32"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getLzSendReceipt",inputs:[],outputs:[{name:"",type:"tuple",internalType:"struct MessagingReceipt",components:[{name:"guid",type:"bytes32",internalType:"bytes32"},{name:"nonce",type:"uint64",internalType:"uint64"},{name:"fee",type:"tuple",internalType:"struct MessagingFee",components:[{name:"nativeFee",type:"uint256",internalType:"uint256"},{name:"lzTokenFee",type:"uint256",internalType:"uint256"}]}]},{name:"",type:"tuple",internalType:"struct OFTReceipt",components:[{name:"amountSentLD",type:"uint256",internalType:"uint256"},{name:"amountReceivedLD",type:"uint256",internalType:"uint256"}]},{name:"",type:"bytes",internalType:"bytes"},{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"view"},{type:"function",name:"getRoleAdmin",inputs:[{name:"role",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"grantRole",inputs:[{name:"role",type:"bytes32",internalType:"bytes32"},{name:"account",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"hasRole",inputs:[{name:"role",type:"bytes32",internalType:"bytes32"},{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"initialize",inputs:[{name:"_oft",type:"address",internalType:"address"},{name:"_usdc",type:"address",internalType:"address"},{name:"_owner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"ledgerAddr",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"ledgerChainId",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"}
1,{type:"function",name:"lzCompose",inputs:[{name:"from",type:"address",internalType:"address"},{name:"",type:"bytes32",internalType:"bytes32"},{name:"_message",type:"bytes",internalType:"bytes"},{name:"",type:"address",internalType:"address"},{name:"",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"lzEndpoint",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"myChainId",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"orderTokenOft",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"pause",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"paused",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"payloadType2BackwardFee",inputs:[{name:"",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"payloadType2DstGas",inputs:[{name:"",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{type:"function",name:"proxiableUUID",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"quoteClaimReward",inputs:[{name:"distributionId",type:"uint32",internalType:"uint32"},{name:"user",type:"address",internalType:"address"},{name:"cumulativeAmount",type:"uint256",internalType:"uint256"},{name:"merkleProof",type:"bytes32[]",internalType:"bytes32[]"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"quoteSendUserRequest",inputs:[{name:"amount",type:"uint256",internalType:"uint256"},{name:"user",type:"address",internalType:"address"},{name:"payloadType",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"quoteStakeOrder",inputs:[{name:"amount",type:"uint256",internalType:"uint256"},{name:"sender",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"renounceRole",inputs:[{name:"role",type:"bytes32",internalType:"bytes32"},{name:"callerConfirmation",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"revokeRole",inputs:[{name:"role",type:"bytes32",internalType:"bytes32"},{name:"account",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"sendUserRequest",inputs:[{name:"amount",type:"uint256",internalType:"uint256"},{name:"payloadType",type:"uint8",internalType:"uint8"}],outputs:[],stateMutability:"payable"},{type:"function",name:"setChainId2Eid",inputs:[{name:"chainId",type:"uint256",internalType:"uint256"},{name:"eid",type:"uint32",internalType:"uint32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setDefaultOftGas",inputs:[{name:"_defaultOftGas",type:"uint128",internalType:"uint128"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setLedgerInfo",inputs:[{name:"_ledgerChainId",type:"uint256",internalType:"uint256"},{name:"_ledgerAddr",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setLzEndpoint",inputs:[{name:"_lzEndpoint",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setMyChainId",inputs:[{name:"_myChainId",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setOrderTokenOft",inputs:[{name:"_orderTokenOft",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setPayloadType2BackwardFee",inputs:[{name:"payloadType",type:"uint8",internalType:"uint8"},{name:"backwardFee",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setPayloadType2DstGas",inputs:[{name:"payloadType",type:"uint8",internalType:"uint8"},{name:"dstGas",type:"uint128",internalType:"uint128"}],outputs:[],stateMutability:"nonpayable"}
1,{type:"function",name:"stakeOrder",inputs:[{name:"amount",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"payable"},{type:"function",name:"supportsInterface",inputs:[{name:"interfaceId",type:"bytes4",internalType:"bytes4"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"unpause",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"upgradeToAndCall",inputs:[{name:"newImplementation",type:"address",internalType:"address"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"usdcAddr",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"event",name:"ClaimRewardTokenTransferred",inputs:[{name:"user",type:"address",indexed:!0,internalType:"address"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"ClaimUsdcRevenueTransferred",inputs:[{name:"user",type:"address",indexed:!0,internalType:"address"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"ClaimVestingRequestTransferred",inputs:[{name:"user",type:"address",indexed:!0,internalType:"address"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Initialized",inputs:[{name:"version",type:"uint64",indexed:!1,internalType:"uint64"}],anonymous:!1},{type:"event",name:"Paused",inputs:[{name:"account",type:"address",indexed:!1,internalType:"address"}],anonymous:!1},{type:"event",name:"RoleAdminChanged",inputs:[{name:"role",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"previousAdminRole",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"newAdminRole",type:"bytes32",indexed:!0,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"RoleGranted",inputs:[{name:"role",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"account",type:"address",indexed:!0,internalType:"address"},{name:"sender",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"RoleRevoked",inputs:[{name:"role",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"account",type:"address",indexed:!0,internalType:"address"},{name:"sender",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Unpaused",inputs:[{name:"account",type:"address",indexed:!1,internalType:"address"}],anonymous:!1},{type:"event",name:"Upgraded",inputs:[{name:"implementation",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"WithdrawOrderTokenTransferred",inputs:[{name:"user",type:"address",indexed:!0,internalType:"address"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"error",name:"AccessControlBadConfirmation",inputs:[]},{type:"error",name:"AccessControlUnauthorizedAccount",inputs:[{name:"account",type:"address",internalType:"address"},{name:"neededRole",type:"bytes32",internalType:"bytes32"}]},{type:"error",name:"AddressEmptyCode",inputs:[{name:"target",type:"address",internalType:"address"}]},{type:"error",name:"AddressInsufficientBalance",inputs:[{name:"account",type:"address",internalType:"address"}]},{type:"error",name:"ERC1967InvalidImplementation",inputs:[{name:"implementation",type:"address",internalType:"address"}]},{type:"error",name:"ERC1967NonPayable",inputs:[]},{type:"error",name:"EnforcedPause",inputs:[]},{type:"error",name:"ExpectedPause",inputs:[]},{type:"error",name:"FailedInnerCall",inputs:[]},{type:"error",name:"InvalidInitialization",inputs:[]},{type:"error",name:"InvalidOptionType",inputs:[{name:"optionType",type:"uint16",internalType:"uint16"}]},{type:"error",name:"NotInitializing",inputs:[]},{type:"error",name:"ReentrancyGuardReentrantCall",inputs:[]},{type:"error",name:"SafeCastOverflowedUintDowncast",inputs:[{name:"bits",type:"uint8",internalType:"uint8"},{name:"value",type:"uint256",internalType:"uint256"}]},{type:"error",name:"SafeERC20FailedOperation",inputs:[{name:"token",type:"address",internalType:"address"}]},{type:"error",name:"UUPSUnauthorizedCallContext",inputs:[]},{type:"error",name:"UUPSUnsupportedProxiableUUID",inputs:[{name:"slot",type:"bytes32",internalType:"bytes32"}]}
1],ar=[{inputs:[],name:"AccessControlBadConfirmation",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes32",name:"neededRole",type:"bytes32"}],name:"AccessControlUnauthorizedAccount",type:"error"},{inputs:[{internalType:"address",name:"target",type:"address"}],name:"AddressEmptyCode",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"AddressInsufficientBalance",type:"error"},{inputs:[],name:"AmountIsGreaterThanCollectedValor",type:"error"},{inputs:[],name:"AmountIsZero",type:"error"},{inputs:[],name:"BatchIsNotCreatedYet",type:"error"},{inputs:[],name:"BatchIsNotFinished",type:"error"},{inputs:[],name:"BatchValorToUsdcRateIsNotFixed",type:"error"},{inputs:[],name:"CannotUpdateRoot",type:"error"},{inputs:[{internalType:"uint256",name:"amountEsorderDeposited",type:"uint256"},{internalType:"uint256",name:"amountEsorderRequested",type:"uint256"}],name:"DepositNotEnough",type:"error"},{inputs:[],name:"DistributionAlreadyExists",type:"error"},{inputs:[],name:"DistributionNotFound",type:"error"},{inputs:[{internalType:"address",name:"implementation",type:"address"}],name:"ERC1967InvalidImplementation",type:"error"},{inputs:[],name:"ERC1967NonPayable",type:"error"},{inputs:[],name:"EnforcedPause",type:"error"},{inputs:[],name:"ExpectedPause",type:"error"},{inputs:[],name:"FailedInnerCall",type:"error"},{inputs:[],name:"InvalidInitialization",type:"error"},{inputs:[],name:"InvalidMerkleProof",type:"error"},{inputs:[],name:"NoActiveMerkleRoot",type:"error"},{inputs:[],name:"NoPendingUnstakeRequest",type:"error"},{inputs:[],name:"NotInitializing",type:"error"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"chainId",type:"uint256"}],name:"NothingToClaim",type:"error"},{inputs:[],name:"ProposedMerkleRootIsZero",type:"error"},{inputs:[],name:"RedemptionAmountIsZero",type:"error"},{inputs:[],name:"ReentrancyGuardReentrantCall",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"SafeERC20FailedOperation",type:"error"},{inputs:[{internalType:"enum LedgerToken",name:"token",type:"uint8"}],name:"StakingBalanceInsufficient",type:"error"},{inputs:[],name:"StartTimestampIsInThePast",type:"error"},{inputs:[],name:"ThisMerkleRootIsAlreadyProposed",type:"error"},{inputs:[],name:"TokenIsNotSupportedForDistribution",type:"error"},{inputs:[],name:"TooEarlyUsdcNetFeeRevenueUpdate",type:"error"},{inputs:[],name:"UUPSUnauthorizedCallContext",type:"error"},{inputs:[{internalType:"bytes32",name:"slot",type:"bytes32"}],name:"UUPSUnsupportedProxiableUUID",type:"error"},{inputs:[],name:"UnlockTimeNotPassedYet",type:"error"},{inputs:[],name:"UnsupportedPayloadType",type:"error"},{inputs:[],name:"UnsupportedToken",type:"error"},{inputs:[{internalType:"address",name:"_user",type:"address"},{internalType:"uint256",name:"_requestId",type:"uint256"}],name:"UserDontHaveVestingRequest",type:"error"},{inputs:[],name:"ValorPerSecondExceedsMaxValue",type:"error"},{inputs:[],name:"VestingAmountIsZero",type:"error"},{inputs:[],name:"VestingLinearPeriodIsZero",type:"error"},{inputs:[],name:"VestingLockPeriodIsZero",type:"error"},{inputs:[],name:"VestingLockPeriodNotPassed",type:"error"},{inputs:[],name:"VestingPeriodIsOutOfRange",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint16",name:"batchId",type:"uint16"}],name:"BatchPreparedToClaim",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint16",name:"batchId",type:"uint16"},{indexed:!1,internalType:"uint256",name:"fixedValorToUsdcRate",type:"uint256"}],name:"BatchValorToUsdcRateIsFixed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"timestamp",type:"uint256"},{indexed:!1,internalType:"uint256",name:"usdcNetFeeRevenue",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalUsdcInTreasure",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalValorAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"valorToUsdcRateScaled",type:"uint256"}],name:"DailyUsdcNetFeeRevenueUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"eventId",type:"uint256"},{indexed:!0,internalType:"uint32",name:"distributionId",type:"uint32"},{indexed:!1,internalType:"enum LedgerToken",name:"token",type:"uint8"},{indexed:!1,internalType:"bytes32",name:"merkleRoot",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"startTimestamp",type:"uint256"},{indexed:!1,internalType:"bytes",name:"ipfsCid",type:"bytes"}],name:"DistributionCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"chainedEventId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!0,internalType:"address",name:"staker",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"EsOrderUnstake",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint64",name:"version",type:"uint64"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"staker",type:"address"},{indexed:!1,internalType:"uint256",name:"totalUnstakedAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"unlockTimestamp",type:"uint256"}],name:"OrderUnstakeAmount",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"chainedEventId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!0,internalType:"address",name:"staker",type:"address"},{indexed:!1,internalType:"uint256",name:"pendingOrderAmount",type:"uint256"}],name:"OrderUnstakeCancelled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"chainedEventId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!0,internalType:"address",name:"staker",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"OrderUnstakeRequested",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"chainedEventId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!0,internalType:"address",name:"staker",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"OrderWithdrawn",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"chainedEventId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!0,internalType:"uint32",name:"distributionId",type:"uint32"},{indexed:!1,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"enum LedgerToken",name:"token",type:"uint8"}],name:"RewardsClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"eventId",type:"uint256"},{indexed:!0,internalType:"uint32",name:"distributionId",type:"uint32"},{indexed:!1,internalType:"bytes32",name:"merkleRoot",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"startTimestamp",type:"uint256"},{indexed:!1,internalType:"bytes",name:"ipfsCid",type:"bytes"}],name:"RootProposed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"eventId",type:"uint256"},{indexed:!0,internalType:"uint32",name:"distributionId",type:"uint32"},{indexed:!1,internalType:"bytes32",name:"merkleRoot",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"startTimestamp",type:"uint256"},{indexed:!1,internalType:"bytes",name:"ipfsCid",type:"bytes"}],name:"RootUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"chainedEventId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!0,internalType:"address",name:"staker",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"enum LedgerToken",name:"token",type:"uint8"}],name:"Staked",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"chainEventId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"usdcAmount",type:"uint256"}],name:"UsdcRevenueClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"chainEventId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint16",name:"batchId",type:"uint16"},{indexed:!1,internalType:"uint256",name:"valorAmount",type:"uint256"}],name:"ValorRedeemed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"chainEventId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"requestId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amountEsorderStakedBack",type:"uint256"}],name:"VestingCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"chainEventId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"requestId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amountEsorderBurned",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amountOrderVested",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vestedPeriod",type:"uint256"}],name:"VestingClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"chainEventId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"requestId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amountEsorderRequested",type:"uint256"},{indexed:!1,internalType:"uint256",name:"unlockTimestamp",type:"uint256"}],name:"VestingRequested",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"ROOT_UPDATER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"TREASURE_UPDATER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"UPGRADE_INTERFACE_VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"VALOR_TO_USDC_RATE_PRECISION",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[],name:"accValorPerShareScaled",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"_batchId",type:"uint16"}],name:"batchPreparedToClaim",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"batches",outputs:[{internalType:"bool",name:"claimable",type:"bool"},{internalType:"uint256",name:"redeemedValorAmount",type:"uint256"},{internalType:"uint256",name:"fixedValorToUsdcRateScaled",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"},{internalType:"uint256",name:"_requestId",type:"uint256"}],name:"calculateVestingOrderAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_distributionId",type:"uint32"}],name:"canUpdateRoot",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"collectedValor",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_distributionId",type:"uint32"},{internalType:"enum LedgerToken",name:"_token",type:"uint8"},{internalType:"bytes32",name:"_merkleRoot",type:"bytes32"},{internalType:"uint256",name:"_startTimestamp",type:"uint256"},{internalType:"bytes",name:"_ipfsCid",type:"bytes"}],name:"createDistribution",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_usdcNetFeeRevenue",type:"uint256"}],name:"dailyUsdcNetFeeRevenue",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"_batchId",type:"uint16"}],name:"fixBatchValorToUsdcRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"_batchId",type:"uint16"}],name:"getBatchChainedValorAmount",outputs:[{components:[{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct Revenue.ChainedAmount[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"_batchId",type:"uint16"}],name:"getBatchInfo",outputs:[{internalType:"uint256",name:"batchStartTime",type:"uint256"},{internalType:"uint256",name:"batchEndTime",type:"uint256"},{internalType:"bool",name:"claimable",type:"bool"},{internalType:"uint256",name:"redeemedValorAmount",type:"uint256"},{internalType:"uint256",name:"fixedValorToUsdcRateScaled",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_distributionId",type:"uint32"},{internalType:"address",name:"_user",type:"address"}],name:"getClaimed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBatchId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_distributionId",type:"uint32"}],name:"getDistribution",outputs:[{internalType:"enum LedgerToken",name:"token",type:"uint8"},{internalType:"bytes32",name:"merkleRoot",type:"bytes32"},{internalType:"uint256",name:"startTimestamp",type:"uint256"},{internalType:"bytes",name:"ipfsCid",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"getOrderAvailableToWithdraw",outputs:[{internalType:"uint256",name:"orderAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_distributionId",type:"uint32"}],name:"getProposedRoot",outputs:[{internalType:"bytes32",name:"merkleRoot",type:"bytes32"},{internalType:"uint256",name:"startTimestamp",type:"uint256"},{internalType:"bytes",name:"ipfsCid",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"getStakingInfo",
1outputs:[{internalType:"uint256",name:"orderBalance",type:"uint256"},{internalType:"uint256",name:"esOrderBalance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"_batchId",type:"uint16"}],name:"getUsdcAmountForBatch",outputs:[{components:[{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct Revenue.ChainedAmount[]",name:"chainedUsdcAmount",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"},{internalType:"uint16",name:"_batchId",type:"uint16"},{internalType:"uint256",name:"_chainId",type:"uint256"}],name:"getUserRedeemedValorAmountForBatchAndChain",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"getUserValor",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"getUserVestingRequests",outputs:[{components:[{internalType:"uint256",name:"requestId",type:"uint256"},{internalType:"uint256",name:"esOrderAmount",type:"uint256"},{internalType:"uint256",name:"unlockTimestamp",type:"uint256"}],internalType:"struct Vesting.VestingRequest[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"_distributionId",type:"uint32"}],name:"hasPendingRoot",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_owner",type:"address"},{internalType:"address",name:"_occAdaptor",type:"address"},{internalType:"address",name:"_orderCollector",type:"address"},{internalType:"contract IOFT",name:"_orderTokenOft",type:"address"},{internalType:"uint256",name:"_valorPerSecond",type:"uint256"},{internalType:"uint256",name:"_maximumValorEmission",type:"uint256"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"_distributionId",type:"uint32"}],name:"isDistributionRecordBased",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastUsdcNetFeeRevenueUpdateTimestamp",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastValorUpdateTimestamp",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"srcChainId",type:"uint256"},{internalType:"enum LedgerToken",name:"token",type:"uint8"},{internalType:"uint256",name:"tokenAmount",type:"uint256"},{internalType:"address",name:"sender",type:"address"},{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"bytes",name:"payload",type:"bytes"}],internalType:"struct OCCVaultMessage",name:"message",type:"tuple"}],name:"ledgerRecvFromVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"maximumValorEmission",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"occAdaptor",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"orderCollector",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"orderTokenOft",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_distributionId",type:"uint32"},{internalType:"bytes32",name:"_merkleRoot",type:"bytes32"},{internalType:"uint256",name:"_startTimestamp",type:"uint256"},{internalType:"bytes",name:"_ipfsCid",type:"bytes"}],name:"proposeRoot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"callerConfirmation",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_occAdaptor",type:"address"}],name:"setOccAdaptor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_orderCollector",type:"address"}],name:"setOrderCollector",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IOFT",name:"_orderTokenOft",type:"address"}],name:"setOrderTokenOft",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_valorPerSecond",type:"uint256"}],name:"setValorPerSecond",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"srcChainIdToEventId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"startTimestamp",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalStakedAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalUsdcInTreasure",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalValorAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalValorEmitted",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unstakeLockPeriod",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_distributionId",type:"uint32"}],name:"updateRoot",outputs:[],stateMutability:"nonpayable",type:"function"}
1,{inputs:[],name:"updateValorVars",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"userPendingUnstake",outputs:[{internalType:"uint256",name:"balanceOrder",type:"uint256"},{internalType:"uint256",name:"unlockTimestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"userTotalStakingBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"valorPerSecond",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"valorToUsdcRateScaled",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"vestingLinearPeriod",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"vestingLockPeriod",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],ai=(e=>(e.prod="prod",e.staging="staging",e.qa="qa",e.dev="dev",e))(ai||{}),aa=()=>{let{configStore:e}=(0,r.useContext)(Y),t=e.get("env"),n=e.get("networkId");return"mainnet"===n?"prod":"testnet"===n&&"prod"===t?"staging":null!=t?t:"staging"},al=(e=>(e[e.order=0]="order",e[e.esORder=1]="esORder",e[e.mmOrder=2]="mmOrder",e[e.mmEsOrder=3]="mmEsOrder",e))(al||{}),ao=e=>{let[t,n]=(0,r.useState)(0),{account:i}=ed(),a=i.address,l=aa(),o=(0,r.useCallback)(()=>{var t;let r=(e=>{let t={orderTokenAddress:"",orderTokenAddressOnEthereum:"",orderTokenAbi:at,orderlyContract:"0x1cB262C876AE47A75Ec354D89766593839681C29",orderlyContractABI:ar,contract:"0x13b2d9219e4afb48c085e60a9cfacbc193a61f43",contractABI:an,orderlyChainRpcUrl:"prod"===e?"https://rpc.orderly.network":"https://testnet-rpc.orderly.org"};return"dev"===e&&(t.orderTokenAddress="0xe2eB2df1CA9D90c8501049bAEEEf57f111782903",t.orderTokenAddressOnEthereum="0x4cdE8A33afbb7f0F80841d9AE3Ada59fA1413F38",t.orderlyContract="0x741a48F39683c345Ff37A86791537154869C77D4",t.contract="0x0180107E72FB14a22a776913063b8a4081E9dc94"),"qa"===e&&(t.orderTokenAddress="0x562874e9fcb02Ae6164781EcFb4AeAa169E99B18",t.orderTokenAddressOnEthereum="0x8F7c2c827f0E9248CB5cf81fE732FDa62207F09c",t.orderlyContract="0x871106E5c5f33F6B743990a0b465B61D6cd64714",t.contract="0xB20A18d8A53Ea23A5E8da32465De374f942693D7"),"staging"===e&&(t.orderTokenAddress="0x5f11B4510BC50EfB82Fb55D7839a46e9b621f8C2",t.orderTokenAddressOnEthereum="0x48465104e96AEE47bdD0E40dD40b1DFE1a66e232",t.orderlyContract="0xAFEabBA48Aa0D33267a4ADf92a63C3E1A1284AB5",t.contract="0x912196EB2583A2f0a18FaD632ee5dB65B8C93EEf"),"prod"===e&&(t.orderTokenAddress="0x4E200fE2f3eFb977d5fd9c430A41531FB04d97B8",t.orderTokenAddressOnEthereum="0xABD4C63d2616A5201454168269031355f4764337",t.orderlyContract="0x7819704B69a38fD63Cc768134b8410dc08B987D0",t.contract="0xC8A8Ce0Ab010E499ca57477AC031358febCbbF17"),t})(l);void 0!==a&&(null==(t=i.walletAdapter)||t.callOnChain({public_rpc_url:r.orderlyChainRpcUrl},r.orderlyContract,"getClaimed",[e,a],{abi:r.orderlyContractABI}).catch(e=>{throw e}).then(e=>{n(function(e){return null===e||e===BigInt(0)?e===BigInt(0)?0:void 0:Number(new s.Ww(e.toString()).div(1e18).toFixed(18))}(e))}).catch(e=>{}))},[a,l]);return(0,r.useEffect)(()=>{o()},[l,e,a]),[t,{refresh:o}]},as=(e=>(e.active="Active",e.paused="Paused",e.ended="Ended",e))(as||{}),au=e=>{let{account:t,state:n,isSubAccount:i}=ed(),{keyInfo:a}=e||{},l=function(e){if(void 0===e)return"";let t=new URLSearchParams;for(let[n,r]of Object.entries(e))void 0!==r&&(Array.isArray(r)?r.forEach(e=>{t.append(n,e.toString())}):t.set(n,r.toString()));return t.toString()}(a),{data:o,mutate:s,error:u,isLoading:d}=ep("/v1/client/key_info".concat(l.length>0?"?".concat(l):""),{formatter:e=>null==e?void 0:e.rows}),[p]=en("/v1/client/set_orderly_key_ip_restriction","POST"),[c]=en("/v1/client/remove_orderly_key","POST"),[y]=en("/v1/client/reset_orderly_key_ip_restriction","POST"),m=(0,r.useCallback)((e,t)=>p({orderly_key:e,ip_restriction_list:t}),[]);return[o,{refresh:s,error:u,isLoading:d,generateOrderlyKey:e=>i?null==t?void 0:t.createSubAccountApiKey(365,{tag:"manualCreated",scope:e,subAccountId:n.accountId}):null==t?void 0:t.createApiKey(365,{tag:"manualCreated",scope:e}),setIPRestriction:m,removeOrderlyKey:(0,r.useCallback)(e=>c({orderly_key:e}),[]),resetOrderlyKeyIPRestriction:(e,t)=>y({orderly_key:e,reset_mode:t})}]}
1,ad=class extends Error{constructor(e,t){super("Projected USDC borrow limit exceeded"),this.name="USDCBorrowLimitExceededError",this.projectedBorrow=e,this.borrowLimit=t}},ap=e=>"number"==typeof e&&Number.isFinite(e)?Math.abs(e):5e4,ac=e=>{if(0===e.length)return null;let t=new s.Ww(0),n=new s.Ww(0);for(let r of e){if(!Number.isFinite(r.quantity)||r.quantity<=0||!Number.isFinite(r.referencePrice)||r.referencePrice<=0)return null;t=t.add(r.quantity),n=n.add(new s.Ww(r.quantity).mul(r.referencePrice))}return{orderQuantity:t.toNumber(),orderNotional:n.toNumber(),orders:e.map(e=>({...e}))}},ay={order_price:"",order_quantity:"",trigger_price:"",tp_trigger_price:"",sl_trigger_price:"",total:"",symbol:"",side:o.Mf.BUY,order_type:o.ZN.LIMIT,margin_mode:o.iU.CROSS},am=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{symbolInfo:n,symbolLeverage:i}=t,a=(e=>{if(!e)return;let t={...e};return delete t.symbol,t})(t.initialOrder),[l,s]=(0,r.useState)(()=>({...ay,...a,symbol:e})),u=(0,r.useMemo)(()=>({initOrder:(e,t)=>{var n,r,i;s({...ay,symbol:e,side:null!=(n=null==t?void 0:t.side)?n:o.Mf.BUY,order_type:null!=(r=null==t?void 0:t.order_type)?r:o.ZN.LIMIT,margin_mode:null!=(i=null==t?void 0:t.margin_mode)?i:o.iU.CROSS})},updateOrder:t=>{s(n=>({...n,...t,symbol:e}))},updateOrderByKey:(t,n)=>{s(r=>({...r,[t]:"symbol"===t?e:n,symbol:e}))},resetOrder:e=>{s(e=>({...e,order_price:"",order_quantity:"",trigger_price:"",total:"",tp_trigger_price:"",tp_pnl:"",tp_offset:"",tp_offset_percentage:"",tp_offset_from_mark:"",tp_offset_percentage_from_mark:"",sl_trigger_price:"",sl_pnl:"",sl_offset:"",sl_offset_percentage:"",sl_offset_from_mark:"",sl_offset_percentage_from_mark:""}))},hasTP_SL:()=>void 0!==l.tp_trigger_price||void 0!==l.sl_trigger_price}),[l,e]);(0,r.useEffect)(()=>{u.initOrder(e,a),a&&u.updateOrder({...a,symbol:e})},[e]);let d=(0,r.useCallback)((e,t,n,r,i)=>{let a=eZ(t);return(0,m.A)(_.A,a,eq)([e,t,n,r,i])},[]),p=(0,r.useCallback)(function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!t.symbolInfo)return;let r={...l};if(0===n.length?r=d({...l},"order_price",e,e,t.symbolInfo):n.forEach(n=>{r=d({...r},n,l[n],e,t.symbolInfo)}),ik(r)){let{tp_ROI:t,sl_ROI:n}=eE({values:r,symbolLeverage:i,markPrice:e});t&&(r.tp_ROI=t),n&&(r.sl_ROI=n)}u.updateOrder(r)},[u,d,t.symbolInfo,i,l]),c=(0,r.useCallback)(()=>{},[l]);return{formattedOrder:l,setValue:(e,t,r)=>{let a,s,p,c;if(!n)return void u.updateOrderByKey(e,t);let{markPrice:y}=null!=r?r:{markPrice:0},m=d({...l},e,t,y,n);"order_type"===e&&(t===o.ZN.MARKET||t===o.ZN.STOP_MARKET)&&(m=d(m,"order_price",y,y,n)),("order_quantity"===e||"order_price"===e)&&ik(m)&&(a=e,s=m,p=y,c=n,"order_price"===a?(void 0!==s.tp_pnl&&(s=d(s,"tp_pnl",s.tp_pnl,p,c)),void 0!==s.sl_pnl&&(s=d(s,"sl_pnl",s.sl_pnl,p,c))):(void 0!==s.tp_trigger_price&&(s=d(s,"tp_trigger_price",s.tp_trigger_price,p,c)),void 0!==s.sl_trigger_price&&(s=d(s,"sl_trigger_price",s.sl_trigger_price,p,c))),void 0!==s.tp_offset_from_mark&&""!==s.tp_offset_from_mark&&(s=d(s,"tp_offset_from_mark",s.tp_offset_from_mark,p,c)),void 0!==s.tp_offset_percentage_from_mark&&""!==s.tp_offset_percentage_from_mark&&(s=d(s,"tp_offset_percentage_from_mark",s.tp_offset_percentage_from_mark,p,c)),void 0!==s.sl_offset_from_mark&&""!==s.sl_offset_from_mark&&(s=d(s,"sl_offset_from_mark",s.sl_offset_from_mark,p,c)),void 0!==s.sl_offset_percentage_from_mark&&""!==s.sl_offset_percentage_from_mark&&(s=d(s,"sl_offset_percentage_from_mark",s.sl_offset_percentage_from_mark,p,c)),m=s);let{tp_ROI:_,sl_ROI:f}=eE({values:m,symbolLeverage:i,markPrice:y});return _&&(m.tp_ROI=_),f&&(m.sl_ROI=f),u.updateOrder(m),m},setValues:(e,t)=>{if(!n)return void u.updateOrder(e);let r={...l};return Object.keys(e).forEach(i=>{var a;r=d(r,i,e[i],null!=(a=null==t?void 0:t.markPrice)?a:0,n)}),u.updateOrder(r),r},setValuesRaw:e=>{if(!n)return void u.updateOrder(e);let t={...l,...e};return u.updateOrder(t),t},submit:c,reset:e=>{u.resetOrder(e)},generateOrder:(t,r)=>t.create({...l,symbol:e},{...r,symbol:n}),validate:(e,t,r)=>
1null==t?void 0:t.validate(e,{...r,symbol:n}),onMarkPriceChange:p}},a_=function(e){var t,n,i,a;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new o.JP("Symbol is required");let u=ei(),{track:d}=eo(),p=G("apiBaseUrl"),c=tw(e=>e.fetchData),[y,m]=(0,r.useState)({dirty:{},submitted:!1,validated:!1,errors:null}),_=(0,r.useRef)([[]]),f=(0,r.useRef)(),g=(0,r.useRef)(),v=(0,r.useRef)(),b=nw(),h=(0,r.useRef)({tp:"",sl:""}),T=nu(e=>e.actions),w=tz(),S=e8(),O=n2(),I=null!=(n=null==l||null==(t=l.initialOrder)?void 0:t.margin_mode)?n:o.iU.CROSS,{getSymbolLeverage:M,refresh:P}=nM(),N=M(e,I),{isRwa:R,open:E}=t4(e),x=(0,r.useRef)({});(0,r.useEffect)(()=>{let t=x.current;if(!R||"boolean"!=typeof E){x.current={symbol:e};return}if(t.symbol!==e){x.current={symbol:e,open:E};return}"boolean"==typeof t.open&&t.open!==E&&Promise.resolve(P()).catch(()=>void 0),x.current={symbol:e,open:E}},[R,P,E,e]);let A=w[e](),L=T.getMarkPriceBySymbol(e),{orderMetadata:C}=J(),{formattedOrder:U,setValue:F,setValues:W,setValuesRaw:B,validate:z,generateOrder:V,reset:Z,...K}=am(e,{...l,symbolInfo:A,symbolLeverage:N}),[j,Y]=(0,r.useState)(null),[Q,H]=(0,r.useState)([]),[X,{isMutating:$}]=en((e=>{let t=(null==e?void 0:e.order_type)===o.ZN.STOP_LIMIT||(null==e?void 0:e.order_type)===o.ZN.STOP_MARKET||(null==e?void 0:e.order_type)===o.ZN.TRAILING_STOP||(null==e?void 0:e.order_type)===o.ZN.CLOSE_POSITION||e.algo_type&&e.algo_type===o.yL.BRACKET||iI(e);return e.order_type===o.ZN.SCALED?"/v1/batch-order":t?"/v1/algo/order":"/v1/order"})(U)),ee=e=>{var t;if(!e.order_type||!e.side)return null;let n=(null!=(t=e.margin_mode)?t:I)===o.iU.ISOLATED,r=function(e,t,n){var r,i;if(!e.order_type||!e.side)return null;let a=null!=(r=null==t?void 0:t[0])?r:0,l=null!=(i=null==t?void 0:t[1])?i:0;return k.fq.getOrderReferencePrice({orderType:e.order_type,orderTypeExt:e.order_type_ext,side:e.side,limitPrice:e.order_price?Number(e.order_price):void 0,triggerPrice:e.trigger_price?Number(e.trigger_price):void 0,markPrice:null==n?void 0:n.markPrice,priceRange:null==n?void 0:n.priceRange,pricePrecision:null==n?void 0:n.pricePrecision},a,l)}(e,Q,n?{markPrice:L,priceRange:A.price_range,pricePrecision:A.quote_dp}:void 0),i=Number(e.slippage);if(!n||e.side!==o.Mf.BUY||e.order_type!==o.ZN.MARKET||!r||!Number.isFinite(i)||i<=0||!(Q[0]>0&&Q[1]>0))return r;let a=new s.Ww(Q[0]).add(Q[1]).div(2).mul(new s.Ww(1).add(new s.Ww(i).div(100)));return a.lessThan(r)?a.toNumber():r},et=e=>Q.length<2?null:ee({...U,side:e}),er=et(o.Mf.BUY),ea=et(o.Mf.SELL),el=rI(e,o.Mf.BUY,{reduceOnly:U.reduce_only,marginMode:I,currentOrderReferencePrice:er&&er>0?er:void 0}),es=rI(e,o.Mf.SELL,{reduceOnly:U.reduce_only,marginMode:I,currentOrderReferencePrice:ea&&ea>0?ea:void 0}),eu=U.side===o.Mf.BUY?el:es,ed=null!=(i=l.maxQty)?i:eu,ep=(0,r.useMemo)(()=>{var e,t;return{maxBuy:U.side===o.Mf.BUY&&null!=(e=l.maxQty)?e:el,maxSell:U.side===o.Mf.SELL&&null!=(t=l.maxQty)?t:es}},[U.side,el,es,l.maxQty]),ec=()=>{var e,t,n,r;let i=U.order_type,a=null!=(n=U.order_type_ext)?n:g.current,l=null!=(r=U.level)?r:v.current;if(!iP({order_type:i,order_type_ext:a})||void 0===l)return;g.current=a,v.current=l;let s=+(a!==o.ZN.ASK),u=null==(t=_.current)||null==(e=t[l])?void 0:e[s];u&&ev("order_price",u,{shouldUpdateLastChangedField:!1})};(0,r.useEffect)(()=>{ec()},[U.order_type_ext,U.level]),(0,r.useEffect)(()=>{_.current=[[]],H([])},[e]);let ey=(0,q.YQ)(e=>{var t,n,r,i,a,l,u,d,p,c,y,m,g,v,b,h,T,w,S,O;let I=[[null==(n=e.asks)||null==(t=n[e.asks.length-1])?void 0:t[0],null==(i=e.bids)||null==(r=i[0])?void 0:r[0]],[null==(l=e.asks)||null==(a=l[e.asks.length-2])?void 0:a[0],null==(d=e.bids)||null==(u=d[1])?void 0:u[0]],[null==(c=e.asks)||null==(p=c[e.asks.length-3])?void 0:p[0],null==(m=e.bids)||null==(y=m[2])?void 0:y[0]],[null==(v=e.asks)||null==(g=v[e.asks.length-4])?void 0:g[0],null==(h=e.bids)||null==(b=h[3])?void 0:b[0]],[null==(w=e.asks)||null==(T=w[e.asks.length-5])?void 0:T[0],null==(O=e.bids)||null==(S=O[4])?void 0:S[0]]];_.current=I;let k=I[0]||[];H(e=>e[0]===k[0]&&e[1]===k[1]?e:k);let{order_type:M,order_type_ext:P}=U,N=iP({order_type:M,order_type_ext:P});"total"!==f.current&&N&&ec(),(e=>{let t,n;if(U.order_type!==o.ZN.MARKET||!U.order_quantity)return Y(null);let{order_quantity:r,side:i}=U,a=[],l=new s.Ww(r);n=i===o.Mf.BUY?[...e.asks].reverse():e.bids;for(let e=0;e<n.length;e++){let t=n[e][0],r=n[e][1];
1if(!(isNaN(t)||isNaN(r)))if(l.gt(r))l=l.minus(r),a.push([t,r]);else{a.push([t,l.toNumber()]);break}}a.length>0&&(t=a.reduce((e,t)=>e.plus(new s.Ww(t[0]).mul(t[1])),s.v_).div(r));let u=n[0][0];t&&u&&Y(t.minus(u).abs().div(u).toNumber())})(e)},200);(0,r.useEffect)(()=>(u.on("orderbook:update",ey),()=>{u.off("orderbook:update",ey)}),[]),(0,r.useEffect)(()=>{if(U.symbol===e&&(U.order_type===o.ZN.MARKET||U.order_type===o.ZN.STOP_MARKET)&&L){let e=new Set;f.current&&e.add(f.current),h.current.tp&&e.add(h.current.tp),h.current.sl&&e.add(h.current.sl),K.onMarkPriceChange(L,Array.from(e))}},[L,U.order_type,U.symbol,e]);let em=(0,r.useCallback)(()=>{var t;return{markPrice:T.getMarkPriceBySymbol(e),maxQty:ed,estSlippage:j,askAndBid:(null==(t=_.current)?void 0:t[0])||[]}},[ed,e,j]),ef=e=>{eb(e).then(e=>{Object.keys(e).length>0?m((0,D.jM)(t=>{t.errors=e})):m((0,D.jM)(e=>{e.errors=null}))})},eg=(e,t,n)=>!iO.includes(e)||""===t||null==t||n===o.ZN.LIMIT||n===o.ZN.MARKET,ev=(e,t,n)=>{let{shouldUpdateLastChangedField:r=!0,shouldUpdateDirty:i=!0}=n||{};if(!eg(e,t,U.order_type))return;i&&m((0,D.jM)(t=>{t.dirty[e]=!0}));let a=F(e,t,em());a&&ef(a),r&&(e.startsWith("tp_")?h.current.tp=e:e.startsWith("sl_")&&(h.current.sl=e),f.current=e)};async function eb(e){let t=iS(e);return z(e,t,em())}let eh=e=>new Promise(async(t,n)=>{let r=iS(U),i=await z(U,r,em());e&&(i={...i,...e}),Object.keys(i).length>0&&(m((0,D.jM)(e=>{e.errors=i})),y.validated||m((0,D.jM)(e=>{e.validated=!0})),n(i)),t(V(r,em()))}),{freeCollateral:eT,totalCollateral:ew}=rw(),eS=(0,r.useMemo)(()=>{var t;let n=null!=O?O:[],r=null!=(t=U.margin_mode)?t:I;return Array.isArray(n)?n.find(t=>{var n;return t.symbol===e&&(null!=(n=t.margin_mode)?n:o.iU.CROSS)===r}):void 0},[O,e,U.margin_mode,I]),eO=null!=(a=null==eS?void 0:eS.position_qty)?a:0,[eI]=rc({symbol:e,status:o.Re.INCOMPLETE,size:100}),ek=e_(t=>{var n,r,i,a,l,u,d,p,c,y;let m=null!=(r=null!=(n=t.margin_mode)?n:U.margin_mode)?r:I,_=null!=(i=t.reduce_only)?i:U.reduce_only;if(m!==o.iU.ISOLATED||_)return 0;let f=e4.getState().portfolio;if(!f.holding)return null;let g=(null!=(a=n0.getState().positions.all.rows)?a:[]).find(t=>{var n;return t.symbol===e&&(null!=(n=t.margin_mode)?n:o.iU.CROSS)===m}),v=f.holding.find(e=>"USDC"===e.token);if(!v)return null;let b=(e=>{var t,n,r,i;let{generatedOrder:a,formattedOrder:l,marginMode:s,getReferencePrice:u}=e;if(l.order_type===o.ZN.SCALED)return Array.isArray(a.orders)&&0!==a.orders.length?ac(a.orders.map(e=>{var t;return{quantity:Number(e.order_quantity),referencePrice:null!=(t=u(e))?t:NaN}
1})):null;let d={...l,...a,order_type:l.order_type,order_type_ext:l.order_type_ext,order_price:null!=(n=null!=(t=a.order_price)?t:void 0===a.price?void 0:String(a.price))?n:l.order_price,order_quantity:null!=(i=null!=(r=a.order_quantity)?r:void 0===a.quantity?void 0:String(a.quantity))?i:l.order_quantity,slippage:l.slippage,margin_mode:s},p=u(d),c=Number(d.order_quantity);return Number.isFinite(c)&&!(c<=0)&&p&&Number.isFinite(p)?ac([{quantity:c,referencePrice:p}]):null})({generatedOrder:t,formattedOrder:U,marginMode:m,getReferencePrice:ee});if(!b)return null;let h=Number(T.getMarkPriceBySymbol(e)),w=rS(eI,{symbol:e,fallbackPrice:h>0?h:0,pendingLongQty:null!=(l=null==g?void 0:g.pending_long_qty)?l:0,pendingShortQty:null!=(u=null==g?void 0:g.pending_short_qty)?u:0}),S=null!=N?N:null==g?void 0:g.leverage;return(e=>{let t,{marginMode:n,reduceOnly:r,orderSide:i,orderQuantity:a,orderNotional:l,leverage:u,markPrice:d,positionQty:p=0,pendingLongQty:c=0,pendingShortQty:y=0,pendingOrders:m,newOrderEntries:_,usdcHolding:f,usdcPendingShort:g=0,usdcIsolatedOrderFrozen:v=0,totalUnsettledPnL:b=0}=e;if(n!==o.iU.ISOLATED||r)return 0;let h=[a,l,u,p,c,y,f,g,v,b];if(!i||h.some(e=>!Number.isFinite(e))||a<=0||l<=0||u<=0)return null;let T=i===o.Mf.BUY&&p<0||i===o.Mf.SELL&&p>0;if(void 0!==m)t=m;else{let e=p>0?y:c;if(T&&e>0&&!(Number.isFinite(d)&&d>0))return null;t=[],Number.isFinite(d)&&d>0&&(c>0&&t.push({side:o.Mf.BUY,referencePrice:d,quantity:c}),y>0&&t.push({side:o.Mf.SELL,referencePrice:d,quantity:y}))}let w=void 0!==_&&_.length>0?_:[{quantity:a,referencePrice:l/a}],S=k.ct.additionalIsolatedOrderFrozenByOrders({positionQty:p,newOrders:w.map(e=>({...e,side:i,createdTime:Date.now()})),pendingOrders:t,leverage:u});if(S.lte(0))return 0;let O=new s.Ww(f).add(g).add(b).sub(Math.abs(v)).sub(S).negated();return O.gt(0)?O.toNumber():0})({marginMode:m,reduceOnly:_,orderSide:null!=(d=t.side)?d:U.side,orderQuantity:b.orderQuantity,orderNotional:b.orderNotional,newOrderEntries:b.orders,leverage:Number(S),markPrice:h,positionQty:null!=(p=null==g?void 0:g.position_qty)?p:0,pendingLongQty:null!=(c=null==g?void 0:g.pending_long_qty)?c:0,pendingShortQty:null!=(y=null==g?void 0:g.pending_short_qty)?y:0,pendingOrders:w,usdcHolding:v.holding,usdcPendingShort:v.pending_short,usdcIsolatedOrderFrozen:v.isolated_order_frozen,totalUnsettledPnL:f.unsettledPnL})}),eM=(0,r.useMemo)(()=>{var t,n,r,i;let a=T.getMarkPriceBySymbol(e);if(!a||!S||!A)return null;let l=null!=(r=null==(t=b[e])?void 0:t.sum_unitary_funding)?r:0;return((e,t,n)=>{let{symbolInfo:r}=n,i=iM(e,r,t);if(!i)return null;let{price:a,quantity:l}=i;if(!a||!l)return null;let{symbol:s,imr_factor:u,markPrice:d,totalCollateral:p,futures_taker_fee_rate:c,positions:y,symbolLeverage:m,sumUnitaryFunding:_}=n,f=k.fq.orderFee({qty:l,price:a,futuresTakeFeeRate:Number(c)/1e4}),g=0;if(e.margin_mode===o.iU.CROSS)g=k.fq.estLiqPrice({markPrice:d,baseIMR:r.base_imr,baseMMR:r.base_mmr,totalCollateral:p,positions:null==y?[]:y,IMR_Factor:u,orderFee:f,newOrder:{qty:l,price:a,symbol:s}});else{let e=0,t=0,n=0,i=0,p=null!=m?m:1;if(y){let r=y.find(e=>e.symbol===s&&e.margin_mode===o.iU.ISOLATED);if(r){var v,b,h,T;e=null!=(v=r.margin)?v:0,t=null!=(b=r.cost_position)?b:0,n=null!=(h=r.position_qty)?h:0,i=null!=(T=r.last_sum_unitary_funding)?T:0,p=r.leverage?Number(r.leverage):1}}g=k.fq.estLiqPriceIsolated({isolatedPositionMargin:e,costPosition:t,positionQty:n,sumUnitaryFunding:_,lastSumUnitaryFunding:i,markPrice:d,baseIMR:r.base_imr,baseMMR:r.base_mmr,IMR_Factor:u,leverage:p,newOrder:{symbol:s,qty:l,price:a}})}return g<=0?null:g})(U,_.current[0],{markPrice:a,totalCollateral:ew,futures_taker_fee_rate:S.futures_taker_fee_rate,imr_factor:null!=(i=null==(n=S.imr_factor)?void 0:n[e])?i:0,symbol:e,positions:O,symbolInfo:A,sumUnitaryFunding:l,symbolLeverage:N})},[U,S,O,ew,e,ed,A,b,N]),eP=(0,r.useMemo)(()=>eM?new s.Ww(eM).minus(L).abs().div(L).toNumber():null,[eM,L]),eN=(0,r.useMemo)(()=>{if(!A)return null;let t=Number(U.order_quantity);return 0===t||t>ed?null:((e,t,n)=>{let{totalCollateral:r,positions:i,symbol:a,symbolInfo:l}=n,o=iM(e,l,t);if(!o)return null;let{price:s,quantity:u}=o;return s&&u?k.fq.estLeverage({totalCollateral:r,positions:i,newOrder:{symbol:a,qty:o.quantity,price:o.price}}):null})(U,_.current[0],{totalCollateral:ew,positions:O,symbol:e,symbolInfo:A})},[U,S,O,ew,e,ed,A]),eR=()=>{m((0,D.jM)(e=>{e.errors=null,e.submitted=!1,e.validated=!1,e.dirty={}}))},eE=async e=>{let t=iS(U),n=await z(U,t,em()),{resetOnSuccess:r=!0,usdcBorrowLimit:i}=e||{};if(m((0,D.jM)(e=>{e.submitted=!0,e.validated=!0})),Object.keys(n).length>0)throw m((0,D.jM)(e=>{e.errors=n})),new o.JP("Order validation failed");let a=V(t,em()),l=ap(i);var u=ek(a);if(null!==u&&u>l)throw new ad(u,l);let y=a.order_type===o.ZN.SCALED,_=y?{orders:iN(a.orders,C)}:iN(a,C),f=await X(_);if(f.success||a.order_type!==o.ZN.MARKET&&a.order_type!==o.ZN.STOP_MARKET||c(p),f.success){let e={side:a.side,order_type:a.order_type,tp_sl:ik(U),symbol:a.symbol};if([o.ZN.ASK,o.ZN.BID].includes(a.order_type)&&(e={...e,bbo:!0,bbo_setting:(0,s.sD)({type:a.order_type,side:a.side,level:a.level})}),y){let t=io({skew:a.skew,distribution_type:a.distribution_type,total_orders:a.total_orders});e={...e,order_type:"scaled",distribution_type:a.distribution_type,skew:new s.Ww(t).todp(2).toNumber(),total_orders:a.total_orders}}d(o.wy.placeOrderSuccess,e)}return f.success&&r&&(Z(),eR()),f};return(0,r.useEffect)(()=>{eR()},[U.order_type]),{...K,submit:eE,reset:Z,resetErrors:()=>{m((0,D.jM)(e=>{e.errors=null}))},resetMetaState:eR,formattedOrder:U,maxQty:ed,maxQtys:ep,estLiqPrice:eM,estLiqPriceDistance:eP,currentPosition:eO,estLeverage:eN,estSlippage:j,helper:{validator:eh,validate:eh,getProjectedUSDCBorrow:ek},freeCollateral:eT,setValue:e_(ev),setValues:e_(e=>{if(!Object.keys(e).every(t=>eg(t,e[t],U.order_type)))return;let t=W(e,em());t&&ef(t)}),setValuesRaw:e_(e=>{if(!Object.keys(e).every(t=>eg(t,e[t],U.order_type)))return;let t=B(e);t&&ef(t)}),symbolInfo:A||o.Ml,metaState:y,isMutating:$,markPrice:L,symbolLeverage:N}},af={order_price:"",order_quantity:"",trigger_price:"",tp_trigger_price:"",sl_trigger_price:"",total:"",symbol
1:""};(0,M.vt)()((0,P.D)((e,t)=>({entry:{side:o.Mf.BUY,order_type:o.ZN.LIMIT,...af},estLeverage:null,estLiquidationPrice:null,errors:{},actions:{initOrder:(t,n)=>{e(e=>{var r,i,a;e.entry={...af,symbol:t,side:null!=(r=null==n?void 0:n.side)?r:o.Mf.BUY,order_type:null!=(i=null==n?void 0:n.order_type)?i:o.ZN.LIMIT,margin_mode:null!=(a=null==n?void 0:n.margin_mode)?a:o.iU.CROSS},e.estLeverage=null,e.estLiquidationPrice=null,e.errors={}})},hasTP_SL:()=>{let e=t().entry;return void 0!==e.tp_trigger_price||void 0!==e.sl_trigger_price},updateOrderComputed:t=>{e(e=>{e.estLeverage=t.estLeverage,e.estLiquidationPrice=t.estLiquidationPrice},!1)},updateOrder:t=>{e(e=>{e.entry={...e.entry,...t}},!1)},updateOrderByKey:(t,n)=>{e(e=>{e.entry[t]=n},!1)},restoreOrder:t=>{e(e=>{e.entry=t},!1)},resetOrder:t=>{e(e=>{e.entry.order_price="",e.entry.order_quantity="",e.entry.trigger_price="",e.entry.total="",e.entry.tp_trigger_price="",e.entry.tp_pnl="",e.entry.tp_offset="",e.entry.tp_offset_percentage="",e.entry.sl_trigger_price="",e.entry.sl_pnl="",e.entry.sl_offset="",e.entry.sl_offset_percentage=""},!0)}}})));var ag=(e,t)=>{let{symbol:n}=e,{maxQty:i}=t||{};if(!n)throw new o.JP("Symbol is required");let[a,l]=(0,r.useState)({}),u=nd(n),d=tz(),p=(0,r.useCallback)(()=>({markPrice:u,maxQty:i||0,symbol:d[n]()}),[i,u,d,n]);return{errors:a,markPrice:u,symbolsInfo:d,validate:e_(async()=>new Promise(async(t,n)=>{if((0,s.YJ)(e)){var r;let i=rp({...e,type:null!=(r=e.tpsl_execution_type)?r:e.order_type},{trigger_price:e.trigger_price,price:e.order_price},p());l(i),Object.keys(i).length?n(i):t(e);return}let i=iS(e),a=await (null==i?void 0:i.validate(e,p()));Object.keys(a).length>0?(l(a),n(a)):l({}),t(i.create(e,p()))})),clearErrors:(0,r.useCallback)(()=>{l({})},[])}},av=[],ab=[],ah=[],aT=e=>{let{enableDefault:t=!1,customRestrictedIps:n=av,customRestrictedRegions:i=ab,customUnblockRegions:a=ah,content:l}=e||{},[o,s]=(0,r.useState)(""),[u,d]=(0,r.useState)([]),[p,c]=(0,r.useState)(!1),[y,m]=(0,r.useState)(!1),[_,f]=ew("orderly_access_restricted",void 0),{data:g}=H("/v1/ip_info",{revalidateOnFocus:!1}),{data:v}=H("/v1/restricted_areas",{revalidateOnFocus:!1});return(0,r.useEffect)(()=>{if(v&&g)try{let{invalid_web_country:e,invalid_web_city:r}=v,l=null==e?void 0:e.toLowerCase().replace(/\s+/g,"").split(","),o=null==r?void 0:r.toLowerCase().replace(/\s+/g,"").split(","),u=[...null==i?void 0:i.map(e=>aw(e)),...t?[...l,...o]:[]].filter(e=>!!e),p=[t?e:"",t?r:"",null==i?void 0:i.join(", ")].filter(e=>!!e),{city:y,region:f,ip:b}=g,h=aw(y),T=aw(f),w=h&&u.includes(h)||T&&u.includes(T)||b&&n.includes(b),S=!1;if(w)for(let e of a)aw(e)===aw(f)&&(S=!0);let O=S?w&&!1!==_:w;s(b),d(p),c(!!O),m(S)}catch(e){}},[g,v,_,t]),{ip:o,invalidRegions:u,restrictedOpen:p,content:l,canUnblock:y,accessRestricted:_,setAccessRestricted:f}};function aw(e){return null==e?void 0:e.replace(/\s+/g,"").toLowerCase()}var aS=e=>{let{position:t,order:n}=e,{type:i,quantity:a,price:l}=n,s=t.symbol,[u,d]=(0,r.useState)(null),p=tz(),{data:c}=ny(),y=(0,r.useRef)(c),{orderMetadata:m}=J();(0,r.useEffect)(()=>{y.current=c},[c]);let[_,{isMutating:f}]=rm("/v1/order","POST",{accountId:t.account_id}),g=t.position_qty>0?o.Mf.SELL:o.Mf.BUY,v=(0,r.useMemo)(()=>{let e={order_quantity:a,symbol:s,order_type:i,side:g,reduce_only:!0,margin_mode:t.margin_mode||o.iU.CROSS};return i===o.ZN.LIMIT&&(e.order_price=l),e},[s,l,i,a,t.margin_mode]),b=(0,r.useMemo)(()=>{if(!t)return 0;let e=t.position_qty;if(e>0)if(g===o.Mf.BUY)return 0;else return Math.abs(e);return e<0&&g===o.Mf.BUY?Math.abs(e):0},[t,g]),h=(0,r.useCallback)(async e=>{let t=iS(e);return await t.validate(e,{symbol:p[s](),maxQty:b,markPrice:y.current[s]})},[b,s,p]);return(0,r.useEffect)(()=>{h(v).then(e=>{d(e)})},[h,v]),{submit:(0,r.useCallback)(async()=>{let e=await h(v);if(Object.keys(e).length>0)throw e;return _(iN(v,m)).then(e=>{if(e.success)return e;throw e}).catch(e=>{throw e})},[h,_,v,m]),isMutating:f,side:g,closeOrderData:v,errors:u,calculate:ej}},aO={SL_PRICE_WARNING:10001,SL_PRICE_ERROR:10002};
1function aI(e,t,n){return n===o.Mf.BUY?e.minus(t).div(t):t.minus(e).div(t)}function ak(e,t){return e.gt(t)?null:e.gt(0)&&e.lte(t)?{sl_trigger_price:{type:aO.SL_PRICE_WARNING,message:"Stop losses set near the liq. price may not trigger. Note: the liq. price can change with position notional."}}:{sl_trigger_price:{type:aO.SL_PRICE_ERROR,message:"Stop loss crosses the liq. price. Please adjust your SL."}}}var aM=e=>{let{warning_threshold:t=.01,slPrice:n,liqPrice:i,side:a,markPrice:l,currentPosition:u,orderQuantity:d}=e,p=(0,r.useRef)(null),c=(0,r.useMemo)(()=>{var e,r;let p,c;if(void 0===n||void 0===i||void 0===a||null===i||null!=l&&Number.isFinite(l)&&l>0&&(a===o.Mf.BUY&&i>l||a===o.Mf.SELL&&i<l)||"number"==typeof i&&(!Number.isFinite(i)||i<=0))return null;try{p=new s.Ww(n),c=new s.Ww(i)}catch(e){return null}let y=p.toNumber(),m=c.toNumber();return Number.isNaN(y)||Number.isNaN(m)||!Number.isFinite(y)||!Number.isFinite(m)||c.isZero()||p.isZero()?null:void 0!==u&&void 0!==d&&d>0?function(e,n,r,i){if(!a||!(void 0!==r&&void 0!==i&&i>0))return null;let l=a===o.Mf.SELL?-(i||0):i||0,u=null!=r?r:0,d=new s.Ww(u).plus(l).toNumber(),p=new s.Ww(Math.abs(d)).lt(Math.abs(u)),c=(r>0?o.Mf.BUY:o.Mf.SELL)===a;
1return p&&c?null:d>0&&e.lte(n)||d<0&&e.gte(n)?{sl_trigger_price:{type:aO.SL_PRICE_ERROR,message:"Stop loss crosses the liq. price. Please adjust your SL."}}:ak(aI(e,n,a),t)}(p,c,u,d):(e=p,r=c,a?ak(aI(e,r,a),t):null)},[n,i,a,l,t,u,d]);return((e,t)=>{if(e===t)return!0;if(null===e||null===t)return!1;let n=e.sl_trigger_price,r=t.sl_trigger_price;return n===r||void 0!==n&&void 0!==r&&n.type===r.type&&n.message===r.message})(p.current,c)?p.current:(p.current=c,c)},aP=(e,t)=>{var n;let[i]=n9(e),a=null==i||null==(n=i.rows)?void 0:n.find(n=>n.symbol===e&&n.margin_mode===t);return(0,r.useMemo)(()=>{var e;return null!=(e=null==a?void 0:a.est_liq_price)?e:void 0},[a])},aN=e=>{let{estLiqPrice:t,symbol:n,side:i}=e,{data:a}=np(n);return(0,r.useMemo)(()=>!t||!a||i===o.Mf.BUY&&t>a||i===o.Mf.SELL&&t<a?null:t,[t,a,i])},aR=e=>{let{data:t,isLoading:n}=H("/v1/public/feature_flags",{}),i=(0,r.useMemo)(()=>{if(t&&!n)return t.find(t=>t.key===e)},[t,n,e]),a=(0,r.useMemo)(()=>void 0!==i,[i]),{data:l,isLoading:o}=ep(a?"/v1/feature_flags":null,{}),s=(0,r.useMemo)(()=>{if(a&&l&&!o)return l.find(t=>t.key===e)},[a,l,o,e]);return(0,r.useMemo)(()=>n||a&&o?{enabled:!1,data:void 0}:void 0===i?{enabled:!0,data:void 0}:void 0===s?{enabled:!1,data:void 0}:{enabled:!0,data:s},[i,s,n,a,o,e])},aE=(e=>(e.IsolatedMargin="isolated-margin",e))(aE||{})}}]);

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.