PageSourceSearch

https://www.dexfinance.com/static/js/3993.1cc52bb3.chunk.js

js dexfinance.com collected 2026-10-06 15:01:54 UTC 119,921 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkdexFinance_full_app=self.webpackChunkdexFinance_full_app||[]).push([[3993],{67194:(e,a,t)=>{t.d(a,{Z:()=>m});var r=t(47313),i=t(46123),n=t.n(i),l=t(61113),s=t(42461),o=t(23306),d=t(88393);const c=(0,t(88934).ZL)()((e=>({wrap:{position:"relative","&:hover":{"& .MuiInput-root:not(.Mui-disabled):not(.Mui-focused)":{border:"2px solid ".concat(e.primary.p2),"& svg path":{stroke:e.primary.p2},"&& .inputLabel":{color:e.primary.p2}},"&& .inputLabel":{color:e.primary.p2}}},searchBox:{"&:hover":{"& .MuiInput-root:not(.Mui-disabled):not(.Mui-focused)":{background:e.secondary.s7,border:"2px solid ".concat(e.primary.p3)},"& svg path":{stroke:e.primary.p2}}},focusLabel:{color:"".concat(e.primary.p3," !important")},disabledLabel:{color:"rgba(255, 255, 255, 0.38)"},errorLabel:{color:"".concat(e.accent.a6," !important")},focusBox:{"& .MuiInput-root":{border:"2px solid ".concat(e.primary.p3)},"& svg path":{stroke:e.primary.p2},"&& .inputLabel":{color:e.primary.p3}},errorBox:{"& .MuiInput-root":{border:"2px solid ".concat(e.accent.a6)},"&& .inputLabel":{color:e.accent.a6}},disabledBox:{"& .MuiInput-root":{border:"2px solid ".concat(e.secondary.s2)},"& .MuiInput-root .MuiInput-input.Mui-disabled":{input:{"& input":{padding:0,color:e.primary.p2,opacity:.38},"&::placeholder":{color:e.primary.p2,opacity:.38}}},"& svg path":{stroke:e.secondary.s2},"&& .inputLabel":{color:"rgba(255, 255, 255, 0.38)"}},inputWrap:{position:"relative"},input:{background:e.background.b1,border:"2px solid ".concat(e.primary.p3),borderRadius:"8px",padding:"16px",width:"100%",height:"56px","& input":{padding:0,opacity:1,color:e.primary.p2,fontSize:16,fontWeight:400,caretColor:e.primary.p3},"& .MuiInput-input.Mui-disabled":{WebkitTextFillColor:e.primary.p2},"& .MuiInput-input":{WebkitTextFillColor:e.primary.p2}},inputOnMax:{paddingRight:"50px"},searchInput:{paddingLeft:"56px"},searchIcon:{display:"flex",alignItems:"center",justifyContent:"flex-end",width:"24px",height:"auto",position:"absolute",top:"50%",transform:"translate(-50%, -50%)",left:"30px",zIndex:1,svg:{display:"flex",width:"24px",height:"auto"}},error:{color:e.accent.a6,position:"absolute",right:"0",bottom:"-18px","& input":{color:e.primary.p2}},labelBox:{position:"absolute",left:"12px",top:"-12px",zIndex:1,color:e.secondary.s3},label:{color:e.secondary.s3,background:e.background.b1,padding:"1px 4px"},buttonMax:{position:"absolute",right:"10px",top:"50%",transform:"translate(0, -50%)",textTransform:"uppercase",backgroundColor:"transparent",border:"none",color:e.primary.p2,cursor:"pointer"},disabledMax:{color:"rgba(255, 255, 255, 0.38)","&:hover":{color:"rgba(255, 255, 255)",opacity:"0.38"}},description:{color:e.secondary.s3,left:"16px",position:"absolute",bottom:"-18px"}})));var p=t(46417);const u=e=>{let{className:a,inputError:t,label:i,onMax:u,placeholder:m,description:x,classNameWrap:h,disabled:b,isSearch:g,isError:y,size:v,value:f,classNameInputWrap:T,...I}=e;const{classes:C}=c(),[E,S]=(0,r.useState)(!1),N=f||"";return(0,p.jsxs)("div",{className:n()(C.wrap,h,{[C.focusBox]:E,[C.errorBox]:t||y,[C.disabledBox]:b,[C.searchBox]:g}),children:[i&&(0,p.jsx)(o.Z,{className:C.labelBox,children:(0,p.jsx)(l.Z,{variant:"caption",className:n()(C.label,{[C.focusLabel]:E,[C.disabledLabel]:b,[C.errorLabel]:t},"inputLabel"),children:i})}),g&&(0,p.jsx)("span",{className:C.searchIcon,children:d.W1}),(0,p.jsxs)("div",{className:n()(C.inputWrap,T),children:[(0,p.jsx)(s.Z,{className:n()(C.input,{[C.inputOnMax]:u,[C.searchInput]:g},a),disableUnderline:!0,disabled:b,placeholder:m,onFocus:()=>S(!0),onBlur:()=>S(!1),value:N,size:v,...I}),u&&(0,p.jsx)("button",{className:n()(C.buttonMax,{[C.disabledMax]:b}),onClick:u,disabled:b,children:(0,p.jsx)(l.Z,{variant:"subtitle1",children:"MAX"})}),t&&(0,p.jsx)(l.Z,{variant:"caption",className:C.error,children:t}),x&&!t&&(0,p.jsx)(l.Z,{variant:"caption",className:C.description,children:x})]})]})},m=(0,r.memo)(u)},91042:(e,a,t)=>{t.d(a,{Z:()=>p});var r=t(47313),i=t(8088),n=t(46123),l=t.n(n),s=t(61113),o=t(88393);const d=(0,t(88934).ZL)()((e=>({modalWrap:{alignItems:"center",display:"flex",justifyContent:"center",position:"fixed",zIndex:1200,top:"0",right:"0",bottom:"0",left:"0"},modalBackdrop:{backgroundColor:"#00000088",position:"absolute",top:"0",right:"0",bottom:"0",left:"0"},container:{boxSizing:"border-box",width:"100%",margin:"0 auto",maxWidth:"584px","@media (max-width: 640px)":{maxWidth:"unset"}},modal:{borderRadius:"16px",position:"relative",boxSizing:"border-box"},card:{background:e.background.b1,borderRadius:"16px",border:"1px solid ".concat(e.primary.p3)},content:{display:"flex",flex:"1",flexDirection:"column",padding:"24px"},title:{display:"flex",justifyContent:"space-between"},button:{position:"absolute",right:"24px",background:"transparent",curs
1or:"pointer",border:"none"}})));var c=t(46417);const p=e=>{let{children:a,onDismiss:t,title:n,classNameWrap:p,classNameContent:u}=e;const{classes:m}=d(),[x,h]=(0,r.useState)(!0),b=()=>{h(!1),t()},g=(0,i.Yz)(x,{from:{opacity:0,transform:"scale(0.8)"},enter:{opacity:1,transform:"scale(1)"}});return(0,c.jsxs)("div",{className:m.modalWrap,children:[(0,c.jsx)("div",{className:m.modalBackdrop,onClick:b}),g(((e,t)=>t&&(0,c.jsx)(i.q.div,{className:l()(m.container,p),style:e,children:(0,c.jsx)("div",{className:m.modal,children:(0,c.jsx)("div",{className:l()(m.card),children:(0,c.jsxs)("div",{className:l()(m.content,u),children:[(0,c.jsxs)("div",{className:l()(m.title),children:[n&&(0,c.jsx)(s.Z,{variant:"h3",children:n}),(0,c.jsx)("button",{className:l()(m.button),onClick:b,children:o.Tw})]}),a]})})})})))]})}},28427:(e,a,t)=>{t.d(a,{Z:()=>m});var r=t(47313),i=t(3319),n=t(69718),l=t(6306),s=t(23306),o=t(61113),d=t(46123),c=t.n(d);const p=(0,t(88934).ZL)()((e=>({wrap:{width:"100%","& .MuiInputBase-root":{borderRadius:"8px !important",color:e.primary.p2,background:"".concat(e.background.b1," !important"),"&:hover":{background:"".concat(e.secondary.s7," !important")}}},select:{width:"100%",boxShadow:"0px 2px 6px 2px rgba(0, 0, 0, 0.15), 0px 1px 2px rgba(0, 0, 0, 0.3)",background:"".concat(e.secondary.s1," !important"),"&:hover":{"&& fieldset":{border:"none"}},"& .MuiSelect-select":{border:"1px solid ".concat(e.primary.p3),borderRadius:"8px !important",padding:"16px",paddingRight:"34px !important",boxSizing:"border-box",height:"56px !important",display:"flex",alignItems:"center"},"&:before":{content:"none"},"&:after":{content:"none"},"& .MuiSelect-icon":{color:e.primary.p2,right:"8px !important"},"& .MuiSelect-icon.Mui-disabled":{color:"rgba(255, 255, 255, 0.38)"},"& .MuiInput-input.Mui-disabled":{WebkitTextFillColor:"rgba(255, 255, 255, 0.38)",border:"1px solid #1F3140"}},label:{color:"#ffffff !important"},menuItem:{color:e.primary.p2,height:"56px"},text:{},icon:{display:"flex",marginRight:"8px"}})));var u=t(46417);const m=e=>{let{className:a,classNameWrap:t,label:d,items:m,disabled:x,showIcons:h,variantText:b,...g}=e;const{classes:y}=p();return(0,u.jsxs)("div",{className:c()(y.wrap,t),children:[d&&(0,u.jsx)(s.Z,{className:y.label,children:d}),(0,u.jsx)(n.Z,{className:c()(y.select,a),IconComponent:l.Z,disabled:x,variant:"standard",...g,children:m.map((e=>(0,u.jsxs)(i.Z,{value:e.value,className:y.menuItem,disabled:e.isDisabled,sx:{"&:hover":{backgroundColor:"#3674A5"}},children:[e.icon&&(0,u.jsx)("span",{className:y.icon,children:(0,r.createElement)(e.icon)}),(0,u.jsx)(o.Z,{variant:null!==b&&void 0!==b?b:"subtitle1",className:y.text,children:e.name})]},e.name)))})]})}},65330:(e,a,t)=>{t.d(a,{Z:()=>o});var r=t(47313),i=t(70024);const n=(0,t(88934).ZL)()((e=>({root:{width:52,height:32,padding:0},switchBase:{padding:0,margin:"5px 6px",transitionDuration:"300ms","&.Mui-checked":{"& .MuiSwitch-thumb":{backgroundColor:"".concat(e.primary.p2," !important")},transform:"translateX(20px) !important","& + .MuiSwitch-track":{backgroundColor:"".concat(e.primary.p3," !important"),opacity:"1 !important",border:0}},"&.Mui-disabled":{"&.Mui-checked":{"& .MuiSwitch-thumb":{backgroundColor:"".concat(e.secondary.s1," !important")},"& + .MuiSwitch-track":{opacity:.8,backgroundColor:"".concat(e.secondary.s2," !important")}},"& + .MuiSwitch-track":{opacity:"1 !important",border:"2px solid ".concat(e.secondary.s2),backgroundColor:e.secondary.s1},"& .MuiSwitch-thumb":{backgroundColor:"".concat(e.secondary.s3," !important")}}},thumb:{boxSizing:"border-box",width:22,height:22,backgroundColor:e.primary.p3},track:{borderRadius:26,backgroundColor:e.background.b1,border:"2px solid ".concat(e.primary.p3),opacity:1,transition:e.transitions.create(["background-color"],{duration:500})}})));var l=t(46417);const s=e=>{let{checked:a,onChange:t,disabled:r,className:s,...o}=e;const{classes:d}=n();return(0,l.jsx)(i.Z,{checked:a,onChange:t,disabled:r,className:s,classes:{root:d.root,switchBase:d.switchBase,thumb:d.thumb,track:d.track},...o})};s.defaultProps={disabled:!1,className:""};const o=(0,r.memo)(s)},41828:(e,a,t)=>{t.d(a,{Z:()=>c});var r=t(47313),i=t(46409),n=t(24952),l=t(27163),s=t(91445),o=t(46417);const d=e=>{let{size:a,className:t,type:s,chainId:d,iconLeft:c,children:p}=e;const{changeChain:u,chainId:m}=(0,l.Z)(),{setChainInStorage:x}=(0,n.A)(),h=(0,r.useCallback)((async()=>{await u(d),x(d)}),[u,x,d]);return(0,o.jsx)(o.Fragment,{children:m===d?(0,o.jsx)(o.Fragment,{children:p}):(0,o.jsx)(i.Z,{size:a,type:s,onClick:h,isFullWidth:!0,className:t,iconLeft:c,children:"Switch"})})};d.defaultProps={size:s.Gt.L,type:s.Dx.PRIMARY,iconLeft:void 0};const c=(0,r.memo)(d)},4807:(e,a,t)=>{t.d(a,{Z:()=>c});var r=t(47313),i=t(46123),n=t.n(i),l=t(85337);const s=(0,t(88934).ZL)()((e=>
1({image:{borderRadius:"100%",border:"2px solid ".concat(e.primary.p2)}})));var o=t(46417);const d=e=>{let{symbol:a,className:t,size:i=100}=e;const{classes:d}=s(),c=(0,r.useMemo)((()=>(0,l.$)(a)),[a]);return(0,o.jsx)("img",{src:c,alt:"".concat(a," Logo"),height:i,className:n()(d.image,t)})},c=(0,r.memo)(d)},33993:(e,a,t)=>{t.r(a),t.d(a,{default:()=>ei});var r=t(47313),i=t(24813),n=t(46123),l=t.n(n),s=t(27163),o=t(2135),d=t(61113),c=t(94157);const p=e=>{let{socketUri:a,socketPath:t}=e;const[i,n]=(0,r.useState)(null),[l,s]=(0,r.useState)(!0),[o,d]=(0,r.useState)(null);return(0,r.useEffect)((()=>{let e=null;const r=e=>{s(!1),d(e)};return s(!0),d(null),e=(0,c.ZP)(a,{path:t,transports:["websocket"]}),e.on("connect",(()=>{s(!1)})),e.on("connect_error",(e=>{r(e.message)})),n(e),s(!1),()=>{e&&e.disconnect()}}),[]),{socket:i,error:o,isLoading:l}};var u=t(50956),m=t(93635),x=t(26294);let h=function(e){return e.TRADING_VARIABLES="trading-variables",e.L1_BLOCK="l1-block",e.L2_BLOCK="l2-block",e.REGISTER_USER="subscribe-user-trading",e.USER_TRADING_VARIABLES="user-trading-variables",e.USER_TRADING_NOTIFICATION="user-trading-notification",e}({}),b=function(e){return e.TRADE_HISTORY_NEW="trade-history-new",e}({}),g=function(e){return e.PRICE="u-pr",e}({});var y=t(88934);const v=(0,y.ZL)()((()=>({loaderWrap:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",display:"flex",gap:"8px",justifyContent:"center",flexDirection:"column",alignItems:"center"}})));var f=t(46417);const T=(0,r.createContext)({price:0,prices:{}}),I=e=>{let{children:a}=e;const{classes:t}=v(),[i,n]=(0,r.useState)({}),[l,s]=(0,r.useState)(0),[c]=(0,o.lr)(),{socket:h}=p({socketUri:x.W8,socketPath:x.gI}),b=e=>{const a=c.get(m.Bg);if(e&&(null===e||void 0===e?void 0:e.length)>1)for(let t=0;t<e.length;t+=2)n((a=>({...a,[e[t]]:e[t+1]}))),Number(e[t])===Number(a)&&s(e[t+1])};return(0,r.useEffect)((()=>{if(h)return h.on(g.PRICE,b),()=>{h.off(g.PRICE,b)}}),[h,c]),(0,r.useEffect)((()=>{const e=c.get(m.Bg);s(i[Number(e)])}),[c]),(0,f.jsx)(T.Provider,{value:{price:l,prices:i},children:Object.keys(i).length&&l?a:(0,f.jsxs)("div",{className:t.loaderWrap,children:[(0,f.jsx)(u.Z,{width:48,height:48}),(0,f.jsx)(d.Z,{variant:"body1",children:"Loading data, please wait"})]})})},C=(0,r.createContext)(null),E=e=>{let{children:a}=e;const{socket:t}=p({socketUri:x.Ik,socketPath:x.gI});return(0,f.jsx)(C.Provider,{value:t,children:a})},S=()=>(0,r.useContext)(C),N=(0,r.createContext)(null),j=e=>{let{children:a}=e;const t=(0,i.Z)("(max-width:640px)"),{classes:n}=v(),[l,s]=(0,o.lr)(),c=S(),[p,x]=(0,r.useState)(),b=e=>{x(e)},g=(0,r.useMemo)((()=>{if(!p)return;const e=l.get(m.Bg);return!!p.pairs[e]}),[p,l]);return(0,r.useEffect)((()=>{if(c)return c.on(h.TRADING_VARIABLES,b),()=>{c.off(h.TRADING_VARIABLES,b)}}),[c]),(0,r.useEffect)((()=>{l.get(m.Bg)&&g||!p||(l.set(m.Bg,"0"),s(l))}),[l.get(m.Bg),p]),(0,f.jsx)(N.Provider,{value:p,children:p&&g?a:(0,f.jsxs)("div",{className:n.loaderWrap,children:[(0,f.jsx)(u.Z,{width:48,height:48}),(0,f.jsx)(d.Z,{variant:t?"body2":"body1",children:"Loading data, please wait"})]})})},P=()=>(0,r.useContext)(N);var M=t(97116),O=t(63530),k=t(54817),w=t(42385),R=t(81675);const L=(0,r.createContext)({}),Z=e=>{let{children:a}=e;const{account:t}=(0,s.Z)(),i=P(),[n,l]=(0,o.lr)(),d=(0,r.useCallback)((e=>i.pairs[e].pair.name),[i.pairs]),c=(0,r.useCallback)((e=>i.pairs.find((a=>a.pair.name===e)).index),[i.pairs]),p=(0,r.useCallback)((e=>{const a=i.pairs[e].openInterest;return{long:(0,M.pF)((0,M.Md)(a.long,O.rD.decimals),1),max:(0,M.pF)((0,M.Md)(a.max,O.rD.decimals),0),short:(0,M.pF)((0,M.Md)(a.short,O.rD.decimals),1)}}),[i.pairs]),u=(0,r.useCallback)((e=>{const a=i.pairs[e].params;return(0,M.Md)(k.vC).times((0,M.Md)(a.rolloverFeePerBlockP,R.B9)).toFixed(4)}),[i.pairs]),x=(0,r.useCallback)((e=>{const{vaultMarketCap:a,borrowingFees:t}=i,r=t.pairs[e],n=r.groups[0].groupIndex,l=t.groups[Number(n)],s=i.pairs[e].openInterest,o=(0,M.I8)(l.oiLong,8),d=(0,M.I8)(l.oiShort,8);let c,p,u,m;return(0,M.Md)(s.long).gt(s.short)?(p=(0,M.Md)(0),c=(0,M.aQ)((0,M.Md)(s.long).minus(s.short).times(r.feePerBlock).times(k.vC).div(a),R.B9)):(c=(0,M.Md)(0),p=(0,M.aQ)((0,M.Md)(s.short).minus(s.long).times(r.feePerBlock).times(k.vC).div(a),R.B9)),o.gt(d)?(m=(0,M.Md)(0),u=(0,M.aQ)(o.minus(d).times(l.feePerBlock).times(k.vC).div(a),R.B9)):(u=(0,M.Md)(0),m=(0,M.aQ)(d.minus(o).times(l.feePerBlock).times(k.vC).div(a),R.B9)),{long:{pair:c,group:u},short:{pair:p,group:m}}}),[i]),h=(0,r.useMemo)((()=>{const e=n.get(m.Bg),a=i.pairs[Number(e)],t=(0,M.Md)(a.fee.minLevPosStable,O.rD.decimals),r=t.div(a.maxLeverage);return{minPositionSize:t.toFixed(0),maxCollateral:(0,M.Md)(i.maxPosStable,O.rD.decimals).toFixed(0),minCollateral:r.toFixed(0),minLeverage:a.minLeverage,maxLeverage:a.maxLeverage,spread:(0,M.Md)(a.pair.spreadP,R.B9).toNumber(),fee:a.fee}}),[i.pairs,i.maxPosStable,n.get(m.Bg)]),b=(0,r.useMemo)((()=>i.openTrades.filter((e=>(0,w.E1)(e.trade.trader,t)))),[i.openTrades,t]),g=(0,r.useMemo)((()=>i.openTrades.filter((e=>(0,w.E1)(e.trade.trader,t))).length),[i.openTrades,t]),y=(0,r.useMemo)((()=>i.openLimitOrders.filter((e=>(0,w.E1)(e.trader,t)))),[i.openLimitOrders,t]),v=(0,r.useMemo)((()=>i.openLimitOrders.filter((e=>(0,w.E1)(e.trader,t))).length),[i.openLimitOrders,t]);return(0,f.jsx)(L.Provider,{value:{pairs:i.pairs,getPairNameByIndex:d,getPairIndexByName:c,getOpenInterestByIndex:p,getBorrowingFees:x,currentPairOrderInfo:h,getRolloverFee:u,openTrades:b,openTradesCount:g,openLimitOrders:y,openLimitOrdersCount:v},children:a})};var D=t(65070),F=t(46409),A=t(51015),W=t(64396),B=t(65954);let _=function(e){return e.OpenMarketExecuted="OpenMarketExecuted",e.CloseMarketExecuted="CloseMarketExecuted",e.MarketCloseCanceled="MarketCloseCanceled",e.MarketOpenCanceled="MarketOpenCanceled",e.TpUpdated="TpUpdated",e.OpenLimitExecuted="OpenLimitExecuted",e.CloseLimitExecuted="CloseLimitExecuted",e.SlUpdatedOrCancel="SlUpdatedOrCancel",e.OpenLimitPlacedOrUpdated="OpenLimitPlacedOrUpdated",e.OpenLimitCanceled="OpenLimitCanceled",e.MarketOrderInitiated="MarketOrderInitiated",e}({}),V=function(e){return e.LONG="LONG",e.SHORT="SHORT",e}({});const K={[V.LONG]:"Long",[V.SHORT]:"Short"},H=[{title:"Long",value:V.LONG},{title:"Short",value:V.SHORT}],G=[{title:"Trades",value:R.KU.TRADES},{title:"Orders",value:R.KU.ORDERS},{title:"History",value:R.KU.HISTORY}];let U=function(e){return e.MARKET="market",e.LIMIT="limit",e.STOP="stop",e}({});const z={[U.MARKET]:"Market",[U.LIMIT]:"Limit",[U.STOP]:"Stop"},Y={[U.MARKET]:0,[U.LIMIT]:1,[U.STOP]:2},X=[{value:U.MARKET,label:z[U.MARKET]},{value:U.LIMIT,label:z[U.LIMIT]},{value:U.STOP,label:z[U.STOP]}],Q=U.MARKET;let q=function(e){return e[e.NONE=0]="NONE",e[e.FIVE=1]="FIVE",e[e.TEN=2]="TEN",e[e.TWENTY=3]="TWENTY",e[e.TWENTY_FIVE=4]="TWENTY_FIVE",e[e.FIFTY=5]="FIFTY",e[e.SEVENTY_FIVE=6]="SEVENTY_FIVE",e[e.PRICE=7]="PRICE",e}({});const $={[q.FIVE]:.05,[q.TEN]:.1,[q.TWENTY]:.2,[q.TWENTY_FIVE]:.25,[q.FIFTY]:.5,[q.SEVENTY_FIVE]:.75},J=[{label:"None",value:q.NONE},{label:"-5%",value:q.FIVE},{label:"-10%",value:q.TEN},{label:"-20%",value:q.TWENTY}];let ee=function(e){return e[e.TWENTY_FIVE=0]="TWENTY_FIVE",e[e.FIFTY=1]="FIFTY",e[e.HUNDRED=2]="HUNDRED",e[e.THREE_HUNDRED=3]="THREE_HUNDRED",e[e.NINE_HUNDRED=4]="NINE_HUNDRED",e[e.PRICE=5]="PRICE",e}({});const ae={[ee.TWENTY_FIVE]:.25,[ee.FIFTY]:.5,[ee.HUNDRED]:1,[ee.THREE_HUNDRED]:3,[ee.NINE_HUNDRED]:9},te=[{label:"50%",value:ee.FIFTY,disabled:!1},{label:"100%",value:ee.HUNDRED,disabled:!1},{label:"300%",value:ee.THREE_HUNDRED,disabled:!1},{label:"900%",value:ee.NINE_HUNDRED,disabled:!1}],re=[{value:2,label:"2"},{value:10,label:"10"},{value:20,label:"20"},{value:30,label:"30"},{value:40,label:"40"},{value:50,label:"50"}],ie=[{dataKey:"type",label:"Type",align:"left",width:80},{dataKey:"pair",label:"Pair",align:"left",width:100},{dataKey:"lev",label:"Lev",align:"left",width:75},{dataKey:"col",label:"Coll",align:"left",width:110},{dataKey:"openPrice",label:"Open Price",align:"left",width:100},{dataKey:"price",label:"Price",align:"left",width:100},{dataKey:"takeProfit_liqSL",label:"SL/TP",align:"left",width:100,icon:(0,f.jsx)(B.Z,{})},{dataKey:"netPNL",label:"Net PnL",align:"center",width:100}],ne=[{dataKey:"type",label:"Type",align:"left",width:75},{dataKey:"pair",label:"Pair",align:"left",width:90},{dataKey:"lev",label:"Lev",align:"left",width:75},{dataKey:"col",label:"Coll",align:"left",width:100},{dataKey:"askPrice",label:"Ask Price",align:"left",width:110},{dataKey:"fulFillPrice",label:"Fulfill Price",align:"left",width:110},{dataKey:"takeProfit_liqSL",label:"SL/TP",align:"left",width:100}],le=[{dataKey:"date",label:"Time",align:"left",width:85},{dataKey:"pair",label:"Pair",align:"left",width:65},{dataKey:"coll",label:"Coll",align:"left",width:70},{dataKey:"lev",label:"Lev",align:"left",width:60},{dataKey:"typeOpen",label:"Type (open)",align:"left",width:95},{dataKey:"priceOpen",label:"Price (open)",align:"left",width:100},{dataKey:"typeClose",label:"Type (close)",align:"left",width:100},{dataKey:"priceClose",label:"Price (close)",align:"left",width:100},{dataKey:"pnl",label:"PnL",align:"left",width:50},{dataKey:"fee",label:"Fee",align:"left",width:60},{dataKey:"tradeNet",label:"Trade Net",align:"left",width:90}],se=[{dataKey:"pair",label:"Pair",align:"left",width:80},{dataKey:"collWithPnl",label:"Coll",align:"center",width:40},{dataKey:"price",label:"Price",align:"right",width:70}],oe={[_.OpenMarketExecuted]:"Market",[_.CloseMarketExecuted]:"Market Close",[_.MarketCloseCanceled]:"Market close canceled",[_.MarketOpenCanceled]:"Market open canceled",[_.OpenLimitExecuted]:"",[_.CloseLimitExecuted]:"",[_.SlUpdatedOrCancel]:"",[_.OpenLimitPlacedOrUpdated]:"",[_.OpenLimitCanceled]:"",[_.MarketOrderInitiated]:"",[_.TpUpdated]:""},de=[_.OpenMarketExecuted,_.CloseMarketExecuted,_.OpenLimitExecuted,_.CloseLimitExecuted],ce=[_.OpenMarketExecuted,_.CloseMarketExecuted,_.MarketCloseCanceled,_.MarketOpenCanceled];let pe=function(e){return e[e.CLOSE=0]="CLOSE",e[e.OPEN=1]="OPEN",e}({});const ue=()=>{const[e,a]=(0,r.useState)(!1),{library:t,account:i,chainId:n}=(0,s.Z)(),l=(0,A.Z)(),{addToast:o}=(0,D.e1)();return{loading:e,closeMarketTimeout:(0,r.useCallback)((async(e,r)=>{a(!0);const s=(0,W.jg)(t,n);try{const a=await(0,W.kN)(s,r===pe.OPEN?"openTradeMarketTimeout":"closeTradeMarketTimeout",[e],{from:i},t,n);l("Order closed",{appearance:"success",chainId:n,hash:a.transactionHash})}catch(d){o("Denied Transaction",{appearance:"error"})}finally{a(!1)}}),[t,i,n])}};var me=t(91445),xe=t(90955);const he=(0,y.ZL)()((e=>({container:{width:"290px",position:"absolute",right:16,top:16},popup:{zIndex:1e7,border:"1px solid ".concat(e.primary.p3),backgroundColor:e.secondary.s1,position:"relative",padding:"20px",borderRadius:"10px",overflow:"hidden",marginBottom:"10px",minWidth:"290px","@media (max-width: 768px)":{minWidth:"290px"},fontFamily:xe.rk,fontSize:"14px",display:"flex",alignItems:"center",justifyContent:"space-between"}}))),be=e=>{let{stuckId:a,pendingOrderType:t,updateStuckIds:i}=e;const{classes:n}=he(),{loading:l,closeMarketTimeout:s}
1=ue(),o=(0,r.useCallback)((async()=>{await s(a,t),i()}),[a,t]);return(0,f.jsxs)("div",{className:n.popup,children:["Close Market Timeout (#",a,")",(0,f.jsx)(F.Z,{type:me.Dx.DEFAULT,size:me.Gt.S,onClick:o,disabled:l,children:"Close"})]})},ge=e=>{let{stuckIds:a,updateStuckIds:t}=e;const{classes:r}=he();return(0,f.jsx)("div",{className:r.container,children:Object.keys(a).map((e=>(0,f.jsx)(be,{stuckId:Number(e),pendingOrderType:a[e],updateStuckIds:t},e)))})},ye=()=>(0,r.useContext)(L);var ve=t(8462),fe=t(15372),Te=t.n(fe);const Ie=e=>{const{libraryByChainId:a,chainId:t}=(0,s.Z)(),[i,n]=(0,r.useState)(null),l=(0,r.useRef)(null),o=(0,r.useRef)(),d=(0,r.useCallback)((()=>{clearTimeout(o.current),l.current=null,o.current=void 0,n(null)}),[i,l,o]),c=(0,r.useCallback)((async e=>{const r=new(Te())(a(k.m5).provider),i=new ve.MultiCall(r,k.mH[t]),l=(0,W.b_)(a(k.m5),t),s=e.map((e=>({address:l.methods.reqID_pendingMarketOrder(e)}))),[o]=await i.all([s]),d=e.reduce(((e,a)=>({...e,[a]:"0"!==o[0].address.wantedPrice?pe.OPEN:pe.CLOSE})),{});n(d)}),[t]);return(0,r.useEffect)((()=>((async()=>{e&&(l.current||o.current||t!==k.m5||(l.current=e.pendingMarketOrdersIds,o.current=setTimeout((async()=>{const a=l.current.filter((a=>e.pendingMarketOrdersIds.includes(a)));a.length&&await c(a)}),6e4)))})(),()=>clearTimeout(o.current))),[e,i,l,o]),{stuckIds:i,updateStuckIds:d}},Ce=(0,r.createContext)({pendingMarketCloseCount:[],pendingMarketOpenCount:[],pendingMarketOrders:[],pendingMarketOrdersIds:[]}),Ee=e=>{let{children:a}=e;const{account:t}=(0,s.Z)(),i=S(),{addToast:n}=(0,D.e1)(),{getPairNameByIndex:l}=ye(),[o,c]=(0,r.useState)(),{stuckIds:p,updateStuckIds:u}=Ie(o),m=e=>{c(e)},x=e=>{const a=l(Number(e.data.pairIndex));if(ce.includes(e.action))if(de.includes(e.action)){const t=e.data.buy?V.LONG:V.SHORT;n((()=>(0,f.jsxs)("div",{children:[(0,f.jsxs)(d.Z,{variant:"body2",fontWeight:600,color:e=>t?e.palette.success.main:e.palette.error.main,children:[oe[e.action],"\xa0",e.action===_.OpenMarketExecuted&&K[t]]}),(0,f.jsxs)(d.Z,{variant:"body2",children:[a," @",e.data.price]})]}))(),{appearance:"success"})}else{n((()=>(0,f.jsxs)("div",{children:[(0,f.jsx)(d.Z,{variant:"body2",fontWeight:600,children:oe[e.action]}),(0,f.jsx)(d.Z,{variant:"body2",children:a})]}))(),{appearance:"success"})}};return(0,r.useEffect)((()=>{if(i&&t)return i.emit(h.REGISTER_USER,{address:t}),i.on(h.USER_TRADING_VARIABLES,m),i.on(h.USER_TRADING_NOTIFICATION,x),()=>{i.off(h.USER_TRADING_VARIABLES,m),i.off(h.USER_TRADING_NOTIFICATION,x)}}),[i,t]),(0,f.jsxs)(Ce.Provider,{value:o,children:[p&&(0,f.jsx)(ge,{stuckIds:p,updateStuckIds:u}),a]})};var Se=t(38504),Ne=t.n(Se),je=t(24124),Pe=t(92122),Me=t(11149),Oe=t(56595);const ke=(0,Me.UV)(x.ZH),we=(0,Me.UV)(x.W8);var Re=t(83483);const Le=()=>(0,r.useContext)(Re.O),Ze=(0,r.createContext)([]),De=e=>{let{children:a}=e;const{data:t}=(0,Pe.ZP)(x.q,ke),[i]=(0,o.lr)(),{recentTradesAllPairs:n,recentTradesAllCloses:l}=Le(),s=(0,r.useMemo)((()=>{if(!t)return;const e=i.get(m.Bg);let a=Ne()(t);return n||(a=a.filter((a=>a.pairIndex===Number(e)))),l||(a=a.filter((e=>0===Number(e.pnl)))),a}),[t,n,l]);return(0,f.jsx)(Ze.Provider,{value:s,children:a})},Fe=(0,r.createContext)([]),Ae=e=>{let{children:a}=e;const{data:t}=(0,Pe.ZP)(x.l_,we);return(0,f.jsx)(Fe.Provider,{value:t,children:a})},We=(0,r.createContext)(null),Be=e=>{let{children:a}=e;const{socket:t}=p({socketUri:x.ZH,socketPath:x.gI});return(0,f.jsx)(We.Provider,{value:t,children:a})},_e=()=>(0,r.useContext)(We),Ve=(0,r.createContext)([]);let Ke=null;const He=e=>{let{children:a}=e;const t=_e(),{account:i}=(0,s.Z)(),[n,l]=(0,r.useState)(!0),{data:o,mutate:d,setSize:c}=(p=i,(0,je.ZP)((e=>"".concat(x.yX).concat(p,"?skip=").concat(e*Oe.HE,"&limit=").concat(Oe.HE)),ke,{revalidateFirstPage:!1}));var p;const u=async e=>{(0,w.E1)(i,e.address)&&(await d(),l(!0))};return Ke={handleGetMore:async()=>{if(o&&n){o[o.length-1].length<Oe.HE?l(!1):(await c((e=>e+1)),l(!0))}}},(0,r.useEffect)((()=>{if(t)return t.on(b.TRADE_HISTORY_NEW,u),()=>{t.off(b.TRADE_HISTORY_NEW,u)}}),[t]),(0,f.jsx)(Ve.Provider,{value:null===o||void 0===o?void 0:o.flat(),children:a})},Ge=e=>{let{children:a}=e;return(0,f.jsx)(E,{children:(0,f.jsx)(Be,{children:(0,f.jsx)(j,{children:(0,f.jsx)(Z,{children:(0,f.jsx)(Ee,{children:(0,f.jsx)(He,{children:(0,f.jsx)(De,{children:(0,f.jsx)(I,{children:(0,f.jsx)(Ae,{children:a})})})})})})})})})};var Ue=t(18572),ze=t(57829),Ye=t(56401),Xe=t(86331);const Qe=(0,y.ZL)()((()=>({box:{position:"relative",overflow:"hidden"}
1,wrap:{display:"grid",gridTemplateColumns:"72px 119px 119px 96px 96px 57px",columnGap:"16px",maxWidth:670,cursor:"grabbing",position:"relative",overflow:"auto",whiteSpace:"nowrap",height:"max-content","&::-webkit-scrollbar":{width:0,height:0},"@media (max-width: 959px)":{maxWidth:"unset",gridTemplateColumns:"1fr 1fr 1fr 1fr 1fr"},"@media (max-width: 640px)":{display:"flex"}},currentPriceStat:{paddingTop:6,display:"flex",flexDirection:"column",height:45,justifyContent:"space-between"}}))),qe=e=>{let{label:a,value:t,color:r,tooltip:n}=e;const{classes:l}=Qe(),s=(0,i.Z)("(max-width:959px)");return(0,f.jsx)(Xe.Z,{placement:"bottom",title:n,children:(0,f.jsxs)(ze.Z,{className:l.currentPriceStat,children:[(0,f.jsx)(d.Z,{variant:"caption",color:e=>e.secondary.s3,children:a}),(0,f.jsx)(d.Z,{variant:"caption",align:s?"left":"right",color:r,children:t})]})})},$e=(0,r.memo)(qe),Je=()=>(0,r.useContext)(T),ea=()=>(0,r.useContext)(Fe),aa=(0,y.ZL)()((()=>({currentPriceWrap:{paddingTop:4,display:"flex",flexDirection:"column",height:45,alignItems:"flex-end",justifyContent:"space-between",cursor:"pointer"}}))),ta=e=>{let{className:a}=e;const[t,i]=(0,r.useState)(!0),{classes:n}=aa(),{price:s}=Je(),c=ea(),[p]=(0,o.lr)(),u=(0,r.useMemo)((()=>{if(!c||!s)return"-";const e=p.get(m.Bg),a=c[e],t=(0,M.Md)(s).div(a).minus(1).times(100);return t.isNaN()?"-":(0,M.p1)(t,2)}),[c,s,p.get(m.Bg)]),x=(0,r.useMemo)((()=>{if(!c||!s)return"-";const e=p.get(m.Bg),a=c[e],t=(0,M.Md)(s).minus(a);return t.isNaN()?"-":(0,M.p1)(t,2)}),[c,s,p.get(m.Bg)]),h=(0,r.useMemo)((()=>{if(!c||!s)return;const e=p.get(m.Bg),a=c[e];return(0,M.Md)(s).minus(a).gt(0)}),[c,s,p.get(m.Bg)]),b=(0,r.useMemo)((()=>{const e=p.get(m.Bg);return(0,M.p1)(s,R.Sv[e])}),[s,p]);return(0,f.jsxs)(ze.Z,{role:"button",onClick:()=>{i((e=>!e))},className:l()(n.currentPriceWrap,a),children:[(0,f.jsx)(d.Z,{variant:"h4",children:b}),(0,f.jsx)(d.Z,{variant:"caption",color:e=>h?e.palette.success.main:e.palette.error.main,align:"right",children:t?"".concat(u,"%"):x})]})};ta.defaultProps={className:""};const ra=(0,r.memo)(ta);var ia=t(90891);let na=function(e){return e.LONG="long",e.SHORT="short",e}({});const la=e=>{let{title:a,value:t}=e;return(0,f.jsxs)(ze.Z,{sx:{display:"flex",flexDirection:"column",width:"100%",gap:1},children:[(0,f.jsx)(d.Z,{variant:"caption",children:a}),(0,f.jsx)(d.Z,{variant:"caption",children:t})]})},sa=e=>{let{pairValue:a,groupValue:t,longOrShort:r,link:i}=e;const n=[{title:"Pair",value:a},{title:"Group",value:t}];return(0,f.jsxs)(ze.Z,{sx:{display:"flex",flexDirection:"column",gap:1},children:[(0,f.jsxs)(d.Z,{variant:"caption",children:["Borrowing Fee (",r,") hourly rate, charged per block on the position size."," ",(0,f.jsx)(ia.Z,{href:i,color:e=>e.palette.info.main,underline:"none",children:"Learn More"})]}),(0,f.jsx)(ze.Z,{sx:{display:"flex"},children:n.map(((e,a)=>(0,f.jsx)(la,{title:e.title,value:e.value},a)))}),(0,f.jsx)(d.Z,{variant:"caption",children:"Only the higher fee charged"})]})};sa.defaultProps={pairValue:"0",groupValue:"0",longOrShort:na.SHORT,link:"#"};const oa=(0,r.memo)(sa),da=e=>{let{link:a}=e;return(0,f.jsxs)(ze.Z,{sx:{display:"flex",flexDirection:"column",gap:1},children:[(0,f.jsx)(d.Z,{variant:"caption",children:"Rollover Fee hourly rate, charged per block on the collateral only."}),(0,f.jsx)(ia.Z,{href:a,color:"inherit",underline:"none",children:(0,f.jsx)(d.Z,{variant:"caption",color:e=>e.palette.info.main,children:"Learn More"})})]})};da.defaultProps={link:"#"};const ca=(0,r.memo)(da);let pa=function(e){return e.LONG="long",e.SHORT="short",e}({});const ua=e=>{let{longOrShort:a,pair:t}=e;return(0,f.jsxs)(d.Z,{variant:"caption",children:["Sum of open ",t," ",a," positions."]})};ua.defaultProps={longOrShort:pa.LONG,pair:""};const ma=(0,r.memo)(ua),xa=e=>{let{className:a}=e;const{classes:t}=Qe(),n=(0,i.Z)("(max-width:959px)"),s=(0,r.useRef)(null),{events:d}=(0,Ye.O)(s),[c]=(0,o.lr)(),{getOpenInterestByIndex:p,getPairNameByIndex:u,getRolloverFee:x,getBorrowingFees:h}=ye(),b=(0,r.useMemo)((()=>{const e=c.get(m.Bg),a=p(Number(e)),t=u(Number(e)),r=x(Number(e)),i=h(Number(e));return[{label:"Open Interest (L)",value:"".concat(a.long,"/").concat(a.max," "),info:(0,f.jsx)(ma,{longOrShort:pa.LONG,pair:t})},{label:"Open Interest (S)",value:"".concat(a.short,"/").concat(a.max," "),info:(0,f.jsx)(ma,{longOrShort:pa.SHORT,pair:t})},{label:"Borrowing (L)",value:"".concat((0,M.p1)(i.long.pair,4,0,!0),"%"),color:e=>e.accent.a6,info:(0,f.jsx)(oa,{longOrShort:na.LONG,groupValue:"".concat((0,M.p1)(i.long.group,4,0,!0),"%"),pairValue:"".concat((0,M.p1)(i.long.pair,4,0,!0),"%"),link:"/"})},{label:"Borrowing (S)",value:"".concat((0,M.p1)(i.short.pair,4,0,!0),"%"),color:e=>e.accent.a6,info:(0,f.jsx)(oa,{longOrShort:na.SHORT,groupValue:"".concat((0,M.p1)(i.short.group,4,0,!0),"%"),pairValue:"".concat((0,M.p1)(i.short.pair,4,0,!0),"%"),link:"/"})},{label:"Rollover",value:"".concat(r,"%"),color:e=>e.accent.a6,info:(0,f.jsx)(ca,{link:"/"})}]}),[p,c.get(m.Bg),u,x,h]);return(0,f.jsxs)(ze.Z,{className:l()(t.wrap,a),...d,ref:s,children:[!n&&(0,f.jsx)(ra,{}),b.map((e=>(0,f.jsx)($e,{label:e.label,value:e.value,color:e.color,tooltip:e.info},e.label)))]})},ha=(0,r.memo)(xa);var ba=t(28427);const ga=(0,y.ZL)()((()=>({wrap:{height:"45px",zIndex:4,display:"grid",columnGap:16,gridTemplateColumns:"150px auto",gridTemplateRow:"max-content",gridTemplateAreas:"\n      'favorites favorites'\n      'select info'\n    ",maxWidth:884},topWrap:{gridArea:"favorites"},selectWrap:{gridArea:"select","& .MuiSelect-select":{height:"45px !important"}},infoWrap:{gridArea:"info"}}))),ya=[{name:"USD / PLS",value:"USD / PLS",isDisabled:!0},{name:"USD / HEX",value:"USD / HEX",isDisabled:!0}],va=e=>{var a;let{className:t}=e;const{classes:n}=ga(),s=(0,i.Z)("(max-width:959px)"),[d,c]=(0,o.lr)(),{pairs:p,getPairNameByIndex:u,getPairIndexByName:x}=ye(),[h,b]=(0,r.useState)(u(Number(d.get(m.Bg)))),g=(0,r.useMemo)((()=>null===p||void 0===p?void 0:p.map((e=>({name:e.pair.name,value:e.pair.name})))),[p]),y=(0,r.useMemo)((()=>[...g||[],...ya]),[g]);return(0,f.jsxs)("div",{className:l()(n.wrap,t),children:[(0,f.jsx)(ba.Z,{className:n.selectWrap,value:h,onChange:e=>(e=>{const a=x(e);d.set(m.Bg,a.toString()),c(d),b(e)})(e.target.value),items:y,defaultValue:null===(a=y[0])||void 0===a?void 0:a.value,placeholder:"Asset pair",variantText:"subtitle2"}),s?(0,f.jsx)(ra,{}):(0,f.jsx)(ha,{})]})},fa=(0,r.memo)(va),Ta=["BINANCE:BTCUSDT","BINANCE:ETHUSDT"];let Ia;const Ca=e=>{let{symbol:a,isShowAdvancedMode:t}=e;const i=(0,r.useRef)("technical-analysis-chart-".concat(Math.random().toString(36).slice(2,11))),n=(0,r.useRef)(null);return(0,r.useEffect)((()=>(n.current=function(){if(document.getElementById(i.current)&&"TradingView"in window)return new window.TradingView.widget({container_id:i.current,width:"100%",height:"100%",autosize:!0,symbol:a||"BINANCE:BTCUSDT",interval:"15",timezone:"exchange",theme:"dark",style:"1",toolbar_bg:"#071621",backgroundColor:"#071621",gridColor:"#071621",groupColor:"#071621",withdateranges:!1,hide_side_toolbar:!t,allow_symbol_change:!0,hide_top_toolbar:!t,save_image:!1,studies:[],chartOnly:!0,show_popup_button:!1,popup_width:"1000",popup_height:"650",locale:"en"})},Ia||(Ia=new Promise((e=>{const a=document.createElement("script");a.id="tradingview-widget-loading-script",a.src="https://s3.tradingview.com/tv.js",a.type="text/javascript",a.onload=e,document.head.appendChild(a)}))),Ia.then((()=>n.current&&n.current())),()=>n.current=null)),[a,t]),(0,f.jsx)("div",{className:"tradingview-widget-container",children:(0,f.jsx)("div",{id:i.current})})};Ca.defaultProps={isShowAdvancedMode:!1};const Ea=(0,r.memo)(Ca),Sa=(0,y.ZL)()((e=>({wrap:{backgroundColor:e.background.b1,border:"1px solid ".concat(e.primary.p3),borderRadius:16,padding:"10px",height:365,width:"100%"}}))),Na=e=>{let{className:a,isShowAdvancedMode:t}=e;const{classes:i}=Sa(),[n]=(0,o.lr)(),s=(0,r.useMemo)((()=>n.get(m.Bg)||0),[n]);return(0,f.jsx)("div",{className:l()(i.wrap,a),children:(0,f.jsx)(Ea,{isShowAdvancedMode:t,symbol:Ta[s]})})},ja=(0,r.memo)(Na),Pa=(0,y.ZL)()((e=>({box:{display:"flex"}
1,blockWrap:{borderRadius:"16px 16px 0 0",overflow:"hidden",width:"fit-content","@media (max-width: 640px)":{width:"100%"}},button:{display:"flex",alignItems:"center",justifyContent:"center",padding:"0 6px",transition:"all 250ms ease-in-out",background:e.secondary.s7,color:e.primary.p2,minWidth:"104px",width:"100%","@media (max-width: 640px)":{padding:"0"}},large:{height:48},small:{height:36},activeBtn:{background:"".concat(e.primary.p3," !important"),color:e.primary.p2},tabWrap:{display:"flex"}}))),Ma=e=>{let{currentVault:a,onTab:t,tabs:r,buttonClassName:i,size:n,className:s}=e;const{classes:o}=Pa();return(0,f.jsx)("div",{className:l()(o.box,s),children:(0,f.jsx)("div",{className:l()(o.tabWrap,o.blockWrap),children:r.map((e=>{let{value:r,title:s,counter:c}=e;return(0,f.jsx)("button",{className:l()(o.button,{[o.activeBtn]:a===r,[o[n]]:n},i),onClick:()=>t(r),children:(0,f.jsxs)(d.Z,{variant:"subtitle2",children:[s," ",c&&(0,f.jsxs)("span",{children:[" (",c,")"]})]})},s)}))})})};Ma.defaultProps={size:me.zf.L};const Oa=(0,r.memo)(Ma);var ka=t(75627),wa=t(24537);const Ra=(0,y.ZL)()((e=>({sliderWrap:{color:e.primary.p1,"& .MuiSlider-rail":{height:"4px",borderRadius:"8px",background:e.secondary.s2,padding:"0px"},"& .MuiSlider-thumb":{backgroundColor:e.primary.p3,"&::after":{width:"16px",height:"16px",backgroundColor:e.primary.p3,border:"1px solid ".concat(e.primary.p3)}},"& .MuiSlider-track":{backgroundColor:e.primary.p3,borderColor:e.primary.p3,height:"4px"},"& .MuiSlider-mark":{color:e.primary.p2},"& .MuiSlider-markLabel":{fontSize:"14px",color:e.primary.p2},'& .MuiSlider-markLabel[data-index="0"]':{transform:"translateX(-4%)"},'& .MuiSlider-markLabel[data-index="1"]':{transform:"translateX(-45%)"},'& .MuiSlider-markLabel[$data-index="2"]':{transform:"translateX(-66%)"},'& .MuiSlider-markLabel[data-index="3"]':{transform:"translateX(-84%)"},'& .MuiSlider-markLabel[data-index="4"]':{transform:"translateX(-100%)"},"& .MuiSlider-valueLabel":{lineHeight:1.2,fontSize:12,background:"unset",padding:0,width:32,height:32,borderRadius:"50% 50% 50% 0",backgroundColor:e.primary.p3,transformOrigin:"bottom left",transform:"translate(50%, -100%) rotate(-45deg) scale(0)","&:before":{display:"none"},"&.MuiSlider-valueLabelOpen":{transform:"translate(50%, -100%) rotate(-45deg) scale(1)"},"& > *":{transform:"rotate(45deg)"}}}}))),La=e=>{let{isShowNegativeValue:a,className:t,...r}=e;const{classes:i}=Ra();return(0,f.jsx)(wa.ZP,{valueLabelFormat:e=>"".concat(a?-e:e),className:l()(i.sliderWrap,t),...r})},Za=(0,r.memo)(La);var Da=t(8057),Fa=t(19860),Aa=t(24631),Wa=t(1550),Ba=t(15480),_a=t(41727);const Va=(0,y.ZL)()((e=>({input:{marginBottom:"8px","& .Mui-disabled":{"& .MuiInputAdornment-positionEnd":{p:{opacity:.38,color:e.primary.p2}}}},textField:{"& .MuiOutlinedInput-root":{borderRadius:8,"& .MuiOutlinedInput-notchedOutline":{borderColor:e.primary.p3},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:e.primary.p2},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{border:"2px solid ".concat(e.primary.p3)},"&.Mui-disabled .MuiOutlinedInput-notchedOutline":{color:e.primary.p2,borderColor:e.secondary.s2}},"& .MuiInputBase-input":{color:e.primary.p2},"& .Mui-disabled .MuiInputBase-input":{opacity:.38,color:e.primary.p2,WebkitTextFillColor:e.primary.p2},"& .MuiInputLabel-outlined":{color:e.primary.p2,"&.Mui-disabled":{opacity:.38,color:e.primary.p2}},"& .MuiFormLabel-root":{color:e.primary.p2,"&.Mui-focused":{color:e.primary.p3},"&.Mui-disabled":{opacity:.38,color:e.primary.p2}},"& .MuiInputAdornment-positionStart":{marginRight:0}},uncontrolledInput:{"& .MuiInputBase-input":{opacity:"1 !important"},"& .MuiFormLabel-root":{"&.Mui-disabled":{opacity:1,color:e.primary.p2,backgroundColor:e.background.b1,padding:"2px 8px",borderRadius:8}},"& .Mui-disabled .MuiInputBase-input":{color:e.primary.p2,WebkitTextFillColor:e.primary.p2,fontWeight:600}},formHelperText:{color:e.secondary.s6,position:"absolute",bottom:"-18px"},error:{color:e.palette.error.main,fontSize:12,position:"absolute",bottom:"-16px",right:0,"& input":{color:e.palette.error.main,caretColor:e.palette.error.main}},errorBox:{position:"relative","& .MuiOutlinedInput-root":{"& .MuiOutlinedInput-notchedOutline":{borderColor:e.accent.a6},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{border:"2px s
1olid ".concat(e.accent.a6," !important")}},"&.MuiFormLabel-root .Mui-focused":{color:"".concat(e.accent.a6," !important")}},buttonMax:{position:"absolute",right:"10px",top:"50%",transform:"translate(0, -50%)",textTransform:"uppercase",backgroundColor:"transparent",border:"none",color:e.primary.p2,cursor:"pointer","&:hover":{opacity:"0.7"},"&:active":{opacity:"0.5"}},disabledMax:{color:e.primary.p2,opacity:.38,"&:hover":{color:e.primary.p2,opacity:"0.16"}}}))),Ka=e=>{let{id:a,label:t,helperText:r,value:i,fullWidth:n,onChange:s,disabled:o,placeholder:c,inputError:p,unitStart:u,unitEnd:m,onMax:x,mb:h,classNameTextField:b,classNameFormFieldWrap:g,startAdornmentClass:y,endAdornmentClass:v,classNameButtonMax:T,readonly:I,classNameWrap:C,...E}=e;const{classes:S}=Va(),N=(0,Fa.Z)();return(0,f.jsxs)(Wa.Z,{variant:"standard",style:{marginBottom:h},className:l()(S.input,{[S.errorBox]:p},g,C),children:[(0,f.jsx)(Aa.Z,{variant:"outlined",disabled:o||I,fullWidth:n,label:t,onChange:s,id:a||t,value:i,className:l()(S.textField,{[S.uncontrolledInput]:I,[S.errorBox]:p},b),"aria-describedby":"".concat(a,"-input"),placeholder:c,...E,InputProps:{startAdornment:u&&(0,f.jsx)(_a.Z,{position:"start",className:y,children:(0,f.jsx)(d.Z,{variant:"body2",color:N.primary.p2,children:u})}),endAdornment:m&&(0,f.jsx)(_a.Z,{position:"end",className:v,children:(0,f.jsx)(d.Z,{variant:"body2",color:N.primary.p2,children:m})})}}),x&&(0,f.jsx)("button",{className:l()(S.buttonMax,{[S.disabledMax]:o},T),onClick:x,disabled:o,type:"button",children:(0,f.jsx)(d.Z,{variant:"subtitle2",children:"MAX"})}),r&&(0,f.jsx)(Ba.Z,{id:"".concat(a,"-helper-text"),className:S.formHelperText,children:r}),p&&(0,f.jsx)("div",{className:S.error,children:p})]})};Ka.defaultProps={disabled:!1,fullWidth:!0,classNameWrap:""};const Ha=(0,r.memo)(Ka);var Ga=t(84060),Ua=t(24193);const za=(0,y.ZL)()((e=>({button:{textTransform:"none","&:first-of-type":{borderRadius:8},"&:last-of-type":{borderRadius:8}},box:{height:"40px",boxShadow:"none !important"},smallVariantBox:{height:"24px"},selectedButton:{borderColor:"".concat(e.primary.p3," !important"),color:e.primary.p2,overflow:"hidden",backgroundColor:"".concat(e.primary.p3," !important"),"&:hover":{color:e.primary.p2,borderColor:"".concat(e.secondary.s7," !important"),backgroundColor:"".concat(e.secondary.s2," !important")}},selectedButtonSmall:{borderColor:"".concat(e.primary.p3," !important"),color:e.primary.p2,overflow:"hidden",backgroundColor:"".concat(e.primary.p3," !important"),"&:hover":{color:e.primary.p2,borderColor:"".concat(e.secondary.s7," !important"),backgroundColor:"".concat(e.secondary.s2," !important")},"& span":{fontWeight:700}},notSelectedButton:{borderColor:"".concat(e.primary.p3," !important"),color:e.primary.p2,"&:hover":{backgroundColor:"".concat(e.secondary.s2," !important"),borderColor:"".concat(e.primary.p3," !important")}},notSelectedButtonSmall:{borderColor:"".concat(e.primary.p3," !important"),color:e.primary.p2,"&:hover":{backgroundColor:"".concat(e.secondary.s2," !important"),borderColor:"".concat(e.primary.p3," !important")},"& span":{fontWeight:700}}}))),Ya=e=>{let{buttons:a,selectedValue:t,onButtonClick:r,isSmall:i}=e;const{classes:n}=za();return(0,f.jsx)(Ga.Z,{variant:"contained","aria-label":"outlined primary button group",fullWidth:!0,className:l()(n.box,{[n.smallVariantBox]:i}),children:a.map((e=>{let{value:a,label:s}=e;const o=a===t;return(0,f.jsx)(Ua.Z,{disableTouchRipple:!0,onClick:()=>r(a),variant:o?"contained":"outlined",className:l()(n.button,{[n.selectedButton]:o&&!i,[n.selectedButtonSmall]:o&&i,[n.notSelectedButton]:!o&&!i,[n.notSelectedButtonSmall]:!o&&i}),children:(0,f.jsx)(d.Z,{variant:i?"caption":"subtitle2",children:s})},a)}))})},Xa=(0,r.memo)(Ya);var Qa=t(67194);const qa=(e,a)=>{const t=e.currentTarget.value;(Oe.Yu.test(t)||""===t)&&a(t)},$a=(0,y.ZL)()((e=>({titleInputLabelWrap:{display:"flex",justifyContent:"space-between"},titleWrap:{display:"flex",alignItems:"center",gap:8},stopLossTakeProfitWrap:{display:"flex",flexDirection:"column",gap:8},btn:{display:"flex",alignItems:"center",justifyContent:"center",padding:6,height:26,borderRadius:8,background:e.background.b2,border:"1px solid ".concat(e.secondary.s1),minWidth:"42px","&:hover":{border:"1px solid ".concat(e.primary.p2),"& p":{color:"".concat(e.secondary.s3," !important")}},"& p":{color:e.secondary.s3,fontSize:10,lineHeight:"12px"}}
1,btnActive:{backgroundColor:e.background.b2,border:"1px solid ".concat(e.primary.p3),"& p":{color:"".concat(e.primary.p3," !important")},"&:hover":{border:"1px solid ".concat(e.primary.p2),"& p":{color:"".concat(e.secondary.s3," !important")}}},btnDisabled:{border:"1px solid ".concat(e.secondary.s1),opacity:.4,cursor:"not-allowed","& p":{color:"".concat(e.secondary.s3," !important")}},boxBtn:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",columnGap:"8px","@media (max-width: 959px)":{columnGap:"4px"}},valueWarn:{color:e.accent.a6},valuePositive:{color:e.accent.a1},infoContainer:{display:"flex",flexDirection:"column",gap:8},inputRow:{display:"grid",gridTemplateColumns:"2fr 1fr",columnGap:"8px",width:"100%","@media (max-width: 959px)":{columnGap:"4px"}},input:{},inputTextField:{padding:"6px",height:26,"& input":{fontSize:10,"&::placeholder":{textAlign:"center"}}},activeMarkLabel:{color:"red"}}))),Ja=e=>{let{control:a,controlInputName:t,value:i,value2:n,title:s,activeValuePercent:o,setActiveValuePercent:c,options:p,isTakeProfit:u,setValue:m}=e;const{classes:x}=$a(),h=(0,r.useMemo)((()=>{const e=u?ee.PRICE:q.PRICE;return i===R.dv?"(".concat(i,")"):o===e?"(".concat(i,"%)"):"(".concat((0,M.p1)(i,1),")")}),[i,o]),b=(0,r.useMemo)((()=>n===R.dv?n:"".concat((0,M.p1)(n,1)," ").concat(O.rD.symbol)),[n,o]);return(0,f.jsxs)("div",{className:x.stopLossTakeProfitWrap,children:[(0,f.jsxs)("div",{className:x.titleInputLabelWrap,children:[(0,f.jsxs)("div",{className:x.titleWrap,children:[(0,f.jsx)(d.Z,{variant:"caption",sx:{fontWeight:700},children:s}),(0,f.jsx)(d.Z,{sx:{fontWeight:700},variant:"caption",className:u?x.valuePositive:x.valueWarn,children:h})]}),(0,f.jsx)(d.Z,{sx:{fontWeight:700},variant:"caption",className:u?x.valuePositive:x.valueWarn,children:b})]}),(0,f.jsxs)("div",{className:x.inputRow,children:[(0,f.jsx)("div",{className:x.boxBtn,children:p.map((e=>{let{value:a,label:r,disabled:i}=e;return(0,f.jsx)("button",{type:"button",className:l()(x.btn,{[x.btnActive]:a===o,[x.btnDisabled]:i}),onClick:()=>!i&&(e=>{m(t,""),c(e)})(a),disabled:i,children:(0,f.jsx)(d.Z,{children:r})},a)}))}),(0,f.jsx)("div",{className:x.input,children:(0,f.jsx)(ka.Qr,{control:a,name:t,render:e=>{let{field:{value:a,onChange:t},fieldState:{error:r}}=e;return(0,f.jsx)(Qa.Z,{placeholder:"Price",value:a,onChange:e=>qa(e,t),onClick:()=>{c(u?ee.PRICE:q.PRICE)},className:x.inputTextField,inputError:null===r||void 0===r?void 0:r.message})}})})]})]})};Ja.defaultProps={isTakeProfit:!1};const et=(0,r.memo)(Ja),at="all";let tt=function(e){return e.DEPOSIT="deposit",e.SLIPPAGE="slippage",e.PRICE="price",e.PRICE_STOP_LOSS="priceStopLoss",e.PRICE_TAKE_PROFIT="priceTakeProfit",e.LEVERAGE="leverage",e.RECENT_TRADES="recentTrades",e.ADVANCED_CHART="advancedChart",e.STOP_LOSS="stopLoss",e.TAKE_PROFIT="takeProfit",e.ASK_PRICE="askPrice",e.RECEIVE="receive",e.TOKEN="token",e}({});const rt=(0,y.ZL)()((e=>({titleInputLabelWrap:{display:"grid",gridTemplateColumns:"1fr 1fr",columnGap:"16px"},balanceValue:{color:e.primary.p1},inputMain:{"& .MuiOutlinedInput-root":{height:48,borderRadius:8}},inputMainDisabled:{"& .MuiOutlinedInput-root":{height:48,borderRadius:8,backgroundColor:e.secondary.s2}}}))),it=e=>{let{control:a,setValue:t,isPriceControlled:i}=e;const{classes:n}=rt(),{price:l}=Je();return(0,r.useEffect)((()=>{i&&t(tt.PRICE,l)}),[i]),(0,f.jsxs)("div",{className:n.titleInputLabelWrap,children:[(0,f.jsx)(ka.Qr,{control:a,name:tt.PRICE,render:e=>{let{field:{value:a,onBlur:t,onChange:r},fieldState:{error:s}}=e;return(0,f.jsx)(Ha,{classNameTextField:i?n.inputMain:n.inputMainDisabled,label:"Price",value:i?a:null===l||void 0===l?void 0:l.toFixed(1),fullWidth:!0,onBlur:t,onChange:e=>qa(e,r),inputError:null===s||void 0===s?void 0:s.message,readonly:!i})}}),(0,f.jsx)(ka.Qr,{control:a,name:tt.SLIPPAGE,render:e=>{let{field:{value:a,onBlur:t,onChange:r},fieldState:{error:l}}=e;return(0,f.jsx)(Ha,{classNameTextField:i?n.inputMainDisabled:n.inputMain,label:"Slippage (%)",value:i?0:a,fullWidth:!0,onBlur:t,onChange:e=>{const a=Number(e.currentTarget.value);!isNaN(a)&&a<=100&&r(a)},inputError:null===l||void 0===l?void 0:l.message,readonly:i})}})]})};it.defaultProps={isPriceControlled:!1};const nt=(0,r.memo)(it),lt=e=>{let{link:a}=e;return(0,f.jsx)(ze.Z,{sx:{display:"flex",flexDirection:"column",gap:1},children:(0,f.jsx)(ia.Z,{href:a,color:"inherit",underline:"none",children:(0,f.jsx)(d.Z,{variant:"caption",color:e=>e.palette.info.main,children:"Learn More"})})})};lt.defaultProps={link:"#"};const st=(0,r.memo)(lt),ot=e=>{let{link:a}=e;return(0,f.jsxs)(ze.Z,{sx:{display:"flex",flexDirection:"column",gap:1},children:[(0,f.jsx)(d.Z,{variant:"caption",children:"Estimated hourly borrowing fee charged on your position"}),(0,f.jsx)(ia.Z,{href:a,color:"inherit",underline:"none",children:(0,f.jsx)(d.Z,{variant:"caption",color:e=>e.palette.info.main,children:"Learn More"})})]})};ot.defaultProps={link:"#"};const dt=(0,r.memo)(ot);var ct=t(34459),pt=t(89680);const ut=()=>{const[e,a]=(0,r.useState)(!1),{library:t,chainId:i,account:n}=(0,s.Z)(),l=(0,A.Z)(),{addToast:o}=(0,D.e1)();return{loading:e,openTrade:(0,r.useCallback)((async e=>{let{pairIndex:r,positionSizeStable:s,openPrice:d,buy:c,leverage:p,tp:u,sl:m,orderType:x,slippage:h,orderName:b}=e;a(!0),o("Transacting mining...",{appearance:"success"});const g=(0,W.jg)(t,i),y={trader:n,pairIndex:r,index:"0",positionSizeStable:s,openPrice:d,buy:c,leverage:p,tp:u,sl:m};try{const e=await(0,W.kN)(g,"openTrade",[y,x,h],{from:n},t,i);l("".concat(b," order initiated"),{appearance:"success",chainId:i,hash:e.transactionHash})}catch(v){o("Denied Transaction",{appearance:"error"})}finally{a(!1)}}),[t,i,n,e])}},mt=()=>(0,r.useContext)(Ce),xt=e=>{let{activeStopLoss:a,leverage:t,priceWithSpread:r,orderType:i,slPrice
1:n,limitPrice:l,order:s}=e;const o=s===U.MARKET?r:(0,M.Md)(l||0);if(a===q.NONE)return R.dv;if(a===q.FIVE||a===q.TEN||a===q.TWENTY||a===q.TWENTY_FIVE||a===q.FIFTY||a===q.SEVENTY_FIVE)return i===V.LONG?o.minus(o.times($[a]).div(t)).toFixed(1):o.plus(o.times($[a]).div(t)).toFixed(1);if(a===q.PRICE){if(!n)return R.dv;let e;return e=i===V.LONG?(0,M.Md)(t).times(o.minus(n)).div(o).times(100):(0,M.Md)(t).times((0,M.Md)(n).minus(o)).div(o).times(100),e.lte(-900)?"900":e.gte(100)?"-100":e.times(-1).toFixed(1)}},ht=e=>{let{activeTakeProfit:a,leverage:t,priceWithSpread:r,orderType:i,tpPrice:n,limitPrice:l,order:s}=e;const o=s===U.MARKET?r:(0,M.Md)(l||0);if(a===ee.TWENTY_FIVE||a===ee.FIFTY||a===ee.HUNDRED||a===ee.THREE_HUNDRED||a===ee.NINE_HUNDRED)return i===V.LONG?o.plus(o.times(ae[a]).div(t)).toFixed(1):o.minus(o.times(ae[a]).div(t)).toFixed(1);if(a===ee.PRICE){if(!n||(0,M.Md)(n).isZero())return R.dv;let e;return e=i===V.SHORT?(0,M.Md)(t).times(o.minus(n)).div(o).times(100):(0,M.Md)(t).times((0,M.Md)(n).minus(o)).div(o).times(100),e.gte(900)?"900":e.lte(-100)?"-100":e.toFixed(1)}},bt=e=>{let{priceWithSpread:a,leverage:t,depositValue:r,orderType:i}=e;const n=(0,M.Md)(a).times((0,M.Md)(r).times(90).div(100)).div(r).div(t);return n.isNaN()?"0":i===V.LONG?(0,M.Md)(a).minus(n).toFixed(1):(0,M.Md)(a).plus(n).toFixed(1)},gt=e=>{let{leverage:a,openPrice:t,buy:r,stopLossValue:i,withFullErrorText:n,price:l}=e;const s=xt({activeStopLoss:q.SEVENTY_FIVE,leverage:Number(a),priceWithSpread:t,orderType:r?V.LONG:V.SHORT,slPrice:String(i),order:U.MARKET});return i.isNaN()?n?"Stop Loss Undefined":"STOP LOSS UNDEFINED":i.isZero()?void 0:r&&(0,M.Md)(s).gt(i)||!r&&(0,M.Md)(s).lt(i)?n?r?"Stop loss too big, it must be >= ".concat((0,M.p1)(s,1)):"Stop loss too big, it must be <= ".concat((0,M.p1)(s,1)):"STOP LOSS TOO BIG":r&&i.gte(l)?n?"Stop loss wrong, it must be < ".concat((0,M.p1)(l,1)):"STOP LOSS > PRICE":!r&&i.lte(l)?n?"Stop loss wrong, it must be > ".concat((0,M.p1)(l,1)):"STOP LOSS < PRICE":void 0},yt=e=>{let{leverage:a,openPrice:t,buy:r,takeProfitValue:i,withFullErrorText:n,price:l}=e;const s=ht({activeTakeProfit:ee.NINE_HUNDRED,leverage:Number(a),priceWithSpread:t,orderType:r?V.LONG:V.SHORT,tpPrice:String(i),order:U.MARKET});return i.isNaN()?n?"Take Profit Undefined":"TAKE PROFIT UNDEFINED":i.isZero()?void 0:r&&(0,M.Md)(s).lt(i)||!r&&(0,M.Md)(s).gt(i)?n?r?"Take profit too big, it must be <= ".concat((0,M.p1)(s,1)):"Take profit too big, it must be >= ".concat((0,M.p1)(s,1)):"TAKE PROFIT TOO BIG":r&&i.lte(l)?n?"Wrong take profit value, it must be > ".concat((0,M.p1)(l,2)):"TAKE PROFIT < PRICE":!r&&i.gte(l)?n?"Wrong take profit value, it must be < ".concat((0,M.p1)(l,2)):"TAKE PROFIT > PRICE":void 0};var vt=t(49032);const ft=(0,y.ZL)()((e=>({container:{backgroundColor:e.background.b1,borderRadius:"0px 16px 16px 16px",border:"1px solid ".concat(e.primary.p3),padding:16,width:"100%",display:"flex",flexDirection:"column",justifyContent:"flex-start",gap:16},depositWrap:{display:"flex",flexDirection:"column",gap:16},leverageWrap:{display:"flex",flexDirection:"column",gap:16},leverageSlider:{margin:"0 10px"},priceWrap:{display:"flex",flexDirection:"column",gap:16},titleInputLabelWrap:{display:"flex",justifyContent:"space-between",alignItems:"center"},balanceWrap:{display:"flex",alignItems:"center",gap:8},slider:{"& .MuiSlider-markLabel":{fontSize:12}},infoContainer:{display:"flex",flexDirection:"column",gap:4},infoRow:{display:"flex",justifyContent:"space-between"},inputMain:{"& .MuiOutlinedInput-root":{height:56,fontSize:16,fontWeight:600,borderRadius:8},"& .MuiInputBase-input":{padding:"24px 74px 8px 2px"}},inputLeverage:{padding:"10px 10px",maxWidth:80,height:26,"& input":{fontSize:10,"&::placeholder":{textAlign:"center"}}},collateralInputUnitsWrap:{position:"absolute",right:16,bottom:16},collateralBalanceWrap:{position:"absolute",left:14,top:16,"& p":{color:e.primary.p3,fontWeight:400,fontSize:12}},buttonMaxWrap:{top:"16px !important",right:"16px !important"},iconTooltip:{svg:{width:12,height:12}}}))),Tt=e=>{let{orderType:a,isPerpsEnableChain:t}=e;const{classes:i}=ft(),{account:n,chainId:l}=(0,s.Z)(),[c]=(0,o.lr)(),[p,u]=(0,r.useState)(Q),{currentPairOrderInfo:x,getPairNameByIndex:h,openTradesCount:b,openLimitOrdersCount:g,getBorrowingFees:y}=ye(),{balance:v,updateBalance:T}=(0,ct.Z)(O.rD.address,l),{price:I}=Je(),C=mt(),[E,S]=(0,r.useState)(q.NONE),[N,j]=(0,r.useState)(ee.NINE_HUNDRED),P=(0,r.useCallback)((e=>{u(e)}),[]),{control:k,watch:w,setValue:L,reset:Z}=(0,ka.cI)({mode:at,reValidateMode:"onChange",defaultValues:{[tt.DEPOSIT]:x.minCollateral,[tt.SLIPPAGE]:1,[tt.PRICE]:0,[tt.PRICE_STOP_LOSS]:"",[tt.PRICE_TAKE_PROFIT]:"",[tt.LEVERAGE]:2}}),{loading:D,openTrade:A}=ut(),{isApproved:W,handleApprove:B,approveLoading:_,allowanceLoading:H,updateAllowance:G}=(0,pt.Z)(vt.UE[l],O.rD.address,w(tt.DEPOSIT)||0,O.rD.decimals),ie=(0,r.useCallback)((()=>{L(tt.DEPOSIT,(0,M.Md)(v,O.rD.decimals).toString())}),[v]),ne=(0,r.useMemo)((()=>h(Number(c.get(m.Bg)))),[c.get(m.Bg)]),le=(0,r.useMemo)((()=>{const e=Number(x.spread)/100;return a===V.LONG?1+e:1-e}),[x]),se=(0,r.useMemo)((()=>(0,M.Md)(I).times(le)),[I,a,x,le]),oe=(0,r.useMemo)((()=>xt({activeStopLoss:E,leverage:w(tt.LEVERAGE),priceWithSpread:se,orderType:a,slPrice
1:w(tt.PRICE_STOP_LOSS),limitPrice:w(tt.PRICE),order:p})),[se,E,w(tt.LEVERAGE),a,w(tt.PRICE_STOP_LOSS)]),de=(0,r.useMemo)((()=>(e=>{let{activeStopLoss:a,depositValue:t,stopLossValue:r}=e;return a!==q.NONE&&t&&r!==R.dv?a===q.FIVE||a===q.TEN||a===q.TWENTY||a===q.TWENTY_FIVE||a===q.FIFTY||a===q.SEVENTY_FIVE?(0,M.Md)(t).times($[a]).times(-1).toFixed(1):q.PRICE?(0,M.Md)(t).times(r).div(100).toFixed(1):void 0:R.dv})({activeStopLoss:E,depositValue:w(tt.DEPOSIT),stopLossValue:oe})),[E,a,w(tt.DEPOSIT),oe]),ce=(0,r.useMemo)((()=>ht({activeTakeProfit:N,leverage:w(tt.LEVERAGE),priceWithSpread:se,orderType:a,tpPrice:w(tt.PRICE_TAKE_PROFIT),limitPrice:w(tt.PRICE),order:p})),[se,N,w(tt.LEVERAGE),a,w(tt.PRICE_TAKE_PROFIT),w(tt.PRICE),p]),pe=(0,r.useMemo)((()=>(e=>{let{activeTakeProfit:a,depositValue:t,takeProfitValue:r}=e;return t&&r!==R.dv?a===ee.TWENTY_FIVE||a===ee.FIFTY||a===ee.HUNDRED||a===ee.THREE_HUNDRED||a===ee.NINE_HUNDRED?(0,M.Md)(t).times(ae[a]).toFixed(1):q.PRICE?(0,M.Md)(t).times(r).div(100).toFixed(1):void 0:R.dv})({activeTakeProfit:N,depositValue:w(tt.DEPOSIT),takeProfitValue:ce})),[N,a,w(tt.DEPOSIT),ce]),ue=(0,r.useMemo)((()=>{switch(p){case U.MARKET:return(0,f.jsx)(nt,{control:k,setValue:L});case U.LIMIT:case U.STOP:return(0,f.jsx)(nt,{control:k,setValue:L,isPriceControlled:!0});default:return null}}),[p,k]),me=(0,r.useMemo)((()=>{var e;const t=null!==C&&void 0!==C&&null!==(e=C.pendingMarketOpenCount)&&void 0!==e&&e.length?C.pendingMarketOpenCount[Number(c.get(m.Bg))]:0;return(e=>{let{account:a,activeStopLoss:t,activeTakeProfit:r,slPrice:i,tpPrice:n,leverage:l,depositValue:s,minPositionSize:o,priceWithSpread:d,orderType:c,slippage:p,balance:u,limitPrice:m,price:x,order:h,maxCollateral:b,openTradesCount:g,openLimitOrdersCount:y,pendingMarketOpenCount:v}=e;const f=h===U.MARKET?d:(0,M.Md)(m),T=xt({activeStopLoss:q.SEVENTY_FIVE,leverage:l,priceWithSpread:d,orderType:c,slPrice:i,limitPrice:m,order:h}),I=ht({activeTakeProfit:ee.NINE_HUNDRED,leverage:l,priceWithSpread:d,orderType:c,tpPrice:n,limitPrice:m,order:h});return a?g+y+v>=3?{text:"MAX TRADES REACHED",disable:!0}:(0,M.Md)(l).times(s||0).lt(o)?{text:"POSITION SIZE < ".concat((0,M.p1)(o,0)," ").concat(O.rD.symbol),disable:!0}:(0,M.Md)(u,O.rD.decimals).lt(s)?{text:"NOT ENOUGH ".concat(O.rD.symbol),disable:!0}:(0,M.Md)(s).gt(b)?{text:"COLLATERAL TO BIG",disable:!0}:p?t!==q.PRICE||i?t===q.PRICE&&c===V.LONG&&(0,M.Md)(T).gt(i)||t===q.PRICE&&c===V.SHORT&&(0,M.Md)(T).lt(i)?{text:"STOP LOSS TOO BIG",disable:!0}:t===q.PRICE&&c===V.LONG&&(0,M.Md)(i).gt(f)?{text:"STOP LOSS > PRICE",disable:!0}:t===q.PRICE&&c===V.SHORT&&(0,M.Md)(i).lt(f)?{text:"STOP LOSS < PRICE",disable:!0}:r!==ee.PRICE||n?r===ee.PRICE&&c===V.LONG&&(0,M.Md)(I).lt(n)||r===ee.PRICE&&c===V.SHORT&&(0,M.Md)(I).gt(n)?{text:"TAKE PROFIT TOO BIG",disable:!0}:r===ee.PRICE&&c===V.LONG&&(0,M.Md)(n).lt(f)?{text:"TAKE PROFIT < PRICE",disable:!0}:r===ee.PRICE&&c===V.SHORT&&(0,M.Md)(n).gt(f)?{text:"TAKE PROFIT > PRICE",disable:!0}:h===U.LIMIT&&c===V.LONG&&(0,M.Md)(m).gt(x)||h===U.LIMIT&&c===V.SHORT&&(0,M.Md)(m).lt(x)?{text:"WRONG LIMIT PRICE",disable:!0}:h===U.STOP&&c===V.LONG&&(0,M.Md)(m).lt(x)||h===U.STOP&&c===V.SHORT&&(0,M.Md)(m).gt(x)?{text:"WRONG STOP PRICE",disable:!0}:{text:"ORDER READY",disable:!1}:{text:"TAKE PROFIT UNDEFINED",disable:!0}:{text:"STOP LOSS UNDEFINED",disable:!0}:{text:"SLIPPAGE IS 0%",disable:!0}:{text:"WALLET NOT CONNECTED",disable:!0}})({account:n,activeStopLoss:E,activeTakeProfit:N,priceWithSpread:se,orderType:a,openTradesCount:b,openLimitOrdersCount:g,pendingMarketOpenCount:t,order:p,minPositionSize:
1x.minPositionSize,maxCollateral:x.maxCollateral,slPrice:w(tt.PRICE_STOP_LOSS),tpPrice:w(tt.PRICE_TAKE_PROFIT),leverage:w(tt.LEVERAGE),depositValue:w(tt.DEPOSIT),slippage:w(tt.SLIPPAGE),limitPrice:w(tt.PRICE),price:I,balance:v})}),[n,E,N,se,a,v,I,x,b,g,p,w(tt.DEPOSIT),w(tt.LEVERAGE),w(tt.PRICE_STOP_LOSS),w(tt.PRICE_TAKE_PROFIT),w(tt.SLIPPAGE),w(tt.PRICE)]),xe=(0,r.useMemo)((()=>{const e=p===U.MARKET?se:(0,M.Md)(w(tt.PRICE)||0).times(le);return bt({priceWithSpread:e,leverage:w(tt.LEVERAGE),depositValue:w(tt.DEPOSIT),orderType:a})}),[se,a,w(tt.LEVERAGE),w(tt.DEPOSIT),w(tt.PRICE),p]),he=(0,r.useMemo)((()=>(e=>{let{leverage:a,depositValue:t,openFeeP:r,executeLimitOrderFeeP:i}=e;const n=(0,M.Md)(r).times(3).plus(i);return(0,M.Md)(a).times(t).times((0,M.Md)(n,10).div(100)).toFixed(1)})({leverage:w(tt.LEVERAGE),depositValue:w(tt.DEPOSIT)||"0",openFeeP:x.fee.openFeeP,executeLimitOrderFeeP:x.fee.executeLimitOrderFeeP})),[w(tt.LEVERAGE),w(tt.DEPOSIT),x]),be=(0,r.useMemo)((()=>(e=>{let{leverage:a,priceWithSpread:t,orderType:r,order:i,limitPrice:n}=e;return te.map((e=>{const l=ht({activeTakeProfit:e.value,leverage:a,priceWithSpread:t,orderType:r,limitPrice:n,order:i});return(0,M.Md)(l).lt(0)?{...e,disabled:!0}:{...e,disabled:!1}}))})({leverage:w(tt.LEVERAGE),priceWithSpread:se,orderType:a,limitPrice:w(tt.PRICE),order:p})),[w(tt.LEVERAGE),w(tt.PRICE),a,p]),ge=(0,r.useMemo)((()=>{const e=w(tt.DEPOSIT)||0,t=w(tt.LEVERAGE),r=(0,M.Md)(e).times(t),i=y(Number(c.get(m.Bg))),n=a===V.LONG?r.times(i.long.pair):r.times(i.short.pair),l=p===U.MARKET?se:(0,M.Md)(w(tt.PRICE)||0).times(le);return[{label:"Est. execution price",value:(0,M.p1)(l,1),tooltip:"The estimated price including spread at which your trade will execute."},{label:"Spread",value:"".concat(x.spread,"%"),tooltip:"Current market spread."},{label:"Position size",value:"".concat((0,M.p1)(r,1)," ").concat(O.rD.symbol),tooltip:"Collateral * leverage"},{label:"Fees",value:"".concat((0,M.p1)(he,1)," ").concat(O.rD.symbol),tooltip:(0,f.jsx)(st,{})},{label:"Liq. price",value:(0,M.p1)(xe,2),tooltip:"If this price is reached, your position will be closed and your  collateral lost."},{label:"Est. borrowing fee/h",value:"".concat((0,M.p1)(n,1)," ").concat(O.rD.symbol),tooltip:(0,f.jsx)(dt,{})}]}),[se,x,xe,p,he,w(tt.DEPOSIT),w(tt.LEVERAGE),w(tt.PRICE)]),ve=w(tt.LEVERAGE),fe=(0,r.useMemo)((()=>!(0,M.Md)(w(tt.DEPOSIT)).isGreaterThan(0)||(0,M.Md)(v,O.rD.decimals).lt(w(tt.DEPOSIT))),[w(tt.DEPOSIT),v]);return(0,r.useEffect)((()=>{const e=be.find((e=>e.value===N));null!==e&&void 0!==e&&e.disabled&&j(ee.HUNDRED)}),[N,be]),(0,f.jsxs)("div",{className:i.container,children:[(0,f.jsx)(Xa,{buttons:X,onButtonClick:P,selectedValue:p,isSmall:!0}),(0,f.jsx)("div",{className:i.depositWrap,children:(0,f.jsx)(ka.Qr,{control:k,name:tt.DEPOSIT,render:e=>{let{field:{value:a,onBlur:t,onChange:r},fieldState:{error:n}}=e;return(0,f.jsx)(Ha,{classNameTextField:i.inputMain,label:"Collateral (".concat(x.minCollateral,"-").concat((0,M.pF)((0,M.Md)(x.maxCollateral),0),")"),value:a,fullWidth:!0,unitStart:"Balance: ".concat((0,M.p1)(v,2,O.rD.decimals)),unitEnd:O.rD.symbol,onBlur:t,onChange:e=>{const a=e.currentTarget.value;(Oe.Yu.test(a)||""===a)&&r(a)},inputError:null===n||void 0===n?void 0:n.message,onMax:ie,mb:"0",startAdornmentClass:i.collateralBalanceWrap,endAdornmentClass:i.collateralInputUnitsWrap,classNameButtonMax:i.buttonMaxWrap})}})}),(0,f.jsx)(ka.Qr,{control:k,name:tt.LEVERAGE,render:e=>{let{field:{value:a,onChange:t},fieldState:{error:r}}=e;return(0,f.jsxs)("div",{className:i.leverageWrap,children:[(0,f.jsxs)("div",{className:i.titleInputLabelWrap,children:[(0,f.jsx)(d.Z,{variant:"caption",sx:{fontWeight:700},children:"Leverage"}),(0,f.jsx)(Qa.Z,{placeholder:"Leverage",value:a,onChange:e=>{const a=Number(e.currentTarget.value);!isNaN(a)&&a<=Number(x.maxLeverage)&&t(a)},className:i.inputLeverage,inputError:null===r||void 0===r?void 0:r.message})]}),(0,f.jsx)("div",{className:i.leverageSlider,children:(0,f.jsx)(Za,{className:i.slider,marks:re,value:ve,onChange:(e,a)=>t(a),valueLabelDisplay:"auto","aria-labelledby":"range-slider",min:Number(x.minLeverage),max:Number(x.maxLeverage)})})]})}}),(0,f.jsx)("div",{className:i.priceWrap,children:ue}),(0,f.jsx)(et,{controlInputName:tt.PRICE_STOP_LOSS,control:k,title:"Stop Loss",value:oe,value2:de,options:J,activeValuePercent:E,setActiveValuePercent:S,setValue:L}),(0,f.jsx)(et,{controlInputName:tt.PRICE_TAKE_PROFIT,control:k,title:"Take Profit",value:ce,value2:pe,options:be,activeValuePercent:N,setActiveValuePercent:j,setValue:L,isTakeProfit:!0}),n?(0,f.jsx)(f.Fragment,{children:W?(0,f.jsxs)(F.Z,{isFullWidth:!0,disabled:(null===me||void 0===me?void 0:me.disable)||D||fe,onClick:async()=>{const e=c.get(m.Bg),t=w(tt.DEPOSIT),r=p===U.MARKET?I:w(tt.PRICE),i=w(tt.SLIPPAGE),n=N===ee.PRICE?w(tt.PRICE_TAKE_PROFIT):ce,l=E===q.PRICE?w(tt.PRICE_STOP_LOSS):oe===R.dv?"0":oe;await A({pairIndex:e,positionSizeStable:(0,M.I8)(t,O.rD.decimals).toFixed(),openPrice:(0,M.I8)(r,R.B9).toFixed(),buy:a===V.LONG,leverage:w(tt.LEVERAGE),tp:(0,M.I8)(n,R.B9).toFixed(),sl:(0,M.I8)(l,R.B9).toFixed(),orderType:Y[p],orderName:z[p],slippage:(0,M.I8)(i,R.B9).toFixed()}),await T(),await G(),Z()},children:[z[p]," (",K[a],")"]}):(0,f.jsx)(F.Z,{isFullWidth:!0,onClick:B,disabled:H||_,children:"Approve"})}):(0,f.jsx)(Da.Z,{isFullWidth:!0}),(0,f.jsxs)("div",{className:i.infoContainer,children:[(0,f.jsxs)("div",{className:i.infoRow,children:[(0,f.jsx)(ze.Z,{sx:{display:"flex",gap:"4px"},children:(0,f.jsx)(d.Z,{variant:"caption",children:ne})}),(0,f.jsx)(d.Z,{variant:"caption",color:e=>null!==me&&void 0!==me&&me.disable?e.primary.p3:e.accent.a1,children:null===me||void 0===me?void 0:me.text})]}),ge.map((e=>{let{label:a,value:t,tooltip:r}=e;return(0,f.jsxs)("div",{className:i.infoRow,children:[(0,f.jsxs)(ze.Z,{sx:{display:"flex",gap:"4px"},children:[(0,f.jsx)(d.Z,{variant:"caption",children:a}),r&&(0,f.jsx)(Xe.Z,{placement:"top-start",title:r,isInfo:!0})]}),(0,f.jsx)(d.Z,{variant:"caption",color:e=>e.primary.p2,children:t})]},a)}))]})]})};var It=t(47131),Ct=t(36462),Et=t(21870),St=t(65330);const Nt=(0,y.ZL)()((()=>({modalWrap:{maxWidth:340},wrapper:{maxHeight:"calc(100vh - 200px)",display:"flex",flexDirection:"column",gap:24},settingsRowOption:{display:"flex",justifyContent:"space-between",alignItems:"center"},subSettingsRowOption:{display:"flex",justifyContent:"space-between",paddingLeft:24,alignItems:"center"}}))),jt=()=>{const{classes:e}=Nt(),{setTradesMode:a,setChartMode:t,tradesMode:r,chartMode:i}=Le(),{control:n}=(0,ka.cI)({mode:at,reValidateMode:"onChange",defaultValues:{[tt.ADVANCED_CHART]:i===R.IK.ON,[tt.RECENT_TRADES]:r===R.IK.ON}});return(0,f.jsx)(Et.Z,{title:"Settings",classNameWrap:e.modalWrap,children:(0,f.jsxs)("div",{className:e.wrapper,children:[(0,f.jsxs)("div",{className:e.settingsRowOption,children:[(0,f.jsx)(d.Z,{variant:"subtitle1",children:"Show recent trades"}),(0,f.jsx)(ka.Qr,{control:n,name:tt.RECENT_TRADES,render:e=>{let{field:{value:t,onChange:r}}=e;return(0,f.jsx)(St.Z,{checked:t,onChange:e=>{a(e.target.checked?R.IK.ON:R.IK.OFF),r(e)}})}})]}),(0,f.jsxs)(ze.Z,{sx:{display:"flex",flexDirection:"column",gap:2},children:[(0,f.jsx)(d.Z,{variant:"subtitle1",children:"Chart"}),(0,f.jsxs)("div",{className:e.subSettingsRowOption,children:[(0,f.jsx)(d.Z,{variant:"body1",children:"Use Advanced Chart"}),(0,f.jsx)(ka.Qr,{control:n,name:tt.ADVANCED_CHART,render:e=>{let{field:{value:a,onChange:r}}=e;return(0,f.jsx)(St.Z,{checked:a,onChange:e=>{t(e.target.checked?R.IK.ON:R.IK.OFF),r(e)}})}})]})]})]})})};var Pt=t(88393);const Mt=e=>{let{className:a}=e;const[t]=(0,Ct.dd)((0,f.jsx)(jt,{}));return(0,f.jsx)(It.Z,{className:a,"aria-label":"setting",id:"settings-button",onClick:()=>{t()},children:(0,f.jsx)(Pt.sv,{})})},Ot=(0,r.memo)(Mt),kt=(0,y.ZL)()((()=>({wrap:{zIndex:4},tabBox:{display:"flex",justifyContent:"space-between",position:"relative"},tabsButtons:{height:"36px !important"},buttonSettings:{position:"absolute",right:0,top:0,zIndex:4,padding:4}}))),wt=e=>{let{isPerpsEnableChain:a,className:t}=e;const{classes:i}=kt(),[n,s]=(0,r.useState)(V.LONG),o=(0,r.useCallback)((e=>{s(e)}),[]);return(0,f.jsxs)("div",{className:l()(i.wrap,t),children:[(0,f.jsxs)("div",{className:i.tabBox,children:[(0,f.jsx)(Oa,{tabs:H,onTab:o,currentVault:n,buttonClassName:i.tabsButtons}),(0,f.jsx)(Ot,{className:i.buttonSettings})]}),(0,f.jsx)(Tt,{orderType:n,isPerpsEnableChain:a})]})},Rt=(0,r.memo)(wt);var Lt=t(41828);const Zt=(0,y.ZL)()((e=>({box:{display:"flex",alignItems:"center",padding:16,borderRadius:8,border:"1px solid ".concat(e.primary.p3),background:e.gradient.g3,marginTop:24,justifyContent:"space-between","@media (max-width: 640px)":{flexDirection:"column",gap:16}},contentBox:{display:"flex","@media (max-width: 640px)":{flexDirection:"column",alignItems:"center",gap:8}},img:{width:50,height:50}
1,content:{marginLeft:16,display:"flex",flexDirection:"column","@media (max-width: 640px)":{alignItems:"center",textAlign:"center",marginLeft:0,gap:8}}}))),Dt=(t(17153).Z,()=>{const e=(0,Fa.Z)(),{classes:a}=Zt();return(0,f.jsx)(Ue.Z,{transparentBg:!0,children:(0,f.jsxs)("div",{className:a.box,children:[(0,f.jsxs)("div",{className:a.contentBox,children:[(0,f.jsx)("img",{className:a.img,src:k.T_[k.m5].logo,alt:"arbitrum"}),(0,f.jsxs)("div",{className:a.content,children:[(0,f.jsxs)(d.Z,{color:e.accent.a6,variant:"subtitle1",children:["The decentralized perpetuals are available in ",k.T_[k.m5].name," chain only."]}),(0,f.jsx)(d.Z,{variant:"subtitle1",children:"Please switch the chain"})]})]}),(0,f.jsx)(Lt.Z,{chainId:k.m5})]})})}),Ft=()=>{const{library:e,chainId:a,account:t}=(0,s.Z)(),[i,n]=(0,r.useState)(!1),l=(0,A.Z)(),{addToast:o}=(0,D.e1)();return{loading:i,closeMarketTrade:(0,r.useCallback)((async r=>{let{pairIndex:i,index:s}=r;n(!0),o("Transacting mining...",{appearance:"success"});const d=(0,W.jg)(e,a);try{const r=await(0,W.kN)(d,"closeTradeMarket",[i,s],{from:t},e,a);l("Market close initiated",{appearance:"success",chainId:a,hash:r.transactionHash})}catch(c){o("Denied Transaction",{appearance:"error"})}finally{n(!1)}}),[e,a,t]),cancelOpenLimitOrder:(0,r.useCallback)((async r=>{let{pairIndex:i,index:s}=r;n(!0),o("Transacting mining...",{appearance:"success"});const d=(0,W.jg)(e,a);try{const r=await(0,W.kN)(d,"cancelOpenLimitOrder",[i,s],{from:t},e,a);l("Open limit canceled",{appearance:"success",chainId:a,hash:r.transactionHash})}catch(c){o("Denied Transaction",{appearance:"error"})}finally{n(!1)}}),[e,a,t])}},At=(0,y.ZL)()((e=>({menuItem:{backgroundColor:e.secondary.s2,color:e.primary.p2,"&:hover":{backgroundColor:e.background.b2}},menu:{boxShadow:"0px 1px 2px 0px #0000004D"},buttonClose:{"&:hover":{backgroundColor:e.primary.p3,borderRadius:8}},buttonCloseWithLoader:{padding:"3px"}}))),Wt=e=>{let{data:a,isPerpsEnableChain:t}=e;const{classes:r}=At(),{closeMarketTrade:i,loading:n,cancelOpenLimitOrder:s}=Ft();return(0,f.jsx)(It.Z,{onClick:async()=>{t&&(a.table===R.KU.TRADES?await i({pairIndex:a.pairIndex,index:a.index}):await s({pairIndex:a.pairIndex,index:a.index}))},className:l()(r.buttonClose,{[r.buttonCloseWithLoader]:n}),disabled:n||!t,centerRipple:!1,children:n?(0,f.jsx)(u.Z,{width:24,height:24}):Pt.ad})},Bt=(0,r.memo)(Wt),_t=e=>{let a,{type:t,value:r,variant:i,sx:n,isLong:l}=e;switch(t){case R.XX.LONG:a=e=>e.accent.a1;break;case R.XX.SHORT:a=e=>e.accent.a6;break;default:a=l?e=>e.accent.a1:e=>e.accent.a6}return(0,f.jsx)(d.Z,{variant:null!==i&&void 0!==i?i:"subtitle2",color:a,sx:n,children:r})},Vt=(0,r.memo)(_t);var Kt=t(64255),Ht=t(91042);const Gt=(0,y.ZL)()((()=>({modalWrap:{maxWidth:"400px !important"},wrapper:{paddingTop:24,display:"flex",flexDirection:"column",gap:8},row:{display:"flex",justifyContent:"space-between"}}))),Ut=e=>{let{onDismiss:a,tradesModalInfo:t}=e;const{classes:i}=Gt(),{openTrades:n,getPairNameByIndex:l,pairs:s}=ye(),{price:o}=Je(),c=(0,r.useMemo)((()=>n.find((e=>e.trade.pairIndex===t.pairIndex&&e.trade.index===t.index))),[n,t]),p=(0,r.useCallback)((()=>{const{trade:e}=c,a=l(Number(e.pairIndex));return(0,f.jsxs)(ze.Z,{sx:{display:"flex",gap:"4px",alignItems:"center"},children:[(0,f.jsx)(d.Z,{variant:"h3",children:a}),(0,f.jsx)(d.Z,{variant:"h3",color:a=>e.buy?a.accent.a1:a.accent.a6,children:e.buy?K[V.LONG]:K[V.SHORT]})]})}),[t]),u=(0,r.useMemo)((()=>{const{trade:e}=c,a=s[Number(e.pairIndex)],t=(0,M.Md)(e.positionSizeStable,O.rD.decimals),r=e.leverage,i=t.times(r),n=(0,M.Md)(e.openPrice,R.B9),l=(0,M.Md)(100).minus(n.div(o).times(100)),d=(0,M.Md)(e.buy?o:n).minus(e.buy?n:o).times(100).times(r).div(n),p=t.times(d.div(100)),u=(0,M.aQ)((0,M.Md)(a.fee.closeFeeP).plus(a.fee.executeLimitOrderFeeP),R.B9),m=i.times(u.div(100));return[{label:"Collateral",value:"".concat((0,M.p1)(t,1)," ").concat(O.rD.symbol)},{label:"Leverage",value:"".concat(r,"x")},{label:"Position Size",value:"".concat((0,M.p1)(i,1)," ").concat(O.rD.symbol)},{label:"Open Price",value:(0,M.p1)(n,1)},{label:"Current Price",value:(0,M.p1)(o,1)},{label:"Price Change",value:"".concat(l.toFixed(2)," %")}
1,{label:"Borrowing Fees",value:"0 ".concat(O.rD.symbol)},{label:"Rollover Fee",value:"0 ".concat(O.rD.symbol)},{label:"Closing Fees",value:"".concat((0,M.p1)(m,1)," ").concat(O.rD.symbol)},{label:"Net PnL",value:"".concat((0,M.p1)(p,1)," ").concat(O.rD.symbol),isSubtitle:!0}]}),[c,o,s]);return(0,f.jsx)(Ht.Z,{title:(0,f.jsx)(p,{}),classNameWrap:i.modalWrap,onDismiss:a,children:(0,f.jsx)("div",{className:i.wrapper,children:u.map(((e,a)=>(0,f.jsxs)("div",{className:i.row,children:[(0,f.jsx)(d.Z,{variant:e.isSubtitle?"subtitle1":"body1",children:e.label}),(0,f.jsx)(d.Z,{color:e=>e.primary.p3,variant:"subtitle1",children:e.value})]},a)))})})},zt=()=>{const{library:e,chainId:a,account:t}=(0,s.Z)(),[i,n]=(0,r.useState)(!1),[l,o]=(0,r.useState)(!1),d=(0,A.Z)(),{addToast:c}=(0,D.e1)(),p=(0,r.useCallback)((async r=>{let{pairIndex:i,index:l,tp:s}=r;n(!0);try{const r=(0,W.jg)(e,a),n=await(0,W.kN)(r,"updateTp",[i,l,s],{from:t},e,a);d("Tp updated",{appearance:"success",chainId:a,hash:n.transactionHash})}catch(o){c("Denied Transaction",{appearance:"error"})}finally{n(!1)}}),[e,a,t]);return{updateSl:(0,r.useCallback)((async r=>{let{pairIndex:i,index:n,sl:l}=r;o(!0);try{const r=(0,W.jg)(e,a),s=await(0,W.kN)(r,"updateSl",[i,n,l],{from:t},e,a);d("Sl updated",{appearance:"success",chainId:a,hash:s.transactionHash})}catch(s){c("Denied Transaction",{appearance:"error"})}finally{o(!1)}}),[e,a,t]),updateTp:p,loadingTp:i,loadingSl:l}},Yt=(0,y.ZL)()((e=>({modalWrap:{maxWidth:"400px !important"},wrapper:{paddingTop:24,display:"flex",flexDirection:"column",gap:24},infoWrap:{display:"flex",flexDirection:"column",gap:8},inputRow:{display:"flex",gap:8,width:"100%"},input:{flexGrow:1},button:{"& button":{width:80,height:56}},row:{display:"flex",justifyContent:"space-between",width:"100%"},footer:{display:"flex",gap:8,alignItems:"center"}}))),Xt=e=>{let{onDismiss:a,updateSLTPInfo:t}=e;const{classes:i}=Yt(),{openTrades:n,getPairNameByIndex:l}=ye(),{price:s}=Je(),{updateSl:o,updateTp:c,loadingTp:p,loadingSl:m}=zt(),x=(0,r.useMemo)((()=>n.find((e=>e.trade.pairIndex===t.pairIndex&&e.trade.index===t.index))),[n,t]),h=(0,r.useMemo)((()=>(0,M.Md)(x.trade.sl,R.B9).toFixed(1)),[x]),b=(0,r.useMemo)((()=>(0,M.Md)(x.trade.tp,R.B9).toFixed(1)),[x]),{control:g,watch:y}=(0,ka.cI)({mode:at,reValidateMode:"onChange",defaultValues:{[tt.STOP_LOSS]:h,[tt.TAKE_PROFIT]:b}}),v=(0,r.useMemo)((()=>{const{trade:e}=x,a=Number(e.leverage),t=(0,M.Md)(e.openPrice,R.B9);return xt({activeStopLoss:q.PRICE,leverage:a,priceWithSpread:t,orderType:e.buy?V.LONG:V.SHORT,slPrice:y(tt.STOP_LOSS),order:U.MARKET})}),[x,y(tt.STOP_LOSS)]),T=(0,r.useMemo)((()=>{const{trade:e}=x;return gt({leverage:e.leverage,openPrice:(0,M.Md)(e.openPrice,R.B9),buy:e.buy,stopLossValue:(0,M.Md)(y(tt.STOP_LOSS)),price:s})}),[y(tt.STOP_LOSS),x,s]),I=(0,r.useMemo)((()=>{const{trade:e}=x;return yt({leverage:e.leverage,openPrice:(0,M.Md)(e.openPrice,R.B9),buy:e.buy,takeProfitValue:(0,M.Md)(y(tt.TAKE_PROFIT)),price:s})}),[y(tt.TAKE_PROFIT),x,s]),C=(0,r.useMemo)((()=>{const{trade:e}=x,a=Number(e.leverage),t=(0,M.Md)(e.openPrice,R.B9);return ht({activeTakeProfit:ee.PRICE,leverage:a,priceWithSpread:t,orderType:e.buy?V.LONG:V.SHORT,tpPrice:y(tt.TAKE_PROFIT),order:U.MARKET})}),[x,y(tt.TAKE_PROFIT)]),E=(0,r.useMemo)((()=>{const{trade:e}=x,a=(0,M.Md)(e.openPrice,R.B9),t=(0,M.Md)(e.positionSizeStable,O.rD.decimals),r=e.leverage;return bt({priceWithSpread:a,depositValue:t.toString(),orderType:e.buy?V.LONG:V.SHORT,leverage:Number(r)})}),[x]),S=(0,r.useCallback)((()=>{const{trade:e}=x,a=l(Number(e.pairIndex));return(0,f.jsx)(d.Z,{variant:"h3",color:a=>e.buy?a.accent.a1:a.accent.a6,children:a})}),[]);return(0,f.jsx)(Ht.Z,{title:(0,f.jsx)(S,{}),classNameWrap:i.modalWrap,onDismiss:a,children:(0,f.jsxs)("div",{className:i.wrapper,children:[(0,f.jsx)(d.Z,{variant:"h3",children:"Update SL/TP"}),(0,f.jsxs)("div",{className:i.inputRow,children:[(0,f.jsx)(ka.Qr,{control:g,name:tt.STOP_LOSS,render:e=>{let{field:{value:a,onBlur:t,onChange:r}}=e;return(0,f.jsx)(Ha,{classNameFormFieldWrap:i.input,label:"Stop Loss (".concat(Number(y(tt.STOP_LOSS))?"".concat(v,"%"):R.dv,")"),value:a,fullWidth:!0,onBlur:t,onChange:e=>qa(e,r),inputError:T})}}),(0,f.jsx)(F.Z,{type:me.Dx.OUTLINE,className:i.button,disabled:!!T||m,onClick:async()=>{const{trade:e}=x,a=(0,M.I8)(y(tt.STOP_LOSS),R.B9);await o({pairIndex:e.pairIndex,index:e.index,sl:a.toFixed(0)})},children:m?(0,f.jsx)(u.Z,{width:24,height:24}):(0,f.jsx)(f.Fragment,{children:"Update"})})]}),(0,f.jsxs)("div",{className:i.inputRow,children:[(0,f.jsx)(ka.Qr,{control:g,name:tt.TAKE_PROFIT,render:e=>{let{field:{value:a,onBlur:t,onChange:r}}=e;return(0,f.jsx)(Ha,{classNameFormFieldWrap:i.input,label:"Take profit (".concat(Number(y(tt.TAKE_PROFIT))?"".concat(C,"%"):R.dv,")"),value:a,fullWidth:!0,onBlur:t,onChange:e=>qa(e,r),inputError:I})}}),(0,f.jsx)(F.Z,{type:me.Dx.OUTLINE,className:i.button,disabled:!!I||p,onClick:async()=>{const{trade:e}=x,a=(0,M.I8)(y(tt.TAKE_PROFIT),R.B9);await c({pairIndex:e.pairIndex,index:e.index,tp:a.toFixed(0)})},children:p?(0,f.jsx)(u.Z,{width:24,height:24}):(0,f.jsx)(f.Fragment,{children:"Update"})})]}),(0,f.jsxs)("div",{className:i.infoWrap,children:[(0,f.jsxs)("div",{className:i.row,children:[(0,f.jsx)(d.Z,{children:"Current Price"}),(0,f.jsx)(d.Z,{variant:"subtitle1",children:s.toFixed(1)})]}),(0,f.jsxs)("div",{className:i.row,children:[(0,f.jsx)(d.Z,{children:"Liquidation price"}),(0,f.jsx)(d.Z,{color:e=>e.accent.a6,variant:"subtitle1",children:(0,M.p1)(E,1)})]})]}),(0,f.jsxs)("div",{className:i.footer,children:[(0,f.jsx)("div",{children:Pt.Pz}),(0,f.jsx)(d.Z,{variant:"body1",children:"SLs and TPs are guaranteed unless there was a gap through the order (in such case the market price is used). To remove, set the value to 0."})]})]})})},Qt=(0,y.ZL)()((e=>({table:{borderRadius:"16px",borderTopLeftRadius:"unset"},tableCell:{padding:"10px","& p":{fontSize:12}},headerTableCell:{padding:"8px"},tableWrap:{height:"240px",width:"100%",background:e.background.b1,borderRadius:"0px 16px 16px 16px",display:"flex",justifyContent:"center",border:"1px solid ".concat(e.primary.p3),alignItems:"center"},takeProfit_liqSL:{display:"flex",flexDirection:"column"},icon:{width:14,height:14,marginLeft:4,visibility:"hidden"},liqSL:{display:"flex",alignItems:"center"}}))),qt=["type","pair","lev","col","openPrice","price"],$t=["takeProfit_liqSL"],Jt=e=>{let{isPerpsEnableChain:a}=e;const{classes:t}=Qt(),n=(0,i.Z)("(max-width:640px)"),[l,s]=(0,r.useState)(),[o,c]=(0,r.useState)(),{openTrades:p,getPairNameByIndex:u}=ye(),{price:m}=Je(),x=(0,r.useCallback)(((e,a)=>{qt.includes(a.dataKey)?s({pairIndex:e.pairIndex,index:e.index}):$t.includes(a.dataKey)&&c({pairIndex:e.pairIndex,index:e.index})}),[]),h=(0,r.useCallback)((()=>{s(void 0),c(void 0)}),[]),b=e=>{let{value:a,percent:t}=e;return(0,f.jsxs)(ze.Z,{sx:{display:"flex",gap:"4px",flexDirection:"column",alignItems:"center"},children:[(0,f.jsx)(d.Z,{variant:"subtitle2",color:e=>t>0?e.accent.a1:e.accent.a6,fontSize:12,children:a}),(0,f.jsxs)(d.Z,{variant:"subtitle2",color:e=>t>0?e.accent.a1:e.accent.a6,fontSize:12,children:[t,"%"]})]})},g=(0,r.useMemo)((()=>p?p.map((e=>{const{trade:a}=e,r=u(Number(a.pairIndex)),i=a.buy?R.XX.LONG:R.XX.SHORT,n=a.leverage,l=(0,M.Md)(a.positionSizeStable,O.rD.decimals),s=(0,M.Md)(a.openPrice,R.B9),o=(0,M.Md)(a.tp,R.B9).toFixed(1),d=(0,M.Md)(a.sl,R.B9),c=(0,M.Md)(a.buy?m:s).minus(a.buy?s:m).times(100).times(n).div(s),p=l.times(c.div(100)),x=bt({priceWithSpread:s,depositValue:l.toString(),orderType:a.buy?V.LONG:V.SHORT,leverage:Number(n)});return{type:(0,f.jsx)(Vt,{type:i,value:i,variant:"caption"}),pair:r,lev:"".concat(n,"x"),col:"".concat((0,M.p1)(l,1)," ").concat(O.rD.symbol),openPrice:(0,M.p1)(s,1),price:(0,M.p1)(m,1),takeProfit_liqSL:(0,f.jsxs)("span",{className:t.takeProfit_liqSL,children:[(0,f.jsxs)("span",{className:t.liqSL,children:[Number(d)?"SL: ".concat((0,M.p1)(d,1)):"LIQ: ".concat((0,M.p1)(x,1)),(0,f.jsx)(B.Z,{className:t.icon})]}),(0,f.jsxs)("span",{children:["TP: ",(0,M.p1)(o,1)]})]}),netPNL:b({value:"".concat((0,M.p1)(p,1)," ").concat(O.rD.symbol),percent:Number(c.toFixed(2))}),index:a.index,pairIndex:a.pairIndex,table:R.KU.TRADES}})):[]),[p,m]);return(0,f.jsxs)(f.Fragment,{children:[g.length?(0,f.jsx)(Kt.Z,{className:t.table,data:g,columns:ie,rowControlButton:e=>(0,f.jsx)(Bt,{isPerpsEnableChain:a,data:e},"button2"),tableHeight:240,withMenuTable:!0,withoutTopRightCorner:n,rowPadding:"4px 8px",firstColumnPadding:20,stickyColumnWidth:80,headerControlButton:(0,f.jsx)(d.Z,{variant:"subtitle2",align:"center",children:"Close"}),handleCellClick:x,cellClassName:t.tableCell,headerCellClassName:t.headerTableCell,isCellHoverable:e=>qt.concat($t).includes(e.dataKey)}):(0,f.jsx)("div",{className:t.tableWrap,children:(0,f.jsx)(d.Z,{variant:"body2",children:" No Trades"})}),l&&(0,f.jsx)(Ut,{tradesModalInfo:l,onDismiss:h}),o&&(0,f.jsx)(Xt,{updateSLTPInfo:o,onDismiss:h})]})},er=()=>{const{library:e,chainId:a,account:t}=(0,s.Z)(),[i,n]=(0,r.useState)(!1),l=(0,A.Z)(),{addToast:o}=(0,D.e1)();return{updateOpenLimitOrder:(0,r.useCallback)((async r=>{let{pairIndex:i,index:s,price:d,tp:c,sl:p}=r;n(!0);try{const r=(0,W.jg)(e,a),n=await(0,W.kN)(r,"updateOpenLimitOrder",[i,s,d,c,p],{from:t},e,a);l("Updated limit order",{appearance:"success",chainId:a,hash:n.transactionHash})}catch(u){o("Denied Transaction",{appearance:"error"})}finally{n(!1)}}),[e,a,t]),loading:i}},ar=(0,y.ZL)()((e=>({modalWrap:{maxWidth:"400px !important"}
1,wrapper:{paddingTop:24,display:"flex",flexDirection:"column",gap:8},infoWrap:{display:"flex",flexDirection:"column",gap:8},inputRow:{display:"flex",gap:8,width:"100%"},row:{display:"flex",justifyContent:"space-between",width:"100%"},footer:{margin:"24px 0",display:"flex",gap:"4px",alignItems:"flex-start"},icon:{"& svg":{"& path":{fill:"".concat(e.secondary.s6," !important")}}},input:{padding:"0px 10px",maxWidth:80,height:24,"& input":{fontSize:12,"&::placeholder":{textAlign:"center"}}},button:{width:"100%"},buttonsWrap:{display:"flex",width:"100%",gap:"16px"},errorWrap:{height:"20px"}}))),tr=e=>{let{onDismiss:a,orderModalInfo:t}=e;const{classes:i}=ar(),[n,l]=(0,r.useState)(!1),{openLimitOrders:s,getPairNameByIndex:o,pairs:c}=ye(),{price:p}=Je(),{updateOpenLimitOrder:u,loading:m}=er(),x=(0,r.useMemo)((()=>s.find((e=>e.pairIndex===t.pairIndex&&e.index===t.index))),[s,t]),h=(0,r.useMemo)((()=>(0,M.Md)(x.maxPrice,R.B9)),[x]),b=(0,r.useMemo)((()=>(0,M.Md)(x.sl,R.B9)),[x]),g=(0,r.useMemo)((()=>(0,M.Md)(x.tp,R.B9)),[x]),y=(0,r.useMemo)((()=>Number(x.type)===Y[U.LIMIT]?R.XX.LIMIT:R.XX.STOP),[x]),{control:v,watch:T,setValue:I}=(0,ka.cI)({mode:at,reValidateMode:"onChange",defaultValues:{[tt.ASK_PRICE]:h.toNumber(),[tt.STOP_LOSS]:b.toNumber(),[tt.TAKE_PROFIT]:g.toNumber()}}),C=(0,r.useMemo)((()=>(e=>{let{price:a,askPrice:t,orderType:r,buy:i}=e;return r===R.XX.LIMIT&&i&&(0,M.Md)(t).gt(a)||r===R.XX.LIMIT&&!i&&(0,M.Md)(t).lt(a)?"Wrong limit price":r===R.XX.STOP&&i&&(0,M.Md)(t).lt(a)||r===R.XX.STOP&&!i&&(0,M.Md)(t).gt(a)?"Wrong stop price":(0,M.Md)(t).isZero()||(0,M.Md)(t).isNaN()?"Price is zero":void 0})({price:p,askPrice:T(tt.ASK_PRICE),orderType:y,buy:x.buy})),[p,y,x,T(tt.ASK_PRICE)]),E=(0,r.useMemo)((()=>gt({leverage:x.leverage,openPrice:(0,M.Md)(T(tt.ASK_PRICE)),buy:x.buy,stopLossValue:(0,M.Md)(T(tt.STOP_LOSS)),withFullErrorText:!0,price:p})),[T(tt.ASK_PRICE),x,T(tt.STOP_LOSS),p]),S=(0,r.useMemo)((()=>yt({leverage:x.leverage,openPrice:(0,M.Md)(T(tt.ASK_PRICE)),buy:x.buy,takeProfitValue:(0,M.Md)(T(tt.TAKE_PROFIT)),withFullErrorText:!0,price:p})),[T(tt.ASK_PRICE),x,T(tt.TAKE_PROFIT),y,p]),N=(0,r.useMemo)((()=>h.isEqualTo(T(tt.ASK_PRICE))&&b.isEqualTo(T(tt.STOP_LOSS))&&g.isEqualTo(T(tt.TAKE_PROFIT))||!!C||!!E||!!S),[T(tt.ASK_PRICE),T(tt.STOP_LOSS),T(tt.TAKE_PROFIT),h,b,g]),j=(0,r.useCallback)((()=>{const e=o(Number(x.pairIndex)),a=x.buy?R.XX.LONG:R.XX.SHORT;return(0,f.jsxs)(d.Z,{variant:"h3",color:e=>x.buy?e.accent.a1:e.accent.a6,children:[e," ",y," ",a.toUpperCase()]})}),[]),P=(0,r.useMemo)((()=>{const{pairIndex:e,leverage:a,positionSize:t,type:r,buy:i}=x,l=c[Number(e)],s=(0,M.Md)(t,O.rD.decimals),o=(0,M.Md)(l.pair.spreadP,R.B9),d=(0,M.Md)(s).times(a),p=(0,M.Md)(l.fee.openFeeP,R.B9).times(3).plus((0,M.Md)(l.fee.executeLimitOrderFeeP,R.B9)),u=d.times(p.div(100)),m=!!S,y=!!E,v=!!C,f=n?(0,M.Md)(T(tt.ASK_PRICE)||0):h;let I;return I=i&&Number(r)===Y[U.LIMIT]||!i&&Number(r)===Y[U.STOP]?f.times(o.div(100).plus(1)):f.times((0,M.Md)(1).minus(o.div(100))),[{label:"Leverage",value:"".concat(a,"x")},{label:"Collateral",value:"".concat((0,M.p1)(s,1)," ").concat(O.rD.symbol)},{label:"Ask Price",value:(0,M.p1)(h,1),fieldName:tt.ASK_PRICE,error:v},{label:"Fulfill Price",value:(0,M.p1)(I,1)},{label:"Stop loss",value:(0,M.p1)(b,1),fieldName:tt.STOP_LOSS,error:y},{label:"Take Profit",value:(0,M.p1)(g,1),fieldName:tt.TAKE_PROFIT,error:m},{label:"Opening Fee",value:"".concat((0,M.p1)(u,1)," ").concat(O.rD.symbol)}]}),[x,S,E,C,n,T(tt.ASK_PRICE)]);return(0,f.jsx)(Ht.Z,{title:(0,f.jsx)(j,{}),classNameWrap:i.modalWrap,onDismiss:a,children:(0,f.jsxs)("div",{className:i.wrapper,children:[P.map((e=>(0,f.jsxs)("div",{className:i.row,children:[(0,f.jsx)(d.Z,{variant:"body1",children:e.label}),null!==e&&void 0!==e&&e.fieldName&&n?(0,f.jsx)(ka.Qr,{control:v,name:e.fieldName,render:a=>{let{field:{value:t,onChange:r}}=a;return(0,f.jsx)(Qa.Z,{value:t,onChange:e=>qa(e,r),className:i.input,isError:null===e||void 0===e?void 0:e.error})}}):(0,f.jsx)(d.Z,{color:e=>e.primary.p3,variant:"subtitle1",children:e.value})]},e.label))),(0,f.jsxs)("div",{className:i.footer,children:[(0,f.jsx)("div",{children:Pt.Pz}),(0,f.jsx)(d.Z,{variant:"body2",color:e=>e.secondary.s3,children:"SLs and TPs are guaranteed unless there was a gap through the order (in such case the market price is used). To remove, set the value to 0."})]}),(0,f.jsx)("div",{className:i.errorWrap,children:(S||E||C)&&n&&(0,f.jsx)(d.Z,{variant:"body2",color:e=>e.accent.a6,fontSize:12,children:C||E||S})}),n?(0,f.jsxs)("div",{className:i.buttonsWrap,children:[(0,f.jsx)(F.Z,{type:me.Dx.OUTLINE,isFullWidth:!0,className:i.button,onClick:()=>{l(!1),I(tt.ASK_PRICE,h.toNumber()),I(tt.STOP_LOSS,b.toNumber()),I(tt.TAKE_PROFIT,g.toNumber())},children:"Cancel"}),(0,f.jsx)(F.Z,{isFullWidth:!0,className:i.button,disabled:m||N,onClick:async()=>{await u({pairIndex:x.pairIndex,index:x.index,price:(0,M.I8)(T(tt.ASK_PRICE),R.B9).toFixed(0),tp:(0,M.I8)(T(tt.TAKE_PROFIT),R.B9).toFixed(0),sl:(0,M.I8)(T(tt.STOP_LOSS),R.B9).toFixed(0)}),l(!1)},children:"Submit"})]}):(0,f.jsx)(F.Z,{type:me.Dx.OUTLINE,isFullWidth:!0,className:i.button,onClick:()=>{l(!0)},children:"Update"})]})})},rr=(0,y.ZL)()((e=>({table:{borderRadius:"16px",borderTopLeftRadius:"unset"},tableCell:{padding:"10px","& p":{fontSize:12}},headerTableCell:{padding:"8px"},tableWrap:{height:"240px",width:"100%",background:e.background.b1,borderRadius:"0px 16px 16px 16px",display:"flex",justifyContent:"center",border:"1px solid ".concat(e.primary.p3),alignItems:"center"},takeProfit_liqSL:{display:"flex",flexDirection:"column"},liqSL:{display:"flex",alignItems:"center"}}))),ir=e=>{let{isPerpsEnableChain:a}=e;const{classes:t}=rr(),[n,l]=(0,r.useState)(),s=(0,i.Z)("(max-width:640px)"),{openLimitOrders:o,pairs:c}=ye(),p=(0,r.useMemo)((()=>o?o.map((e=>{const{pairIndex:a,leverage:r,positionSize:i,sl:n,tp:l,type:s,maxPrice:o,index:d,buy:p}=e,u=c[Number(a)],m=u.pair.name,x=(0,M.Md)(i,O.rD.decimals),h=(0,M.Md)(l,R.B9).toFixed(1),b=(0,M.Md)(n,R.B9),g=(0,M.Md)(o,R.B9),y=(0,M.Md)(u.pair.spreadP,R.B9);let v;v=p&&Number(s)===Y[U.LIMIT]||!p&&Number(s)===Y[U.STOP]?g.times(y.div(100).plus(1)):g.times((0,M.Md)(1).minus(y.div(100)));const T=Number(s)===Y[U.LIMIT]?R.XX.LIMIT:R.XX.STOP;return{pair:m,lev:"".concat(r,"x"),col:"".concat((0,M.p1)(x,1)," ").concat(O.rD.symbol),askPrice:(0,M.p1)(g,1),fulFillPrice:(0,M.p1)(v,1),stopLoss:b.isZero()?R.dv:(0,M.p1)(b,1),takeProfit:(0,M.p1)(h,1),takeProfit_liqSL:(0,f.jsxs)("span",{className:t.takeProfit_liqSL,children:[(0,f.jsxs)("span",{className:t.liqSL,children:["SL: ",b.isZero()?R.dv:(0,M.p1)(b,1)]}),(0,f.jsxs)("span",{children:["TP: ",(0,M.p1)(h,1)]})]}),type:(0,f.jsx)(Vt,{type:T,value:T,isLong:p,variant:"caption"}),tableType:T,index:d,pairIndex:a,table:R.KU.ORDERS}})):[]),[o,c]),u=(0,r.useCallback)((e=>{l({pairIndex:e.pairIndex,index:e.index})}),[]),m=(0,r.useCallback)((()=>
1{l(void 0)}),[]);return(0,f.jsxs)(f.Fragment,{children:[p.length?(0,f.jsx)(Kt.Z,{className:t.table,data:p,columns:ne,rowControlButton:e=>(0,f.jsx)(Bt,{data:e,isPerpsEnableChain:a},"button2"),tableHeight:240,withMenuTable:!0,withoutTopRightCorner:s,rowPadding:"4px 8px",firstColumnPadding:20,stickyColumnWidth:80,headerControlButton:(0,f.jsx)(d.Z,{variant:"subtitle2",align:"center",children:"Close"}),handleCellClick:u,cellClassName:t.tableCell,headerCellClassName:t.headerTableCell,isRowClickable:!0}):(0,f.jsx)("div",{className:t.tableWrap,children:(0,f.jsx)(d.Z,{variant:"body2",children:" No Orders"})}),n&&(0,f.jsx)(tr,{orderModalInfo:n,onDismiss:m})]})};var nr=t(90987);const lr=t(36389),sr=t(91267),or=e=>{let{leverage:a,priceClose:t,colorPnl:i,colorTrade:n,pair:l,type:s,percent:o}=e;const c=(0,r.useRef)(null),p=(0,Fa.Z)(),{addToast:u}=(0,D.e1)(),m=(0,r.useCallback)((async()=>{if(null!==c.current)try{const e=await(0,nr.YM)(c.current,{quality:1,cacheBust:!0,width:326,height:371,backgroundColor:p.background.b1,style:{display:"flex",flexDirection:"column",position:"absolute",width:"326px",height:"371px"}});await x(e)}catch(e){console.error("Error capturing image:",e)}}),[c]),x=async e=>{try{await navigator.clipboard.write([new ClipboardItem({"image/png":await fetch(e).then((e=>e.blob()))})]),u("Trade copied to clipboard! Use CTRL V to share anywhere",{appearance:"info"})}catch(a){u("Error capturing trade",{appearance:"error"})}};return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("div",{ref:c,style:{display:"none",flexDirection:"column",alignItems:"flex-start",position:"absolute",left:0,top:0,right:0,width:"326px",height:"371px"},children:(0,f.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",padding:"32px",height:"100%",width:"100%",position:"relative",overflow:"hidden",background:"".concat(p.background.b2," url(").concat(sr,") center center/contain no-repeat")},children:[(0,f.jsx)("div",{style:{width:"262px",minHeight:"34px",background:" url(".concat(lr,") center center/contain no-repeat content-box")}}),(0,f.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",paddingTop:"52px"},children:[(0,f.jsx)("p",{style:{fontFamily:"Inter, sans-serif",fontWeight:700,lineHeight:"40px",fontSize:32,color:"#E9E9E9"},children:l}),(0,f.jsx)("div",{style:{display:"flex",padding:"6px",fontFamily:"Inter, sans-serif",justifyContent:"center",fontSize:"12px",alignItems:"center",textTransform:"lowercase",borderRadius:4,borderWidth:1,borderStyle:"solid",borderColor:n,color:n,height:26},children:s})]}),(0,f.jsx)("p",{style:{fontFamily:"Inter, sans-serif",fontWeight:700,fontSize:56,color:i,lineHeight:"68px",paddingTop:"8px"},children:o}),(0,f.jsxs)("div",{style:{display:"flex",flexDirection:"row",gap:"42px",width:"100%",paddingTop:"42px",justifyContent:"center"},children:[(0,f.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,f.jsx)("p",{style:{color:"#91A2AF",fontFamily:"Inter, sans-serif",fontSize:16,lineHeight:"24px"},children:"Close Price"}),(0,f.jsx)("p",{style:{color:"#FFFFFF",fontFamily:"Inter, sans-serif",fontSize:24,lineHeight:"32px",fontWeight:700},children:t})]}),(0,f.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,f.jsx)("p",{style:{color:"#91A2AF",fontFamily:"Inter, sans-serif",fontSize:16,lineHeight:"24px"},children:"Leverage"}),(0,f.jsx)("p",{style:{color:"#FFFFFF",fontFamily:"Inter, sans-serif",fontSize:24,lineHeight:"32px",fontWeight:700},children:a})]})]})]})}),(0,f.jsx)(F.Z,{type:me.Dx.DEFAULT,onClick:m,children:(0,f.jsxs)(ze.Z,{sx:{display:"flex",gap:1},children:[(0,f.jsx)(d.Z,{variant:"subtitle1",color:e=>e.primary.p2,children:"Share"}),Pt.aA]})})]})},dr=(0,r.memo)(or);var cr=t(74069),pr=t(58534);const ur=(0,y.ZL)()((()=>({modalWrap:{maxWidth:"400px !important"},wrapper:{paddingTop:24,display:"flex",flexDirection:"column",gap:8,alignItems:"center"},row:{display:"flex",justifyContent:"space-between",width:"100%"},chain:{width:24}}))),mr=e=>{let{onDismiss:a,historyModalInfo:t}=e;const{classes:i}=ur(),{chainId:n}=(0,s.Z)(),l=(0,Fa.Z)(),o=(0,r.useMemo)((()=>(0,M.Md)(null===t||void 0===t?void 0:t.priceClose).isNaN()),[t]),c=(0,r.useMemo)((()=>t.buy?V.LONG:V.SHORT),[t]),p=(0,r.useMemo)((()=>t.buy?l.palette.success.main:l.palette.error.main),[l,t]),u=(0,r.useCallback)((()=>(0,f.jsxs)(ze.Z,{sx:{display:"flex",gap:"4px",alignItems:"center"},children:[(0,f.jsx)(d.Z,{variant:"h3",children:t.pair}),(0,f.jsx)(d.Z,{variant:"h3",color:e=>t.buy?e.accent.a1:e.accent.a6,children:t.buy?V.LONG:V.SHORT})]})),[t,c]),m=(0,r.useMemo)((()=>{const{pnl:e,tradeNet:a,collateral:r}=t,i=(0,M.Md)(e,O.rD.decimals),n=(0,M.Md)(a,O.rD.decimals),s=(0,M.Md)(i).minus(n),o=n.times(100).div((0,M.Md)(r,O.rD.decimals));return{colorPnl:(0,M.Md)(t.pnl).gt(0)?l.palette.success.main:l.palette.error.main,percTradeNet:"".concat((0,M.p1)(o,1),"%"),pnl:"".concat((0,M.p1)(i,2)," ").concat(O.rD.symbol),fee:s.isZero()?"-":"".concat((0,M.p1)(s,4,void 0,!0)," ").concat(O.rD.symbol),tradeNet:n.isZero()?"-":(0,f.jsx)(d.Z,{variant:"subtitle1",color:e=>n.lt(0)?e.palette.error.main:e.palette.success.main,children:"".concat((0,M.p1)(n,1)," (").concat((0,M.p1)(o,1),"%)")})}}),[t,l]),x=(0,r.useMemo)((()=>{const{timestampClose:e,timestampOpen:a,leverage:r,positionSize:i,actionOpen:n,actionClose:l,priceOpen:s,priceClose:d}=t,c=o?a:e,p=(0,M.Md)(s,R.B9),u=(0,M.Md)(d,R.B9),m=(0,M.Md)(i,O.rD.decimals);return[{key:"date",label:"Date",value:(0,cr.eQ)(1e3*c,pr.z.DAY_MONTH_YEAR)},{key:"leverage",label:"Leverage",value:"".concat(r,"x")},{key:"collateral",label:"Collateral",value:"".concat((0,M.p1)(m,1)," ").concat(O.rD.symbol)},{key:"typeOpen",label:"Type (open)",value:R.Z3[n]},{key:"priceOpen",label:"Price (open)",value:(0,M.p1)(p,1)},{key:"typeClose",label:"Type (close)",value:o?"-":R.Z3[l]},{key:"priceClose",label:"Price (close)",value:o?"-":(0,M.p1)(u,1)}]}),[t,o]),h=(0,r.useCallback)((e=>{const a=x.find((a=>a.key===e));return a?a.value:""}),[x]);return(0,f.jsx)(Ht.Z,{title:(0,f.jsx)(u,{}),classNameWrap:i.modalWrap,onDismiss:a,children:(0,f.jsxs)("div",{className:i.wrapper,children:[x.map(((e,a)=>(0,f.jsxs)("div",{className:i.row,children:[(0,f.jsx)(d.Z,{variant:"body1",children:e.label}),(0,f.jsx)(d.Z,{color:e=>e.primary.p3,variant:"subtitle1",children:e.value})]},a))),!!Number(t.pnl)&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("div",{className:i.row,children:[(0,f.jsx)(d.Z,{variant:"body1",children:"PnL"}),(0,f.jsx)(d.Z,{color:m.colorPnl,variant:"subtitle1",children:m.pnl})]}),(0,f.jsxs)("div",{className:i.row,children:[(0,f.jsx)(d.Z,{variant:"body1",children:"Fee"}),(0,f.jsx)(d.Z,{color:e=>e.primary.p3,variant:"subtitle1",children:m.fee})]}),(0,f.jsxs)("div",{className:i.row,children:[(0,f.jsx)(d.Z,{variant:"body1",children:"Trade Net"}),m.tradeNet]})]}),(0,f.jsx)(F.Z,{type:me.Dx.DEFAULT,href:"".concat(k.gi[n]).concat(o?t.txHashOpen:t.txHashClose),children:(0,f.jsxs)(ze.Z,{sx:{display:"flex",gap:1},children:[(0,f.jsx)(d.Z,{variant:"subtitle1",color:e=>e.primary.p2,children:"View on PulseChain"}),(0,f.jsx)("img",{src:k.T_[k.CHAIN_ID.PULSE].logo,alt:"PulseChain",className:i.chain})]})}),(0,f.jsx)(dr,{priceClose:h("priceClose"),leverage:h("leverage"),colorPnl:m.colorPnl,colorTrade:p,pair:t.pair,percent:m.percTradeNet,type:c})]})})},xr=(0,r.memo)(mr),hr=(0,y.ZL)()((e=>({table:{borderRadius:"16px",borderTopLeftRadius:"unset"},tableCell:{padding:"10px","& p":{fontSize:12}},headerTableCell:{padding:"8px"},tableWrap:{height:"240px",width:"100%",background:e.background.b1,borderRadius:"0px 16px 16px 16px",display:"flex",justifyContent:"center",border:"1px solid ".concat(e.primary.p3),alignItems:"center"}}))),br=()=>{const{classes:e}=hr(),a=(0,i.Z)("(max-width:640px)"),[t,n]=(0,r.useState)(),l=(0,r.useContext)(Ve),s=(0,r.useCallback)((e=>{n(e.data)}),[]),o=(0,r.useCallback)((()=>{n(void 0)}),[]),c=(0,r.useCallback)((()=>{Ke.handleGetMore()}),[]),p=(0,r.useMemo)((()=>null!==l&&void 0!==l&&l.length?l.map((e=>{const{pair:a,leverage:t,timestampOpen:r,timestampClose:i,positionSize:n,priceClose:l,priceOpen:s,actionOpen:o,actionClose:c,pnl:p,buy:u,tradeNet:m,collateral:x}=e,h=(0,M.Md)(l).isNaN(),b=h?r:i,g=(0,M.Md)(s,R.B9),y=(0,M.Md)(l,R.B9),v=(0,M.Md)(p,O.rD.decimals),T=(0,M.Md)(m,O.rD.decimals),I=(0,M.Md)(n,O.rD.decimals),C=T.times(100).div((0,M.Md)(x,O.rD.decimals)),E=(0,M.Md)(v).minus(T);return{fee:E.isZero()?"-":"".concat((0,M.p1)(E,3,void 0,!0)),typeClose:h?"-":(0,f.jsx)(Vt,{type:R.Z3[c],value:R.Z3[c],isLong:u,variant:"caption"}),typeOpen:(0,f.jsx)(Vt,{type:R.Z3[o],value:R.Z3[o],isLong:u,variant:"caption"}),date:(0,cr.eQ)(1e3*b,pr.z.DAY_MONTH_YEAR),pair:a,priceOpen:(0,M.p1)(g,1,0,!1),priceClose:h?"-":(0,M.p1)(y,1,0,!1),lev:"".concat(t,"x"),coll:"".concat((0,M.p1)(I,1)," ").concat(O.rD.symbol),pnl:v.isZero()?"-":(0,f.jsx)(d.Z,{variant:"subtitle2",color:e=>v.lt(0)?e.palette.error.main:e.palette.success.main,fontSize:12,children:(0,M.p1)(v,1)}),tradeNet:T.isZero()?"-":(0,f.jsx)(d.Z,{variant:"subtitle2",color:e=>T.lt(0)?e.palette.error.main:e.palette.success.main,fontSize:12,children:"".concat((0,M.p1)(T,1)," (").concat((0,M.p1)(C,1),"%)")}),data:e}})):[]),[l]);return(0,f.jsxs)(f.Fragment,{children:[p.length?(0,f.jsx)(Kt.Z,{className:e.table,tableHeight:240,withMenuTable:!0,withoutTopRightCorner:a,firstColumnPadding:20,data:p,columns:le,hideStickyColumn:!0,handleCellClick:s,handleEndReached:c,cellClassName:e.tableCell,headerCellClassName:e.headerTableCell,isRowClickable:!0}):(0,f.jsx)("div",{className:e.tableWrap,children:(0,f.jsx)(d.Z,{variant:"body2",children:"No Trades"})}),t&&(0,f.jsx)(xr,{onDismiss:o,historyModalInfo:t})]})},gr=(0,y.ZL)()((()=>({wrap:{height:"max-content",zIndex:4},tabBox:{display:"flex",justifyContent:"space-between",width:"100%"},tabs:{"@media (max-width: 640px)":{width:"100%"}}}))),yr=e=>{let{className:a,isPerpsEnableChain:t}=e;const{classes:i}=gr(),{openLimitOrdersCount:n,openTradesCount:s}=ye(),[o,d]=(0,r.useState)(R.KU.TRADES),c=(0,r.useCallback)((e=>{d(e)}),[]),[p,u]=(0,r.useState)(G);return(0,r.useEffect)((()=>{((e,a)=>{const t=p.map((t=>{switch(t.value){case R.KU.TRADES:return{...t,counter:String(e)};case R.KU.ORDERS:return{...t,counter:String(a)};default:return t}}));u(t)})(s,n)}),[s,n]),(0,f.jsxs)("div",{className:l()(i.wrap,a),children:[(0,f.jsx)("div",{className:i.tabBox,children:(0,f.jsx)(Oa,{tabs:p,onTab:c,currentVault:o,size:me.zf.S,className:i.tabs})}),(0,f.jsxs)("div",{children:[o===R.KU.TRADES&&(0,f.jsx)(Jt,{isPerpsEnableChain:t}),o===R.KU.ORDERS&&(0,f.jsx)(ir,{isPerpsEnableChain:t}),o===R.KU.HISTORY&&(0,f.jsx)(br,{})]})]})},vr=(0,r.memo)(yr);
1var fr=t(31685),Tr=t(88975),Ir=t(48310),Cr=t(67216),Er=t(89840),Sr=t(74748),Nr=t(44758),jr=t(83213);const Pr=(0,y.ZL)()((e=>({wrapperModal:{zIndex:5,backgroundColor:e.secondary.s1,borderRadius:"8px",overflow:"hidden",display:"flex",flexDirection:"column",paddingTop:8,paddingBottom:8},title:{fontWeight:700,fontSize:12,color:e.primary.p3,padding:"0 16px"},listOptions:{width:"100%",maxWidth:200,backgroundColor:e.secondary.s1,paddingTop:0,paddingBottom:0,"& .MuiCheckbox-root":{padding:"10px","& svg":{width:"18px",height:"18px",color:e.primary.p3},"&.Mui-checked":{"& svg":{color:e.primary.p3}}},"& .MuiListItemIcon-root":{minWidth:30},"& .MuiListItemText-root":{"& span":{fontSize:16}}}}))),Mr=["Show closes","Show all pairs"],Or=e=>{let{className:a}=e;const{classes:t}=Pr(),{recentTradesAllCloses:i,recentTradesAllPairs:n,setRecentTradesAllPairs:l,setRecentTradesAllCloses:s}=Le(),[o,c]=(0,r.useState)([{value:0,checked:i},{value:1,checked:n}]),[p,u]=(0,r.useState)(null),m=Boolean(p),x=m?"popper-settings":void 0;return(0,f.jsx)(fr.Z,{onClickAway:()=>{u(null)},children:(0,f.jsxs)("div",{children:[(0,f.jsx)(It.Z,{className:a,"aria-label":"setting",id:"settings-button",onClick:e=>{u(p?null:e.currentTarget)},children:(0,f.jsx)(Pt.sv,{})}),(0,f.jsx)(Tr.Z,{id:x,open:m,anchorEl:p,placement:"bottom-end",disablePortal:!0,children:(0,f.jsxs)("div",{className:t.wrapperModal,children:[(0,f.jsx)(d.Z,{className:t.title,children:"Recent trades"}),(0,f.jsx)(Ir.Z,{className:t.listOptions,children:Mr.map(((e,a)=>{const t="checkbox-last-trades-label-".concat(a),r=o.find((e=>e.value===a)),i=!!r&&r.checked;return(0,f.jsx)(Cr.ZP,{disablePadding:!0,children:(0,f.jsxs)(Er.Z,{role:void 0,onClick:(n=a,()=>{const e=o.map((e=>e.value===n?{...e,checked:!e.checked}:e));s(e[0].checked),l(e[1].checked),c(e)}),dense:!0,children:[(0,f.jsx)(Sr.Z,{children:(0,f.jsx)(Nr.Z,{edge:"start",checked:i,tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":t}})}),(0,f.jsx)(jr.Z,{id:t,primary:e})]})},a);var n}))})]})})]})})},kr=(0,r.memo)(Or),wr=e=>{let{caption:a,value:t}=e;return(0,f.jsxs)(ze.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,f.jsx)(d.Z,{variant:"caption",children:a}),(0,f.jsx)(d.Z,{variant:"caption",children:t})]})},Rr=(0,r.memo)(wr),Lr=(0,y.ZL)()((e=>({popperInner:{display:"flex",flexDirection:"column",borderRadius:"8px 0px 8px 8px",gap:4,width:210,padding:8,backgroundColor:e.secondary.s1}}))),Zr=e=>{let{selectedData:a}=e;const{classes:t}=Lr(),{address:r,date:i,pairTooltip:n,price:l,positionSize:s,leverage:o,coll:d,netPnl:c}=a;return(0,f.jsxs)("div",{className:t.popperInner,children:[(0,f.jsx)(Rr,{caption:r,value:i}),(0,f.jsx)(Rr,{caption:n,value:l}),(0,f.jsx)(Rr,{caption:"Position size",value:s}),(0,f.jsx)(Rr,{caption:"Leverage",value:"".concat(o,"x")}),(0,f.jsx)(Rr,{caption:"Collateral",value:"".concat(d," ").concat(O.rD.symbol)}),c&&(0,f.jsx)(Rr,{caption:"Net PnL",value:c})]})},Dr=(0,r.memo)(Zr),Fr=()=>(0,r.useContext)(Ze),Ar=(0,y.ZL)()((e=>({table:{height:365,zIndex:2,backgroundColor:e.background.b1,border:"1px solid ".concat(e.primary.p3),borderRadius:"16px",padding:"16px 0"},headerRow:{display:"flex",justifyContent:"space-between",alignItems:"center",position:"relative",zIndex:3,padding:"0 16px"},settingsControl:{padding:2,"& svg":{width:15,height:15}},tooltipInner:{display:"flex",flexDirection:"column",gap:10,maxWidth:200,width:"100%",padding:4},tooltipRow:{display:"flex",justifyContent:"space-between",alignItems:"center"},tooltipTitle:{fontWeight:700,fontSize:12},popperInner:{display:"flex",flexDirection:"column",borderRadius:"8px 0px 8px 8px",gap:4,width:210,padding:8,backgroundColor:e.secondary.s2},subHeaderRow:{padding:"16px",display:"grid",gridTemplateColumns:"1.1fr 0.6fr 0.9fr"},tableBody:{display:"flex",flexDirection:"column",gap:7,maxHeight:"270px",overflowY:"auto","&::-webkit-scrollbar":{width:"4px",height:"4px"},"&::-webkit-scrollbar-track":{background:"transparent",borderRadius:"100px",margin:"52px 5px 5px 100px"},"&::-webkit-scrollbar-thumb":{background:e.secondary.s1,borderRadius:"100px"},"::-webkit-scrollbar-corner":{background:"transparent"}},tableRow:{padding:"0 16px",display:"grid",gridTemplateColumns:"1.1fr 0.6fr 0.9fr",alignItems:"center",cursor:"pointer","&:hover":{backgroundColor:e.secondary.s1}},selectedRow:{backgroundColor:e.secondary.s1},tableCell:{textAlign:"center",fontSize:12,fontWeight:400,lineHeight:"16px",textWrap:"nowrap"},selectedCircle:{width:"8px",height:"8px",borderRadius:"50%",backgroundColor:e.primary.p3,display:"inline-block",marginLeft:"5px"},iconTooltip:{svg:{width:12,height:12}}}))),Wr=e=>{let{className:a}=e;const{classes:t}=Ar(),i=(0,Fa.Z)(),[n,s]=(0,r.useState)(-1),[o,c]=(0,r.useState)(null),p=Boolean(o),u=p?"popper-recent-trade":void 0,m=Fr(),{data:h}=(0,Pe.ZP)(x.E5,ke),b=(0,r.useMemo)((()=>h&&null!==(null===h||void 0===h?void 0:h.volume)?(0,M.p1)(h.volume,2,O.rD.decimals):"0.00"),[h]),g=()=>(0,f.jsx)("div",{className:t.tooltipInner,children:(0,f.jsx)(d.Z,{className:t.tooltipTitle,children:"Daily volume"})}),y=(0,r.useMemo)((()=>m?m.map(((e,a)=>{const{pair:r,buy:l,positionSize:s,leverage:o,price:c,address:p,timestamp:u,pnl:m}=e,x=l?R.XX.LONG:R.XX.SHORT,h=(0,M.Md)(s,O.rD.decimals),b=(0,M.Md)(c,R.B9),g=h.times(o),y=(0,M.Md)(m,O.rD.decimals),v=y.times(100).div(h).toFixed(0),T=!y.isZero(),I=y.gt(0)?"+":"",C=y.gt(0)?i.accent.a1:i.accent.a6,E=(0,f.jsxs)("span",{style:{color:C},children:[I,(0,M.p1)(y,0)]}),S=(0,f.jsx)("span",{style:{color:C},children:"".concat((0,M.p1)(y,1)," ").concat(O.rD.symbol," (").concat(v,"%)")});return{price:(0,M.p1)(b,0),coll:(0,M.p1)(h,0),collWithPnl:T?(0,f.jsxs)("span",{children:[(0,M.p1)(h,0),E]}):(0,M.p1)(h,0),type:x,leverage:o,address:p.slice(0,6),date:(0,cr.eQ)(1e3*Number(u)),positionSize:"".concat((0,M.p1)(g,0)," ").concat(O.rD.symbol),netPnl:T&&S,pair:(0,f.jsxs)(ze.Z,{sx:{display:"flex",gap:1,alignItems:"center"}
1,children:[a===n&&(0,f.jsx)("span",{className:t.selectedCircle}),(0,f.jsx)(Vt,{type:x,value:r,variant:"caption"})]}),pairTooltip:(0,f.jsxs)(ze.Z,{sx:{display:"flex",gap:1,alignItems:"center"},children:[(0,f.jsx)(d.Z,{variant:"caption",children:r}),(0,f.jsx)(Vt,{type:x,value:x,variant:"caption"})]})}})):[]),[m,n]),v=()=>{c(null),s(-1)};return(0,f.jsx)(fr.Z,{onClickAway:v,children:(0,f.jsxs)("div",{className:l()(t.table,a),children:[(0,f.jsxs)("div",{className:t.headerRow,children:[(0,f.jsxs)(ze.Z,{sx:{display:"flex",gap:"4px",alignItems:"center"},children:[(0,f.jsxs)(d.Z,{variant:"caption",children:["$",b]}),(0,f.jsx)(Xe.Z,{className:t.iconTooltip,placement:"bottom-end",title:(0,f.jsx)(g,{}),isInfo:!0})]}),(0,f.jsx)(kr,{className:t.settingsControl})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)("div",{className:t.subHeaderRow,children:se.map((e=>(0,f.jsx)(d.Z,{variant:"caption",sx:{fontWeight:700},align:e.align,children:e.label},e.dataKey)))}),(0,f.jsx)("div",{className:t.tableBody,children:y.map(((e,a)=>(0,f.jsx)("div",{className:l()(t.tableRow,a===n&&t.selectedRow),onClick:e=>((e,a)=>{c(e.currentTarget),s(a),e.currentTarget===o&&v()})(e,a),children:se.map((a=>(0,f.jsx)("div",{style:{textAlign:a.align},className:t.tableCell,children:e[a.dataKey]},a.dataKey)))},a)))})]}
1),(0,f.jsx)(Tr.Z,{id:u,open:p,anchorEl:o,placement:"left-start",disablePortal:!0,children:n>-1&&(0,f.jsx)(Dr,{selectedData:y[n]})})]})})},Br=(0,r.memo)(Wr);var _r=t(4807),Vr=t(16031),Kr=t.n(Vr);const Hr=()=>{const{libraryByChainId:e,library:a,chainId:t,account:i}=(0,s.Z)(),[n,l]=(0,r.useState)(!1),o=(0,A.Z)(),{addToast:d}=(0,D.e1)();return{swap:(0,r.useCallback)((async(e,r,n)=>{const s=(0,W.iV)(a,k.m5);try{let d;l(!0);const c=Date.now()/1e3+1200,p=(0,M.Md)(r).times(1.001).toFixed(0);d=(0,w.Gj)(n,k.m5)?await(0,W.kN)(s,"swapETHForExactTokens",[e,O.uN[n.symbol],i,c.toFixed(0)],{from:i,value:p},a,t):await(0,W.kN)(s,"swapTokensForExactTokens",[e,p,O.uN[n.symbol],i,c.toFixed(0)],{from:i},a,t),o("sDAI has been sent",{appearance:"success",chainId:t,hash:d.transactionHash})}catch(c){d("Denied Transaction",{appearance:"error"})}finally{l(!1)}}),[a,t,i]),loading:n,estimateSwap:(0,r.useCallback)((async(a,t)=>{const r=(0,W.iV)(e(k.m5),k.m5);return(await r.methods.getAmountsIn(a,O.uN[t.symbol],k.r_).call())[0]}),[])}};var Gr=t(62563),Ur=t(3463);let zr=function(e){return e.REQUIRED="This field is required.",e.INVALID_VALUE="Invalid value.",e.MAX="Value must be at most [max].",e}({});const Yr=Ur.Ry().shape({[tt.DEPOSIT]:Ur.Rx().required(zr.REQUIRED).typeError(zr.INVALID_VALUE).max(O.hj,(e=>{let{max:a}=e;return zr.MAX.replace("[max]",String(a))})),[tt.RECEIVE]:Ur.Z_(),[tt.TOKEN]:Ur.Z_()}),Xr=(0,y.ZL)()((e=>({container:{marginTop:"24px",display:"flex",flexDirection:"column",gap:"24px"},balance:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"8px",span:{color:e.primary.p3,fontWeight:600}},row:{display:"grid",gridTemplateColumns:"1fr 1fr",columnGap:"16px","@media (max-width: 640px)":{gridTemplateColumns:"1fr"}},line:{height:"1px",width:"100%",background:e.secondary.s3},buttonWrap:{display:"grid",gridTemplateColumns:"1fr 1fr",columnGap:"16px",width:"100%"}}))),Qr=()=>{const{classes:e}=Xr(),{onDismiss:a}=(0,r.useContext)(Ct.kr),[t,i]=(0,r.useState)(""),{swap:n,loading:l,estimateSwap:s}=Hr(),o=(0,r.useMemo)((()=>O.t$.map((e=>({name:e.symbol,value:e.address})))),[]),{control:c,watch:p,setValue:u,handleSubmit:m,formState:{isValid:x},reset:h}=(0,ka.cI)({mode:at,reValidateMode:"onChange",resolver:(0,Gr.X)(Yr),defaultValues:{[tt.DEPOSIT]:"",[tt.RECEIVE]:"",[tt.TOKEN]:o[0].value}}),b=(0,r.useMemo)((()=>(0,w.Td)(p(tt.TOKEN),k.m5)),[p(tt.TOKEN)]),g=(0,r.useMemo)((()=>(0,M.Md)((0,M.Md)(t).times(1.001),b.decimals).toString()),[t,b]),{handleApprove:y,approveLoading:v,allowanceLoading:T,isApproved:I,updateAllowance:C}=(0,pt.Z)(vt.hU[k.m5],b.address,g,O.rD.decimals),{updateBalance:E,balance:S}=(0,ct.Z)(b.address,k.m5),N=(0,r.useMemo)((()=>(0,M.aQ)(S,b.decimals)),[S,b]),j=(0,r.useMemo)((()=>S.lt(t)),[t,S]),P=(0,r.useMemo)((()=>(0,M.Md)(p(tt.DEPOSIT)).isNaN()||(0,M.Md)(p(tt.DEPOSIT)).isZero()),[p(tt.DEPOSIT),S]),R=(0,r.useCallback)(Kr().debounce(((e,a)=>{(async()=>{try{const t=await s(e,a);i(t)}catch(t){i("")}})()}),150),[]);(0,r.useEffect)((()=>{if(P||(0,M.Md)(p(tt.DEPOSIT)).isNaN())p(tt.DEPOSIT)||i("");else{const e=(0,M.I8)(p(tt.DEPOSIT),O.rD.decimals);R(e.toFixed(0),b)}}),[p(tt.DEPOSIT),b,P]);return(0,f.jsx)(Et.Z,{title:"Get sDAI",children:(0,f.jsxs)("form",{className:e.container,onSubmit:m((async e=>{const r=(0,M.I8)(e[tt.DEPOSIT],O.rD.decimals).toFixed(0);await n(r,t,b),await E(),await C(),a()})),children:[(0,f.jsxs)(d.Z,{variant:"body1",children:["Get ",O.rD.symbol," to make transactions on Perpetuals"]}),(0,f.jsx)(ka.Qr,{control:c,name:tt.DEPOSIT,render:e=>{let{field:{value:a,onBlur:t,onChange:r},fieldState:{error:i}}=e;return(0,f.jsx)(Ha,{label:"".concat(O.rD.symbol," amount"),value:a,fullWidth:!0,onBlur:t,onChange:e=>r(((e,a)=>{const{value:t}=e.target;return a.test(t)||(e.target.value=t.slice(0,-1)),e})(e,Oe.IV)),inputError:null===i||void 0===i?void 0:i.message})}}),(0,f.jsxs)("div",{children:[(0,f.jsxs)("div",{className:e.balance,children:[(0,f.jsx)(d.Z,{variant:"subtitle2",children:"You pay"}),(0,f.jsxs)(d.Z,{variant:"body2",children:["Balance ",(0,f.jsxs)("span",{children:[(0,M.p1)(N,2)," ",b.symbol]})]})]}),(0,f.jsxs)("div",{className:e.row,children:[(0,f.jsx)(ka.Qr,{control:c,name:tt.RECEIVE,render:e=>{let{field:{onBlur:a,onChange:r}}=e;return(0,f.jsx)(Ha,{value:(0,M.p1)(t||0,2,b.decimals),fullWidth:!0,onBlur:a,onChange:r,inputError:j&&"Insufficient Balance",readonly:!0})}}),(0,f.jsx)(ka.Qr,{control:c,name:tt.TOKEN,render:e=>{let{field:{value:a,onChange:t}}=e;return(0,f.jsx)(ba.Z,{value:a,onChange:e=>{u(tt.DEPOSIT,""),t(e.target.value)},items:o})}})]})]}),(0,f.jsxs)("div",{className:e.buttonWrap,children:[(0,f.jsx)(F.Z,{isFullWidth:!0,type:me.Dx.OUTLINE,onClick:a,children:"Cancel"}),I?(0,f.jsx)(Lt.Z,{chainId:k.m5,children:(0,f.jsx)(F.Z,{isFullWidth:!0,buttonType:"submit",disabled:P||j||!t,loader:l,children:"Get"})}):(0,f.jsx)(F.Z,{isFullWidth:!0,disabled:v||T,onClick:y,children:"Approve"})]})]})})},qr=(0,y.ZL)()((e=>({container:{padding:"16px",background:"linear-gradient(90deg, #152D40 0%, #1D3F59 51.56%, #152D40 100%)",borderRadius:"8px",border:"1px solid #4D9EDC",display:"flex",alignItems:"center",justifyContent:"space-between","@media (max-width: 640px)":{flexDirection:"column",gap:"16px"}},title:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"16px"}}))),$r=()=>{const{classes:e}
1=qr(),[a]=(0,Ct.dd)((0,f.jsx)(Qr,{}));return(0,f.jsxs)("div",{className:e.container,children:[(0,f.jsxs)("div",{className:e.title,children:[(0,f.jsx)(_r.Z,{symbol:O.rD.symbol,size:50}),(0,f.jsxs)(d.Z,{variant:"body1",children:["Get ",O.rD.symbol," to make transactions on Perpetuals"]})]}),(0,f.jsxs)(F.Z,{onClick:a,children:["Get ",O.rD.symbol]})]})},Jr=(0,y.ZL)()((()=>({container:{marginTop:24,display:"grid",gridTemplateColumns:"auto 300px",marginBottom:40,gap:16,zIndex:4,position:"relative","@media (max-width: 959px)":{display:"flex",flexDirection:"column"}},leftBlock:{width:"100%",display:"flex",flexDirection:"column",gap:16,zIndex:4},priceChart:{maxWidth:628,width:"100%","@media (max-width: 959px)":{maxWidth:"unset"}},isFull:{maxWidth:"100%","& div":{maxWidth:"100%"}},orderFormWrap:{width:"100%",maxWidth:300,zIndex:"0 !important","@media (max-width: 959px)":{maxWidth:"unset"}},tableRecentTrade:{maxWidth:272,width:"100%","@media (max-width: 959px)":{maxWidth:"unset"}},chartsTradeWrap:{display:"flex",width:"100%",gap:16,"@media (max-width: 959px)":{display:"block"}},banner:{marginTop:"24px"}}))),ei=()=>{const{chainId:e}=(0,s.Z)(),{classes:a}=Jr(),t=(0,i.Z)("(max-width:959px)"),n=(0,r.useMemo)((()=>e===k.m5),[e]),{tradesMode:o,chartMode:d}=Le(),c=(0,r.useMemo)((()=>o!==R.IK.ON),[o]),p=(0,r.useMemo)((()=>d===R.IK.ON),[d]);return(0,f.jsxs)(Ge,{children:[!n&&(0,f.jsx)(Dt,{}),(0,f.jsx)(Ue.Z,{transparentBg:!0,className:a.banner,children:(0,f.jsx)($r,{})}),(0,f.jsx)(Ue.Z,{className:a.container,transparentBg:!0,children:t?(0,f.jsxs)("div",{className:a.leftBlock,children:[(0,f.jsx)(fa,{}),(0,f.jsx)(ja,{className:l()(a.priceChart,{[a.isFull]:c}),isShowAdvancedMode:p}),(0,f.jsx)(ha,{}),(0,f.jsx)(Rt,{className:a.orderFormWrap,isPerpsEnableChain:n}),(0,f.jsx)(vr,{isPerpsEnableChain:n}),!c&&(0,f.jsx)(Br,{className:a.tableRecentTrade})]}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("div",{className:a.leftBlock,children:[(0,f.jsx)(fa,{}),(0,f.jsxs)("div",{className:a.chartsTradeWrap,children:[(0,f.jsx)(ja,{className:l()(a.priceChart,{[a.isFull]:c}),isShowAdvancedMode:p}),!c&&(0,f.jsx)(Br,{className:a.tableRecentTrade})]}),(0,f.jsx)(vr,{isPerpsEnableChain:n})]}),(0,f.jsx)(Rt,{className:a.orderFormWrap,isPerpsEnableChain:n})]})})]})}},89680:(e,a,t)=>{t.d(a,{Z:()=>x});var r=t(47313),i=t(52422),n=t(65070),l=t(27163),s=t(51015),o=t(97116),d=t(64396),c=t(42385),p=t(67489),u=t(63530),m=t(54817);const x=(e,a,t,x)=>{const{account:h,library:b,chainId:g,libraryByChainId:y}=(0,l.Z)(),{addToast:v}=(0,n.e1)(),f=(0,s.Z)(),[T,I]=(0,r.useState)(new i.Z(0)),[C,E]=(0,r.useState)(!1),[S,N]=(0,r.useState)(!0),j=(0,r.useMemo)((()=>(0,c.E1)(a,m.r_)||(0,o.I8)(t,x).lte(T)),[T,t,x]),P=(0,r.useCallback)((async()=>{const t=(0,d.vd)(y(g),p,a);try{if((0,c.E1)(a,m.r_))return;N(!0);const r=await t.methods.allowance(h,e).call();I((0,o.Md)(r))}catch(r){console.error(r)}finally{N(!1)}}),[h,e,a,b]),M=(0,r.useCallback)((async()=>{E(!0);const t=(0,d.vd)(b,p,a);try{const a=await(0,d.kN)(t,"approve",[e,u.fV],{from:h},b,g);return await P(),f("Approved",{appearance:"success",chainId:g,hash:a.transactionHash}),a}catch(r){r.message.includes("User denied transaction signature")?v("Denied Transaction",{appearance:"error"}):v("Transaction Failed",{appearance:"error"})}finally{E(!1)}}),[e,a,h,b,g]);return(0,r.useEffect)((()=>{h&&a&&e&&b&&(async()=>{await P()})()}),[h,a,e,g,b]),{handleApprove:M,allowance:T,approveLoading:C,allowanceLoading:S,updateAllowance:P,isApproved:j}}},34459:(e,a,t)=>{t.d(a,{Z:()=>m});var r=t(47313),i=t(15372),n=t.n(i),l=t(27163),s=t(97116),o=t(64396),d=t(42385),c=t(56595),p=t(67489),u=t(38787);const m=(e,a)=>{const{account:t,library:i,libraryByChainId:m}=(0,l.Z)(),x=e instanceof u.W?e:(0,d.Td)(e,a),[h,b]=(0,r.useState)((0,s.Md)(0)),g=(0,r.useCallback)((async()=>{if(!t)return void b((0,s.Md)(0));let r=(0,s.Md)(0);if((0,d.Gj)(x,a)){const e=new(n())(m(a).provider);r=(0,s.Md)(await e.eth.getBalance(t))}else{const i=x instanceof u.W?x.address:e,n=(0,o.vd)(m(a),p,i);r=(0,s.Md)(await n.methods.balanceOf(t).call())}b(r)}),[x,t,i]);return(0,r.useEffect)((()=>{if(a){g().catch((e=>console.error("Failed to fetch token balance: ".concat(e.stack))));const e=setInterval(g,c.W6);return()=>clearInterval(e)}}),[g,a,i,t]),{balance:h,updateBalance:g}}},51015:(e,a,t)=>{t.d(a,{Z:()=>l});t(47313);var r=t(65070),i=t(54817),n=t(46417);const l=()=>{const{addToast:e}=(0,r.e1)();return(a,t)=>{let{hash:r,chainId:l,...s}=t;const o=(0,n.jsx)("a",{href:"".concat(i.gi[l]).concat(r),target:"_blank",rel:"noreferrer",style:{cursor:"pointer",fontWeight:600,marginLeft:"5px",color:"#4EA8DE"},children:"View"});e((0,n.jsxs)(n.Fragment,{children:[a,o]}),{...s})}}},42385:(e,a,t)=>{t.d(a,{E1:()=>n,Gj:()=>o,Td:()=>d,mY:()=>s,p:()=>l});var r=t(54817),i=t(63530);function n(e,a){return!(!e||!a)&&e.toLowerCase()===a.toLowerCase()}const l=e=>e===r.r_;function s(e,a){return i.eT[a][e]}function o(e,a){return!!e&&e===i.LH[a]}function d(e,a){return n(e,r.r_)?i.LH[a]:Object.values(i.eT[a]).find((a=>n(a.address,e)))}},91267:(e,a,t)=>{e.exports=t.p+"static/media/share-bg.36414f2bdddf3a56cdfa.png"},36389:(e,a,t)=>
1{e.exports=t.p+"static/media/dex-finance-logo-full.a145df0c535774cc916c.png"},67489:e=>{e.exports=JSON.parse('[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"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":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","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":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"bridgeBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_l1Address","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"bridgeInit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"bridgeMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isMaster","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l1Address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2Gateway","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":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"}
1,{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"transferAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]')}}]);

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.