@orderly.network/portfolio 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -31,7 +31,7 @@ type UseLayoutBuilderOptions = {
31
31
  };
32
32
  declare const usePortfolioLayoutScript: (props: UseLayoutBuilderOptions) => {
33
33
  items: {
34
- name: never;
34
+ name: string;
35
35
  href: PortfolioLeftSidebarPath;
36
36
  icon: react_jsx_runtime.JSX.Element;
37
37
  }[];
package/dist/index.d.ts CHANGED
@@ -31,7 +31,7 @@ type UseLayoutBuilderOptions = {
31
31
  };
32
32
  declare const usePortfolioLayoutScript: (props: UseLayoutBuilderOptions) => {
33
33
  items: {
34
- name: never;
34
+ name: string;
35
35
  href: PortfolioLeftSidebarPath;
36
36
  icon: react_jsx_runtime.JSX.Element;
37
37
  }[];
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ var chart = require('@orderly.network/chart');
17
17
  var uiPositions = require('@orderly.network/ui-positions');
18
18
  var uiOrders = require('@orderly.network/ui-orders');
19
19
 
20
- var ci=Object.defineProperty;var $=(e,t)=>{for(var o in t)ci(e,o,{get:t[o],enumerable:true});};var ot=e=>{let{children:t,leftSideProps:o}=e;return jsxRuntime.jsx(uiScaffold.Scaffold,{leftSidebar:e.hideSideBar?null:jsxRuntime.jsx(yi,{items:e.items,current:e.routerAdapter?.currentPath,...o,routerAdapter:e.routerAdapter}),routerAdapter:e.routerAdapter,classNames:{content:"lg:oui-mb-0",topNavbar:"oui-bg-base-9",leftSidebar:"oui-m-3 oui-p-4 oui-broder oui-border-[1px] oui-border-line oui-rounded-xl oui-bg-base-9"},...e,children:jsxRuntime.jsx(ui.Box,{mx:3,my:6,children:t})})},yi=e=>{let{expanded:t,setExpand:o}=uiScaffold.useScaffoldContext(),{t:i}=i18n.useTranslation();return jsxRuntime.jsx(uiScaffold.SideBar,{title:i("common.portfolio"),...e,open:t,onOpenChange:r=>o(r),onItemSelect:r=>{e.onItemSelect?.(r),e.routerAdapter?.onRouteChange?.({href:r.href||"",name:r.name});}})};var Et=(n=>(n.Overview="/portfolio",n.Positions="/portfolio/positions",n.Orders="/portfolio/orders",n.FeeTier="/portfolio/feeTier",n.ApiKey="/portfolio/apiKey",n.Setting="/portfolio/setting",n))(Et||{}),it=e=>{let{routerAdapter:t}=uiScaffold.useScaffoldContext(),[o,i]=react.useState(e.current??t?.currentPath??"/portfolio"),{t:r}=i18n.useTranslation();react.useEffect(()=>{(o||t?.currentPath)&&i(o||t?.currentPath||"/portfolio");},[o,t?.currentPath]);let a=react.useMemo(()=>[{name:r("common.overview"),href:"/portfolio",icon:jsxRuntime.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M5.24316 2.19727C3.58641 2.19727 2.24316 3.54044 2.24316 5.19727V12.6973C2.24316 14.3541 3.58641 15.6973 5.24316 15.6973H12.7432C14.3999 15.6973 15.7432 14.3541 15.7432 12.6973V5.19727C15.7432 3.54044 14.3999 2.19727 12.7432 2.19727H5.24316ZM5.24316 3.69727H12.7432C13.5719 3.69727 14.2432 4.36882 14.2432 5.19727V12.6973C14.2432 13.2484 13.9319 13.734 13.4894 13.9947C13.3454 12.2235 11.4427 11.1973 8.99316 11.1973C6.54366 11.1973 4.60341 12.251 4.48566 13.9997C4.04241 13.739 3.74316 13.2484 3.74316 12.6973V5.19727C3.74316 4.36882 4.41441 3.69727 5.24316 3.69727ZM8.99316 5.19727C7.54341 5.19727 6.36816 6.37252 6.36816 7.82227C6.36816 9.27202 7.54341 10.4473 8.99316 10.4473C10.4429 10.4473 11.6182 9.27202 11.6182 7.82227C11.6182 6.37252 10.4429 5.19727 8.99316 5.19727Z",className:"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]"})})},{name:r("common.positions"),href:"/portfolio/positions",icon:jsxRuntime.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M4.51 3.021a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h9a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3zm2.25 3a.76.76 0 0 1 .54.211.77.77 0 0 1 0 1.078l-.75.75a.77.77 0 0 1-.54.211h-.75a.75.75 0 0 1 0-1.5h.422l.54-.539a.76.76 0 0 1 .539-.21m3 .75h3a.75.75 0 0 1 0 1.5h-3a.75.75 0 0 1 0-1.5m-3 2.25a.76.76 0 0 1 .54.211.77.77 0 0 1 0 1.079l-.75.75a.77.77 0 0 1-.54.21h-.75a.75.75 0 0 1 0-1.5h.422l.54-.539a.76.76 0 0 1 .539-.21m3 .75h3a.75.75 0 0 1 0 1.5h-3a.75.75 0 0 1 0-1.5",className:"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]"})})},{name:r("common.orders"),href:"/portfolio/orders",icon:jsxRuntime.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M5.693 1.5C4.229 1.5 3.02 2.61 3.02 4.006v9.984c0 1.398 1.208 2.508 2.672 2.508h6.657c1.463 0 2.671-1.11 2.671-2.508V6.726c0-2.672-2.579-5.227-5.25-5.227zm4.828 1.593c1.33.352 2.562 1.58 2.906 2.906h-1.734c-.667 0-1.172-.472-1.172-1.008zm-3.75 2.906h.75a.75.75 0 0 1 0 1.5h-.75a.75.75 0 0 1 0-1.5m0 3h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5m0 3h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5",className:"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]"})})},{name:r("portfolio.feeTier"),href:"/portfolio/feeTier",icon:jsxRuntime.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M5.99829 1.51062C4.34154 1.51062 2.99829 2.85387 2.99829 4.51062V13.5106C2.99829 15.1674 4.34154 16.5106 5.99829 16.5106H11.9983C13.655 16.5106 14.9983 15.1674 14.9983 13.5106V4.51062C14.9983 2.85387 13.655 1.51062 11.9983 1.51062H5.99829ZM5.99829 3.76062H11.9983C12.4123 3.76062 12.7483 4.09662 12.7483 4.51062V6.01062C12.7483 6.42462 12.4123 6.76062 11.9983 6.76062H5.99829C5.58429 6.76062 5.24829 6.42462 5.24829 6.01062V4.51062C5.24829 4.09662 5.58429 3.76062 5.99829 3.76062ZM5.99829 8.26062C6.41229 8.26062 6.74829 8.59662 6.74829 9.01062C6.74829 9.42462 6.41229 9.76062 5.99829 9.76062C5.58429 9.76062 5.24829 9.42462 5.24829 9.01062C5.24829 8.59662 5.58429 8.26062 5.99829 8.26062ZM8.99829 8.26062C9.41229 8.26062 9.74829 8.59662 9.74829 9.01062C9.74829 9.42462 9.41229 9.76062 8.99829 9.76062C8.58429 9.76062 8.24829 9.42462 8.24829 9.01062C8.24829 8.59662 8.58429 8.26062 8.99829 8.26062ZM11.9983 8.26062C12.4123 8.26062 12.7483 8.59662 12.7483 9.01062C12.7483 9.42462 12.4123 9.76062 11.9983 9.76062C11.5843 9.76062 11.2483 9.42462 11.2483 9.01062C11.2483 8.59662 11.5843 8.26062 11.9983 8.26062ZM5.99829 10.5106C6.41229 10.5106 6.74829 10.8466 6.74829 11.2606C6.74829 11.6746 6.41229 12.0106 5.99829 12.0106C5.58429 12.0106 5.24829 11.6746 5.24829 11.2606C5.24829 10.8466 5.58429 10.5106 5.99829 10.5106ZM8.99829 10.5106C9.41229 10.5106 9.74829 10.8466 9.74829 11.2606C9.74829 11.6746 9.41229 12.0106 8.99829 12.0106C8.58429 12.0106 8.24829 11.6746 8.24829 11.2606C8.24829 10.8466 8.58429 10.5106 8.99829 10.5106ZM11.9983 10.5106C12.4123 10.5106 12.7483 10.8466 12.7483 11.2606V13.5106C12.7483 13.9246 12.4123 14.2606 11.9983 14.2606C11.5843 14.2606 11.2483 13.9246 11.2483 13.5106V11.2606C11.2483 10.8466 11.5843 10.5106 11.9983 10.5106ZM5.99829 12.7606C6.41229 12.7606 6.74829 13.0966 6.74829 13.5106C6.74829 13.9246 6.41229 14.2606 5.99829 14.2606C5.58429 14.2606 5.24829 13.9246 5.24829 13.5106C5.24829 13.0966 5.58429 12.7606 5.99829 12.7606ZM8.99829 12.7606C9.41229 12.7606 9.74829 13.0966 9.74829 13.5106C9.74829 13.9246 9.41229 14.2606 8.99829 14.2606C8.58429 14.2606 8.24829 13.9246 8.24829 13.5106C8.24829 13.0966 8.58429 12.7606 8.99829 12.7606Z",className:"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]"})})},{name:r("portfolio.apiKeys"),href:"/portfolio/apiKey",icon:jsxRuntime.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M9.02124 1.49915C7.77849 1.49915 6.77124 2.5064 6.77124 3.74915C6.77124 4.70015 7.40049 5.55517 8.26974 5.86942L8.27124 8.24915H5.27124C4.85724 8.24915 4.52124 8.58515 4.52124 8.99915L4.52048 12.1304C3.65723 12.4274 3.02124 13.2981 3.02124 14.2491C3.02124 15.4919 4.02849 16.4991 5.27124 16.4991C6.51399 16.4991 7.52124 15.4919 7.52124 14.2491C7.52124 13.2981 6.92499 12.4596 6.02949 12.1206L6.02124 9.74915H9.02124H12.0212L12.0265 12.1319C11.1257 12.4446 10.5212 13.2981 10.5212 14.2491C10.5212 15.4919 11.5285 16.4991 12.7712 16.4991C14.014 16.4991 15.0212 15.4919 15.0212 14.2491C15.0212 13.2981 14.407 12.4611 13.5272 12.1281L13.5212 8.99915C13.5212 8.58515 13.1852 8.24915 12.7712 8.24915H9.77124L9.76899 5.86639C10.642 5.55814 11.2712 4.70015 11.2712 3.74915C11.2712 2.5064 10.264 1.49915 9.02124 1.49915Z",className:"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]"})})},{name:r("portfolio.setting"),href:"/portfolio/setting",icon:jsxRuntime.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M6.72601 1.84159C5.66251 2.17834 4.74527 2.7296 3.93677 3.48185C3.68702 3.7151 3.61052 4.09534 3.77252 4.39609C4.37327 5.50684 3.74476 6.69484 2.39026 6.76309C2.05801 6.78034 1.76477 7.02559 1.68677 7.34884C1.55252 7.90759 1.49927 8.37559 1.49927 8.98984C1.49927 9.50509 1.55476 10.0878 1.66351 10.6068C1.73101 10.9308 2.01302 11.1641 2.34302 11.1933C3.70652 11.3111 4.38152 12.3506 3.77252 13.6773C3.63752 13.9721 3.69902 14.3246 3.93677 14.5443C4.73327 15.2816 5.64826 15.8006 6.72601 16.1381C7.03351 16.2348 7.38076 16.1186 7.56976 15.8568C8.40376 14.7033 9.61352 14.6988 10.4055 15.8568C10.5923 16.1298 10.9343 16.2611 11.2493 16.1613C12.2895 15.8343 13.2585 15.2771 14.0618 14.5443C14.3093 14.3193 14.3745 13.9541 14.226 13.6541C13.602 12.3948 14.3198 11.2383 15.6083 11.2166C15.9503 11.2106 16.2548 10.9856 16.335 10.6541C16.4648 10.1163 16.4993 9.64759 16.4993 8.98984C16.4993 8.42434 16.4325 7.86709 16.3118 7.32559C16.2353 6.98359 15.936 6.74059 15.585 6.73984C14.3168 6.73759 13.6058 5.49109 14.226 4.39609C14.3985 4.09084 14.3445 3.71735 14.085 3.48185C13.2675 2.73935 12.2708 2.15959 11.226 1.84159C10.905 1.74409 10.5638 1.86409 10.3823 2.14609C9.65776 3.27109 8.30477 3.29135 7.59302 2.16935C7.41077 1.8821 7.05001 1.73809 6.72601 1.84159ZM8.99927 5.98984C10.656 5.98984 11.9993 7.33309 11.9993 8.98984C11.9993 10.6466 10.656 11.9898 8.99927 11.9898C7.34252 11.9898 5.99927 10.6466 5.99927 8.98984C5.99927 7.33309 7.34252 5.98984 8.99927 5.98984Z",className:"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]"})})}],[r]),n=hooks.useMediaQuery("(max-width: 768px)");return {items:a,current:o,hideSideBar:n,onItemSelect:s=>{typeof s.href>"u"||(i(s.href),t?.onRouteChange({href:s.href,name:s.name}));}}};var wi=e=>{let t=it({current:e.leftSideProps?.current});return jsxRuntime.jsx(ot,{...t,...e,children:e.children})};var so={};$(so,{AssetHistory:()=>ce,AssetHistoryWidget:()=>de,AssetWidget:()=>ne,AssetsChartWidget:()=>ze,AssetsUI:()=>ae,DistributionHistoryUI:()=>ge,DistributionHistoryWidget:()=>ye,FundingHistoryWidget:()=>fe,HistoryDataGroupWidget:()=>xe,OverviewContextProvider:()=>Le,OverviewPage:()=>no,PerformanceUI:()=>be,PerformanceWidget:()=>ve,useAssetHistoryColumns:()=>le,useAssetHistoryHook:()=>ue,useAssetsLineChartScript:()=>Me,useFundingHistoryColumns:()=>me,useFundingHistoryHook:()=>pe,usePerformanceScript:()=>he});var at=()=>{let{connect:e}=hooks.useWalletConnector(),{state:t}=hooks.useAccount(),{totalValue:o,freeCollateral:i}=hooks.useCollateral(),{wrongNetwork:r,disabledConnect:a}=reactApp.useAppContext(),[n]=hooks.usePositionStream(),[s]=hooks.useLeverage(),[l,u]=hooks.useLocalStorage("orderly_assets_visible",true),m=react.useMemo(()=>!r&&!a&&(t.status===types.AccountStatusEnum.EnableTrading||t.status===types.AccountStatusEnum.EnableTradingWithoutConnected),[t.status,r,a]),y=()=>{ui.modal.show(uiLeverage.LeverageWidgetId);},b=()=>{ui.modal.show(uiTransfer.DepositAndWithdrawWithDialogId,{activeTab:"deposit"});},p=()=>{ui.modal.show(uiTransfer.DepositAndWithdrawWithDialogId,{activeTab:"withdraw"});};return {canTrade:m,connect:e,portfolioValue:o,freeCollateral:i,unrealPnL:n.aggregated.total_unreal_pnl,unrealROI:n.totalUnrealizedROI,currentLeverage:s,onLeverageEdit:y,visible:l,wrongNetwork:r,toggleVisible:()=>u(!l),onDeposit:b,onWithdraw:p}};var Bt=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.CardTitle,{children:t("common.overview")}),jsxRuntime.jsxs(ui.Flex,{gap:3,children:[jsxRuntime.jsx(ui.Button,{disabled:e.disabled,size:"md",color:"secondary",onClick:()=>e.onWithdraw?.(),icon:jsxRuntime.jsx(ui.ArrowUpSquareFillIcon,{}),"data-testid":"oui-testid-portfolio-assets-withdraw-btn",children:t("common.withdraw")}),jsxRuntime.jsx(ui.Button,{disabled:e.disabled,size:"md",onClick:()=>e.onDeposit?.(),icon:jsxRuntime.jsx(ui.ArrowDownSquareFillIcon,{}),"data-testid":"oui-testid-portfolio-assets-deposit-btn",children:t("common.deposit")})]})]})};var ae=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsx(ui.Card,{classNames:{footer:"oui-h-[48px]",root:"oui-h-[240px]"},title:jsxRuntime.jsx(Bt,{disabled:!e.canTrade,onDeposit:e.onDeposit,onWithdraw:e.onWithdraw}),children:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:t("common.totalValue")}),jsxRuntime.jsx("button",{onClick:()=>{e.toggleVisible();},"data-testid":"oui-testid-portfolio-assets-eye-btn",children:e.visible?jsxRuntime.jsx(ui.EyeIcon,{size:16,color:"white"}):jsxRuntime.jsx(ui.EyeCloseIcon,{size:16,color:"white"})})]}),children:jsxRuntime.jsx(ui.Either,{value:e.canTrade,left:jsxRuntime.jsx(Zi,{}),children:jsxRuntime.jsx(ui.Text.numeral,{visible:e.visible,unit:"USDC",style:{"--oui-gradient-angle":"45deg"},unitClassName:"oui-text-base oui-text-base-contrast-80 oui-h-9 oui-ml-1",className:ui.gradientTextVariants({className:"oui-font-bold oui-text-3xl",color:"brand"}),children:e.portfolioValue??"--"})})}),jsxRuntime.jsx(ui.Divider,{className:"oui-my-4",intensity:8}),jsxRuntime.jsx(uiConnector.AuthGuard,{buttonProps:{size:"lg",fullWidth:true},children:jsxRuntime.jsx(qi,{unrealROI:e.unrealROI,unrealPnL:e.unrealPnL,freeCollateral:e.freeCollateral,currentLeverage:e.currentLeverage,onLeverageEdit:e.onLeverageEdit,visible:e.visible})})]})})},Zi=()=>jsxRuntime.jsxs(ui.Flex,{gap:1,className:"oui-h-9",children:[jsxRuntime.jsx(ui.Text.gradient,{color:"brand",weight:"bold",children:"--"}),jsxRuntime.jsx(ui.Text,{children:"USDC"})]}),qi=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Grid,{cols:3,className:"oui-h-12",children:[jsxRuntime.jsx(ui.Statistic,{label:t("common.unrealizedPnl"),children:jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Text.numeral,{coloring:true,size:"lg",weight:"semibold",visible:e.visible,children:e.unrealPnL}),jsxRuntime.jsx(ui.Text.numeral,{coloring:true,rule:"percentages",size:"sm",weight:"semibold",prefix:"(",suffix:")",visible:e.visible,children:e.unrealROI})]})}),jsxRuntime.jsx(ui.Statistic,{label:t("leverage.maxAccountLeverage"),children:jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx("span",{"data-testid":"oui-testid-portfolio-assets-maxAccountLeverage-value",className:"oui-text-lg",children:e.currentLeverage}),jsxRuntime.jsx("span",{children:"x"}),jsxRuntime.jsx("button",{className:"oui-ml-1",onClick:()=>e.onLeverageEdit?.(),"data-testid":"oui-testid-portfolio-assets-maxAccountLeverage-edit-btn",children:jsxRuntime.jsx(ui.EditIcon,{color:"white",size:18})})]})}),jsxRuntime.jsx(ui.Statistic,{label:t("portfolio.overview.availableWithdraw"),align:"right",valueProps:{size:"lg",visible:e.visible},children:e.freeCollateral})]})};var ne=()=>{let{canTrade:e,connect:t,portfolioValue:o,onLeverageEdit:i,...r}=at();return jsxRuntime.jsx(ae,{onConnectWallet:t,canTrade:e,portfolioValue:o,onLeverageEdit:i,...r})};var Ne=(i=>(i.WEEK="7D",i.MONTH="30D",i.QUARTER="90D",i))(Ne||{}),Gt=(e,t)=>{let[o]=react.useState(()=>{let d=new Date;return new Date(dateFns.getYear(d),dateFns.getMonth(d),dateFns.getDate(d),0,0,0)}),{isRealtime:i=false}=t||{},r=Object.values(Ne),[a,n]=hooks.useLocalStorage(e,"7D"),{totalValue:s}=hooks.useCollateral(),l=d=>{switch(d){case "30D":return dateFns.subDays(o,35);case "90D":return dateFns.subDays(o,95);default:return dateFns.subDays(o,10)}},u=react.useMemo(()=>{switch(a){case "7D":return 7;case "30D":return 30;case "90D":return 90;default:return 7}},[a]),[m,y]=react.useState(l(a)),b=react.useMemo(()=>dateFns.addDays(o,1),[o]),[p]=hooks.useStatisticsDaily({startDate:m.toISOString().split("T")[0],endDate:b.toISOString().split("T")[0]},{ignoreAggregation:true}),[c]=hooks.useAssetsHistory({startTime:dateFns.subDays(o,2).getTime().toString(),endTime:b.getTime().toString(),pageSize:50}),f=d=>{y(l(d)),n(d);},ee=d=>{if(s==null)return null;let C=new utils.Decimal(s).sub(d.lastItem.account_value);if(Array.isArray(d.assetHistory)&&d.assetHistory.length>0&&typeof d.lastItem.snapshot_time<"u"){let S=[];for(let h=0;h<d.assetHistory.length;h++){let w=d.assetHistory[h];w.created_time>d.lastItem.snapshot_time&&S.push(w);}for(let h=0;h<S.length;h++){let w=S[h];w.side==="DEPOSIT"?w.trans_status==="COMPLETED"&&(C=C.sub(w.amount)):w.side==="WITHDRAW"&&w.trans_status!=="FAILED"&&(C=C.add(w.amount));}}return C.toNumber()},V=(d,C)=>{let S=d[d.length-1],h=dateFns.format(o,"yyyy-MM-dd");return {...S,date:h,perp_volume:0,account_value:C!==null?C:S?.account_value??0,pnl:ee({lastItem:S,assetHistory:c})??0}},G=(d,C)=>!Array.isArray(d)||d.length===0?d:(d[d.length-1].date,dateFns.format(o,"yyyy-MM-dd"),d.concat([V(d,C)])),te=(d,C)=>{let S=C?G(d,s):d;return S.slice(Math.max(0,S.length-u))},D=react.useMemo(()=>s==null?[]:te(p,i),[p,s,c,i]),et=react.useMemo(()=>{let d=utils.zero,C=utils.zero,S=utils.zero;if(Array.isArray(D)&&D.length){D.forEach(ie=>{C=C.add(ie.pnl);});let h=D[0],w=p.findIndex(ie=>ie.date===h.date),oe=p[w-1]?.account_value;typeof oe>"u"||oe===0?S=utils.zero:S=C.div(oe);}if(p.length>0)for(let h=0;h<u;h++){let w=p[p.length-1-h];w&&(d=d.add(w.perp_volume??0));}return {vol:d.toNumber(),pnl:C.toNumber(),roi:S.toNumber()}},[D,p,u]);return {periodTypes:r,period:a,onPeriodChange:f,data:D,aggregateValue:et,createFakeData:(d,C)=>Array.from({length:2},(S,h)=>({date:dateFns.format(h===0?m:new Date,"yyyy-MM-dd"),...h===0?d:C})),volumeUpdateDate:p?.[p.length-1]?.date??""}};var $t=react.createContext({}),lr="portfolio_performance_period",Ee=()=>react.useContext($t),Le=({children:e})=>{let t=Gt(lr,{isRealtime:true});return jsxRuntime.jsx($t.Provider,{value:{...t},children:e})};var Me=()=>{let e=Ee(),{wrongNetwork:t,disabledConnect:o}=reactApp.useAppContext(),{state:i}=hooks.useAccount(),r=reactApp.useDataTap(e.data,{accountStatus:i.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading,fallbackData:e.createFakeData({account_value:0},{account_value:500})}),a=react.useMemo(()=>r?.length??0>0?r:e.createFakeData({account_value:0},{account_value:500}),[r]),n=t||o||!e.data.length;return {...e,data:a,invisible:n}};var We=e=>{let{t}=i18n.useTranslation(),o=react.useMemo(()=>({"7D":t("common.select.7d"),"30D":t("common.select.30d"),"90D":t("common.select.90d")}),[t]);return jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.CardTitle,{children:e.title}),jsxRuntime.jsx("div",{className:"oui-min-w-14",children:jsxRuntime.jsx(ui.Select.options,{size:"xs",value:e.period,onValueChange:e.onPeriodChange,options:e.periodTypes.map(i=>({value:i,label:o[i]}))})})]})};var Zt=e=>{let{onPeriodChange:t,periodTypes:o,period:i,data:r}=e,{t:a}=i18n.useTranslation();return jsxRuntime.jsx(ui.Card,{title:jsxRuntime.jsx(We,{onPeriodChange:t,periodTypes:o,period:i,title:a("common.assets")}),id:"portfolio-overview-assets-chart",classNames:{content:"oui-h-[168px] oui-pb-0"},children:jsxRuntime.jsx(chart.AssetLineChart,{data:e.data,invisible:e.invisible})})};var ze=()=>{let e=Me();return jsxRuntime.jsx(Zt,{...e})};var le=()=>{let{data:e}=hooks.useQuery("/v1/public/chain_info"),{t}=i18n.useTranslation();return react.useMemo(()=>[{title:t("common.token"),dataIndex:"token",width:80,render:i=>jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.TokenIcon,{name:i,size:"xs"}),jsxRuntime.jsx("span",{children:i})]})},{title:t("common.time"),dataIndex:"created_time",width:80,rule:"date"},{title:t("portfolio.overview.column.txId"),dataIndex:"tx_id",width:120,render:(i,r)=>{if(!i)return jsxRuntime.jsx("div",{className:"oui-text-base-contrast-54",children:"-"});let s=`${e?.find(l=>parseInt(r.chain_id)===parseInt(l.chain_id))?.explorer_base_url}/tx/${i}`;return jsxRuntime.jsx("a",{href:s,target:"_blank",children:jsxRuntime.jsx(ui.Text.formatted,{copyable:!!i,rule:"txId",className:"oui-underline-offset-4 oui-underline oui-decoration-dashed oui-decoration-line-16",onCopy:l=>{l.preventDefault(),l.stopPropagation(),ui.toast.success(t("common.copy.copied"));},children:i})})}},{title:t("common.status"),dataIndex:"trans_status",width:100,render:i=>({[types.AssetHistoryStatusEnum.NEW]:t("assetHistory.status.pending"),[types.AssetHistoryStatusEnum.CONFIRM]:t("assetHistory.status.confirm"),[types.AssetHistoryStatusEnum.PROCESSING]:t("assetHistory.status.processing"),[types.AssetHistoryStatusEnum.COMPLETED]:t("assetHistory.status.completed"),[types.AssetHistoryStatusEnum.FAILED]:t("assetHistory.status.failed")})[i]||ui.capitalizeFirstLetter(i.toLowerCase())},{title:t("common.type"),dataIndex:"side",width:80,render:i=>jsxRuntime.jsx(ui.Text,{color:i==="DEPOSIT"?"deposit":"withdraw",children:t(i==="DEPOSIT"?"common.deposit":"common.withdraw")})},{title:t("common.amount"),dataIndex:"amount",width:100,rule:"price",formatter:(i,r)=>r.side==="WITHDRAW"?-(i-(r.fee??0)):i-(r.fee??0),numeralProps:{coloring:true,showIdentifier:true}}],[e,t])};var Y=e=>{let{from:t,to:o}=e;return typeof o>"u"&&(o=new Date),dateFns.differenceInDays(t,o)===0?[t,dateFns.setHours(o,23)]:[t,o]};var ue=()=>{let[e]=react.useState(()=>{let c=new Date;return new Date(dateFns.getYear(c),dateFns.getMonth(c),dateFns.getDate(c),0,0,0)}),[t,o]=react.useState([utils.subtractDaysFromCurrentDate(90,e),e]),[i,r]=react.useState("All"),{page:a,pageSize:n,setPage:s,parsePagination:l}=ui.usePagination(),[u,{meta:m,isLoading:y}]=hooks.useAssetsHistory({startTime:t[0].getTime().toString(),endTime:dateFns.set(t[1],{hours:23,minutes:59,seconds:59,milliseconds:0}).getTime().toString(),page:a,pageSize:n,side:i}),b=c=>{c.name==="side"&&(r(c.value),s(1)),c.name==="dateRange"&&(o(Y(c.value)),s(1));},p=react.useMemo(()=>l(m),[l,m]);return {dataSource:u,total:m?.total,isLoading:y,queryParameter:{side:i,dateRange:t},onFilter:b,pagination:p}};var ce=e=>{let{dataSource:t,queryParameter:o,onFilter:i,isLoading:r}=e,{side:a,dateRange:n}=o,s=le(),{t:l}=i18n.useTranslation(),u=react.useMemo(()=>[{label:l("common.all"),value:"All"},{label:l("common.deposit"),value:"DEPOSIT"},{label:l("common.withdraw"),value:"WITHDRAW"}],[l]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.DataFilter,{items:[{type:"select",name:"side",options:u,value:a},{type:"range",name:"dateRange",value:{from:n[0],to:n[1]}}],onFilter:m=>{i(m);}}),jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:true,loading:r,classNames:{root:"oui-h-[calc(100%_-_49px)]"},columns:s,dataSource:t,pagination:e.pagination})]})};var de=()=>{let e=ue();return jsxRuntime.jsx(ce,{...e})};var me=()=>{let{t:e}=i18n.useTranslation();return react.useMemo(()=>[{title:e("common.symbol"),dataIndex:"symbol",width:80,rule:"symbol",textProps:{showIcon:true}},{title:e("common.time"),dataIndex:"created_time",width:120,rule:"date"},{title:e("portfolio.overview.column.funding&AnnualRate"),dataIndex:"funding_rate",width:80,render:(o,i)=>jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",dp:6,children:i.funding_rate}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",dp:6,children:i.annual_rate})]})},{title:e("portfolio.overview.column.paymentType"),dataIndex:"payment_type",width:80,render:o=>{switch(o){case "Pay":case "Paid":return e("portfolio.overview.column.paymentType.paid");case "Receive":case "Received":return e("portfolio.overview.column.paymentType.received");default:return o}}},{title:`${e("portfolio.overview.column.fundingFee")} (USDC)`,dataIndex:"funding_fee",width:80,rule:"price",formatter(o,i,r){return Number(o)*-1},numeralProps:{coloring:true,showIdentifier:true,ignoreDP:true}}],[e])};var mt=e=>{let{dataSource:t,queryParameter:o,onFilter:i,isLoading:r}=e,a=me(),n=hooks.useSymbolsInfo(),{symbol:s,dateRange:l}=o;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.DataFilter,{items:[{type:"select",name:"symbol",isCombine:true,options:[{label:"All",value:"All"},...Object.keys(n).map(u=>({label:u.split("_")[1],value:u}))],value:s,valueFormatter:u=>u==="All"?"All":u.split("_")[1]},{type:"range",name:"dateRange",value:{from:l[0],to:l[1]}}],onFilter:u=>{i(u);}}),jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:true,columns:a,dataSource:t,loading:r,generatedRowKey:u=>`${u.updated_time}`,classNames:{root:"oui-h-[calc(100%_-_49px)]"},pagination:e.pagination})]})};var pe=()=>{let[e]=react.useState(()=>{let f=new Date;return new Date(dateFns.getYear(f),dateFns.getMonth(f),dateFns.getDate(f),0,0,0)}),[t,o]=react.useState([utils.subtractDaysFromCurrentDate(90,e),e]),[i,r]=react.useState("All"),{page:a,pageSize:n,setPage:s,parsePagination:l}=ui.usePagination(),[u,{isLoading:m,meta:y,isValidating:b}]=hooks.useFundingFeeHistory({dataRange:[t[0].getTime(),dateFns.set(t[1],{hours:23,minutes:59,seconds:59,milliseconds:0}).getTime()],symbol:i,page:a,pageSize:n},{keepPreviousData:true}),p=f=>{f.name==="symbol"&&(r(f.value),s(1)),f.name==="dateRange"&&(o(Y(f.value)),s(1));},c=react.useMemo(()=>l(y),[l,y]);return {dataSource:u,isLoading:m,isValidating:b,queryParameter:{symbol:i,dateRange:t},onFilter:p,pagination:c}};var fe=()=>{let e=pe();return jsxRuntime.jsx(mt,{...e})};var jt=()=>{let{t:e}=i18n.useTranslation();return react.useMemo(()=>[{title:e("common.token"),dataIndex:"token",width:80,render:(o,i)=>jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[jsxRuntime.jsx(ui.TokenIcon,{name:o,size:"xs"}),jsxRuntime.jsx("span",{children:o})]})},{title:e("common.time"),dataIndex:"updated_time",width:120,rule:"date"},{title:e("common.status"),dataIndex:"status",width:120,formatter(o,i,r){switch(o){case "CREATED":case "SPLIT":return e("portfolio.assetHistory.status.processing");case "COMPLETED":default:return e("portfolio.assetHistory.status.completed")}}},{title:e("common.type"),dataIndex:"type",width:80,formatter:o=>{switch(o){case "REFERRER_REBATE":return e("portfolio.overview.distribution.type.referralCommission");case "REFEREE_REBATE":return e("portfolio.overview.distribution.type.refereeRebate");case "BROKER_FEE":return e("portfolio.overview.distribution.type.brokerFee");default:return "-"}}},{title:e("common.amount"),dataIndex:"amount",width:80}],[e])};var ge=e=>{let{dataSource:t,queryParameter:o,onFilter:i,isLoading:r,isValidating:a}=e,n=jt(),{type:s,dateRange:l}=o,{t:u}=i18n.useTranslation(),m=react.useMemo(()=>[{label:u("common.all"),value:"All"},{label:u("portfolio.overview.distribution.type.referralCommission"),value:"REFERRER_REBATE"},{label:u("portfolio.overview.distribution.type.refereeRebate"),value:"REFEREE_REBATE"},{label:u("portfolio.overview.distribution.type.brokerFee"),value:"BROKER_FEE"}],[u]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.DataFilter,{items:[{type:"select",name:"type",options:m,value:s},{type:"range",name:"dateRange",value:{from:l[0],to:l[1]}}],onFilter:y=>{i(y);}}),jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:true,columns:n,dataSource:t,loading:r,className:"oui-font-semibold",classNames:{root:"oui-h-[calc(100%_-_49px)]"},pagination:e.pagination})]})};var to=()=>{let[e]=react.useState(()=>{let f=new Date;return new Date(dateFns.getYear(f),dateFns.getMonth(f),dateFns.getDate(f),0,0,0)}),[t,o]=react.useState([utils.subtractDaysFromCurrentDate(90,e),e]),[i,r]=react.useState("All"),{page:a,pageSize:n,setPage:s,parsePagination:l}=ui.usePagination(),[u,{isLoading:m,meta:y,isValidating:b}]=hooks.useDistributionHistory({dataRange:[t[0].getTime(),dateFns.set(t[1],{hours:23,minutes:59,seconds:59,milliseconds:0}).getTime()],type:i,pageSize:n,page:a}),p=f=>{f.name==="type"&&(r(f.value),s(1)),f.name==="dateRange"&&(o(Y(f.value)),s(1));},c=react.useMemo(()=>l(y),[l,y]);return {dataSource:u,isLoading:m,isValidating:b,queryParameter:{type:i,dateRange:t},onFilter:p,pagination:c}};var ye=()=>{let e=to();return jsxRuntime.jsx(ge,{...e})};var oo=e=>{let{active:t="deposit",onTabChange:o}=e,{t:i}=i18n.useTranslation();return jsxRuntime.jsx(ui.Card,{children:jsxRuntime.jsxs(ui.Tabs,{value:t,onValueChange:o,variant:"contained",size:"xl",children:[jsxRuntime.jsx(ui.TabPanel,{title:i("portfolio.overview.deposits&Withdrawals"),icon:jsxRuntime.jsx(ui.ArrowLeftRightIcon,{}),value:"deposit",children:jsxRuntime.jsx(de,{})}),jsxRuntime.jsx(ui.TabPanel,{title:i("common.funding"),icon:jsxRuntime.jsx(ui.FeeTierIcon,{}),value:"funding",children:jsxRuntime.jsx(fe,{})}),jsxRuntime.jsx(ui.TabPanel,{title:i("portfolio.overview.distribution"),icon:jsxRuntime.jsx(ui.ServerFillIcon,{}),value:"distribution",children:jsxRuntime.jsx(ye,{})})]})})};var io=()=>{let[e,t]=react.useState("deposit");return {active:e,onTabChange:o=>t(o)}};var xe=()=>{let e=io();return jsxRuntime.jsx(oo,{...e})};var be=e=>{let{periodTypes:t,period:o,onPeriodChange:i,aggregateValue:r,invisible:a,visible:n,volumeUpdateDate:s}=e,{t:l}=i18n.useTranslation(),u=react.useMemo(()=>({"7D":l("common.select.7d"),"30D":l("common.select.30d"),"90D":l("common.select.90d")}),[l]);return jsxRuntime.jsxs(ui.Card,{title:jsxRuntime.jsx(We,{onPeriodChange:i,periodTypes:t,period:o,title:l("portfolio.overview.performance")}),id:"portfolio-overview-performance",children:[jsxRuntime.jsxs(ui.Grid,{cols:3,gap:4,children:[jsxRuntime.jsx(ui.Box,{gradient:"neutral",r:"md",px:4,py:2,angle:184,border:true,borderColor:6,children:jsxRuntime.jsx(ui.Statistic,{label:l("portfolio.overview.performance.roi",{period:u[o]}),valueProps:{rule:"percentages",coloring:true,visible:n},children:a?"--":r.roi})}),jsxRuntime.jsx(ui.Box,{gradient:"neutral",r:"md",px:4,py:2,angle:184,border:true,borderColor:6,children:jsxRuntime.jsx(ui.Statistic,{label:l("portfolio.overview.performance.pnl",{period:u[o]}),valueProps:{coloring:true,showIdentifier:true,visible:n},children:a?"--":r.pnl})}),jsxRuntime.jsx(ui.Box,{gradient:"neutral",r:"md",px:4,py:2,angle:184,border:true,borderColor:6,children:jsxRuntime.jsx(ui.Statistic,{classNames:{label:"oui-w-full"},label:jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx("span",{children:l("portfolio.overview.performance.volume",{period:u[o]})}),jsxRuntime.jsx("span",{children:s})]}),children:a?"--":r.vol})})]}),jsxRuntime.jsxs(ui.Grid,{cols:2,gap:4,children:[jsxRuntime.jsx(Za,{data:e.data??[],invisible:e.invisible}),jsxRuntime.jsx(qa,{data:e.data??[],invisible:e.invisible||(e.data?.length??0)<=2})]})]})},Za=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Box,{mt:4,height:"188px",children:[jsxRuntime.jsx(ui.Text,{as:"div",size:"sm",className:"oui-mb-3",children:t("portfolio.overview.performance.dailyPnl")}),jsxRuntime.jsx(ui.Box,{r:"md",className:"oui-border oui-border-line-4 oui-h-[188px]",children:jsxRuntime.jsx(chart.PnLBarChart,{data:e.data,invisible:e.invisible||(e.data?.length??0)<=2})})]})},qa=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Box,{mt:4,children:[jsxRuntime.jsx(ui.Text,{as:"div",size:"sm",className:"oui-mb-3",children:t("portfolio.overview.performance.cumulativePnl")}),jsxRuntime.jsx(ui.Box,{r:"md",className:"oui-border oui-border-line-4 oui-h-[188px]",children:jsxRuntime.jsx(chart.PnlLineChart,{data:e.data,invisible:e.invisible||(e.data?.length??0)<=2})})]})};var he=()=>{let e=Ee(),[t]=hooks.useLocalStorage("orderly_assets_visible",true),{wrongNetwork:o,disabledConnect:i}=reactApp.useAppContext(),{state:r}=hooks.useAccount(),a=reactApp.useDataTap(e.data,{accountStatus:r.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading,fallbackData:e.createFakeData({account_value:0,pnl:0},{account_value:500,pnl:500})}),n=react.useMemo(()=>a?.length??0>0?a:e.createFakeData({account_value:0,pnl:0},{account_value:500,pnl:500}),[a]),s=o||i||r.status<types.AccountStatusEnum.EnableTrading&&r.status!==types.AccountStatusEnum.EnableTradingWithoutConnected;return {...e,data:n,invisible:s,visible:t}};var ve=()=>{let e=he();return jsxRuntime.jsx(be,{...e})};var no=()=>jsxRuntime.jsx(Le,{children:jsxRuntime.jsxs(ui.Grid,{cols:2,gap:4,children:[jsxRuntime.jsx(ne,{}),jsxRuntime.jsx(ze,{}),jsxRuntime.jsx(ui.Grid.span,{colSpan:2,children:jsxRuntime.jsx(ve,{})}),jsxRuntime.jsx(ui.Grid.span,{colSpan:2,children:jsxRuntime.jsx(xe,{})})]})});var yo={};$(yo,{FeeTierPage:()=>go});var Ct=[{tier:1,maker_fee:"0.03%",taker_fee:"0.06%",volume_min:0,volume_max:5e5},{tier:2,maker_fee:"0.02%",taker_fee:"0.05%",volume_min:5e5,volume_max:25e5},{tier:3,maker_fee:"0.015%",taker_fee:"0.045%",volume_min:25e5,volume_max:1e7},{tier:4,maker_fee:"0.01%",taker_fee:"0.04%",volume_min:1e7,volume_max:5e7},{tier:5,maker_fee:"0.005%",taker_fee:"0.035%",volume_min:5e7,volume_max:125e6,or:"/",staking_min:3e5,staking_max:null},{tier:6,maker_fee:"0%",taker_fee:"0.03%",volume_min:125e6,volume_max:null,or:"/",staking:null,staking_min:null,staking_max:null}];var uo=()=>{let{t:e}=i18n.useTranslation();return react.useMemo(()=>[{title:e("portfolio.feeTier.column.tier"),dataIndex:"tier",align:"left",width:100},{title:`${e("portfolio.feeTier.column.30dVolume")} (USDC)`,dataIndex:"volume",align:"center",width:170,render:(o,i)=>{let{volume_min:r,volume_max:a,volume_node:n}=i;return n||(!r&&!a?jsxRuntime.jsx("div",{style:{fontVariantLigatures:"none"},children:"--"}):r&&!a?jsxRuntime.jsx("div",{children:e("portfolio.feeTier.column.30dVolume.above",{volume:utils.numberToHumanStyle(r,r===25e5?1:0)})}):jsxRuntime.jsxs("div",{children:[r&&utils.numberToHumanStyle(r,r===25e5?1:0)," - ",a&&utils.numberToHumanStyle(a,a===25e5?1:0)]}))}},{title:e("portfolio.feeTier.column.maker"),dataIndex:"maker_fee",align:"right",width:100,render:o=>jsxRuntime.jsx(ui.Text,{children:o})},{title:e("portfolio.feeTier.column.taker"),dataIndex:"taker_fee",align:"right",width:100,render:o=>jsxRuntime.jsx(ui.Text,{children:o})}],[e])};function co(e){let{dataAdapter:t}=e||{},[o,i]=react.useState(),{data:r}=hooks.useAccountInfo(),{state:a}=hooks.useAccount(),n=uo(),{data:s}=hooks.usePrivateQuery("/v1/volume/user/stats"),{columns:l,dataSource:u}=react.useMemo(()=>typeof t=="function"?t(n,Ct):{columns:n,dataSource:Ct},[t,n]),m=(c,f)=>{let{futures_taker_fee_rate:ee=0,futures_maker_fee_rate:V=0}=f,G=`${new utils.Decimal(ee).mul(.01).toString()}%`,te=`${new utils.Decimal(V).mul(.01).toString()}%`;for(let D of c)if(G===D.taker_fee&&te===D.maker_fee)return D.tier};react.useEffect(()=>{if(!r)return;let c=m(u,r);i(c);},[r,u]);let y=react.useMemo(()=>{let c=r?.futures_taker_fee_rate;if(!(typeof c>"u"))return `${new utils.Decimal(c).mul(.01).toString()}%`},[r]),b=react.useMemo(()=>{let c=r?.futures_maker_fee_rate;if(!(typeof c>"u"))return `${new utils.Decimal(c).mul(.01).toString()}%`},[r]);return {...reactApp.useDataTap({tier:o,vol:s?.perp_volume_last_30_days,takerFeeRate:y,makerFeeRate:b},{accountStatus:a.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading}),columns:l,dataSource:u,onRow:e?.onRow}}var po=e=>{let{columns:t,dataSource:o,tier:i,vol:r,takerFeeRate:a,makerFeeRate:n}=e,{t:s}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Card,{title:jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"lg",children:s("portfolio.feeTier")}),jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text,{size:"xs",intensity:54,children:s("portfolio.feeTier.updatedDailyBy")}),jsxRuntime.jsx(ui.Text,{size:"xs",intensity:80,children:"2:00 UTC"})]})]}),className:"w-full",id:"oui-portfolio-fee-tier",children:[jsxRuntime.jsx(ui.Divider,{}),jsxRuntime.jsx(Cn,{tier:i,vol:r,takerFeeRate:a,makerFeeRate:n}),jsxRuntime.jsx(hn,{dataSource:o,columns:t,tier:i,onRow:e.onRow})]})},Cn=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{direction:"row",gapX:4,my:4,itemAlign:"stretch",children:[jsxRuntime.jsx(Ue,{label:t("portfolio.feeTier.header.yourTier"),value:jsxRuntime.jsx(ui.Text.gradient,{color:"brand",angle:270,size:"base",children:e.tier||"--"})}),jsxRuntime.jsx(Ue,{label:`${t("portfolio.feeTier.header.30dVolume")} (USDC)`,value:jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:2,rm:utils.Decimal.ROUND_DOWN,children:typeof e.vol!==void 0?`${e.vol}`:"-"})}),jsxRuntime.jsx(Ue,{label:t("portfolio.feeTier.header.takerFeeRate"),value:jsxRuntime.jsx(ui.Text.gradient,{color:"brand",angle:270,size:"base",children:e.takerFeeRate||"--"})}),jsxRuntime.jsx(Ue,{label:t("portfolio.feeTier.header.makerFeeRate"),value:jsxRuntime.jsx(ui.Text.gradient,{color:"brand",angle:270,size:"base",children:e.makerFeeRate||"--"})})]})},Ue=e=>jsxRuntime.jsxs(ui.Box,{gradient:"neutral",r:"lg",px:4,py:2,angle:184,width:"100%",border:true,borderColor:6,children:[jsxRuntime.jsx(ui.Text,{as:"div",intensity:36,size:"2xs",weight:"semibold",className:"oui-leading-[18px]",children:e.label}),jsxRuntime.jsx(ui.Text,{size:"base",intensity:80,className:"oui-leading-[24px] oui-mt-[2px]",children:e.value})]}),hn=e=>{let[t,o]=react.useState(void 0);react.useEffect(()=>{let r=document.getElementById("oui-fee-tier-content")?.getBoundingClientRect(),a=document.getElementById("oui-fee-tier-current")?.getBoundingClientRect();if(a&&r&&e.tier){let n=a.top-r.top;o(n);}else o(void 0);},[e.tier]);let i=react.useCallback((r,a)=>{let n=e?.onRow?.(r,a)??{normal:void 0,active:void 0};return a+1==e.tier?{...{id:"oui-fee-tier-current","data-state":"active",className:"group oui-h-12 oui-text-[rgba(0,0,0,0.88)] oui-pointer-events-none"},...n.active}:{"data-state":"none",className:"oui-h-12",...n.normal}},[e.tier,e.onRow]);return jsxRuntime.jsxs(ui.Box,{id:"oui-fee-tier-content",className:"oui-border-b oui-border-line-4 oui-relative",children:[t&&jsxRuntime.jsx(ui.Box,{angle:90,gradient:"brand",className:"oui-rounded-md oui-absolute oui-w-full",style:{top:`${t}px`,height:"48px"}}),jsxRuntime.jsx(ui.DataTable,{bordered:true,className:"oui-font-semibold",classNames:{root:"oui-bg-transparent"},onRow:i,columns:e.columns,dataSource:e.dataSource})]})};var fo=e=>{let t=co(e);return jsxRuntime.jsx(po,{...t})};var go=e=>jsxRuntime.jsx(fo,{...e});var Co={};$(Co,{PositionsPage:()=>_n});var _n=e=>{let[t,o]=react.useState("Positions"),{t:i}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",gap:4,width:"100%",height:"100%",children:[jsxRuntime.jsx(ui.Flex,{children:jsxRuntime.jsx(ui.Text,{size:"lg",children:i("common.positions")})}),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsx(ui.Box,{width:"100%",className:"oui-h-[calc(100%_-_59px)]",children:jsxRuntime.jsxs(ui.Tabs,{value:t,onValueChange:r=>o(r),classNames:{tabsList:"!oui-border-none oui-pb-1",tabsContent:"oui-h-[calc(100%_-_28px)]"},className:"oui-h-full",children:[jsxRuntime.jsx(ui.TabPanel,{value:"Positions",title:i("common.positions"),children:jsxRuntime.jsx(uiPositions.PositionsWidget,{...e})}),jsxRuntime.jsx(ui.TabPanel,{value:"Position history",title:i("positions.positionHistory"),children:jsxRuntime.jsx(uiPositions.PositionHistoryWidget,{...e})}),jsxRuntime.jsx(ui.TabPanel,{value:"Liquidation",title:i("positions.liquidation"),children:jsxRuntime.jsx(uiPositions.LiquidationWidget,{})})]})})]})};var vo={};$(vo,{OrdersPage:()=>On});var On=e=>{let{sharePnLConfig:t}=e,{t:o}=i18n.useTranslation(),i=react.useRef(null),r=()=>{i.current?.download?.();};return jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",gap:4,width:"100%",height:"100%",children:[jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"lg",children:o("common.orders")}),jsxRuntime.jsx(ui.Tooltip,{content:o("orders.download.tooltip"),children:jsxRuntime.jsxs(ui.Button,{color:"gray",size:"sm",className:"oui-bg-base-4",onClick:r,children:[o("common.download"),jsxRuntime.jsx(Bn,{className:"oui-text-base-contrast-36 oui-ml-[5px]"})]})})]}),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsx(ui.Box,{width:"100%",className:"oui-h-[calc(100%_-_59px)]",children:jsxRuntime.jsx(uiOrders.OrdersWidget,{ref:i,sharePnLConfig:t})})]})},Bn=e=>jsxRuntime.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:jsxRuntime.jsx("path",{d:"M5.999 1.007a5 5 0 1 0 0 10 5 5 0 0 0 0-10m0 2.5a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1m0 1.5a.5.5 0 0 1 .5.5v2.5a.5.5 0 0 1-1 0v-2.5a.5.5 0 0 1 .5-.5"})});var Mo={};$(Mo,{APIManagerPage:()=>Lo,APIManagerWidget:()=>Je});var wo=e=>{let{filterTags:t,keyStatus:o}=e??{},[i,r]=react.useState(false),[a,n]=react.useState(false),[s,l]=react.useState(),{configStore:u}=react.useContext(hooks.OrderlyContext),m=u.get("brokerId"),{wrongNetwork:y,disabledConnect:b}=reactApp.useAppContext(),{state:p,account:c}=hooks.useAccount(),{t:f}=i18n.useTranslation(),ee=!y&&!b&&(p.status===types.AccountStatusEnum.EnableTrading||p.status===types.AccountStatusEnum.EnableTradingWithoutConnected),{data:V}=hooks.useQuery(`/v1/get_account?address=${c.address}&broker_id=${m}&chain_type=${c.walletAdapter?.chainNamespace}`),[G,{generateOrderlyKey:te,setIPRestriction:D,removeOrderlyKey:et,resetOrderlyKeyIPRestriction:_t,refresh:d,isLoading:C,error:S}]=hooks.useApiKeyManager({keyInfo:{key_status:o}}),[h,w]=react.useState(void 0);react.useEffect(()=>{c.keyStore.getOrderlyKey()?.getPublicKey().then(v=>{w(v);});},[c,p]);let oe=()=>{r(true);},ie=()=>{window.open("https://orderly.network/docs/build-on-evm/evm-api/api-authentication","_blank");},Kt=()=>{r(false);},Zo=async(v,_)=>{try{let A=(tt,Ie)=>{let{key:si,secretKey:li}=tt;Kt(),l({key:si,screctKey:li,ip:Ie,permissions:_?.split(",")?.map(ui=>Ft(ui)).join(", ")}),n(!0);},K=await te(_);if(ui.toast.success(f("portfolio.apiKey.created")),(v?.length||0)>0){let tt=K.key.startsWith("ed25519:")?K.key:`ed25519:${K.key}`,Ie=await D(tt,v);Ie.success&&A(K,Ie.data.ip_restriction_list?.join(","));}else A(K,void 0);}catch(A){A?.message&&ui.toast.error(A?.message);}return Promise.resolve(0)},Ht=()=>{n(false),d();},qo=()=>{navigator.clipboard.writeText(JSON.stringify(s)),ui.toast.success(f("portfolio.apiKey.apiInfo.copied"));},Qo=()=>{Ht();},Yo=v=>new Promise(async _=>{await et(v.orderly_key).then(async A=>{if(A?.success){ui.toast.success(f("portfolio.apiKey.deleted")),d();let K=await c.keyStore.getOrderlyKey()?.getPublicKey();v.orderly_key===K&&c.destroyOrderlyKey();}_(1);},A=>{}).catch(A=>{});}),Xo=async(v,_)=>{let A;(_?.length||0)===0?A=_t(v.orderly_key,"ALLOW_ALL_IPS"):A=D(v.orderly_key,_);let K=await A;return K.success?(ui.toast.success(f("portfolio.apiKey.updated")),d(),Promise.resolve()):(ui.toast.error(K.message),Promise.reject())},Jo=()=>ui.toast.success(f("portfolio.apiKey.accountId.copied")),jo=v=>{typeof v<"u"&&navigator.clipboard.writeText(v.replace("ed25519:","")),ui.toast.success(f("portfolio.apiKey.column.apiKey.copy"));},ei=()=>ui.toast.success(f("portfolio.apiKey.secretKey.copied")),ti=()=>ui.toast.success(f("portfolio.apiKey.column.restrictedIP.copy")),oi=react.useMemo(()=>G?.filter(v=>{let _=t?t?.includes(v.tag):true,A=h?!v.orderly_key.includes(h):true;return _&&A}),[G,t,h]),ii=v=>/^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(,((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9]))*$/.test(v)?"":"The IP restriction format is incorrect. Please use the correct format: [xx.xx.xxx.x],[xx.xxx.xxx.xxx]",Nt=p.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading,ri=reactApp.useDataTap(V?.account_id,{accountStatus:Nt}),ai=reactApp.useDataTap(V?.user_id,{accountStatus:Nt}),{pagination:ni}=ui.usePagination();return {address:ri??"--",uid:`${ai??"--"}`,onCreateApiKey:oe,onReadApiGuide:ie,showCreateDialog:i,hideCreateDialog:Kt,doCreate:Zo,showCreatedDialog:a,hideCreatedDialog:Ht,onCopyApiKeyInfo:qo,doConfirm:Qo,doDelete:Yo,doEdit:Xo,canCreateApiKey:ee,status:p.status,keys:oi,generateKey:s,onCopyAccountId:Jo,wrongNetwork:y,onCopyApiKey:jo,onCopyApiSecretKey:ei,onCopyIP:ti,verifyIP:ii,isLoading:C,pagination:ni}};function Ft(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Ao=e=>{let[t,o]=react.useState(""),[i,r]=react.useState(true),[a,n]=react.useState(true),[s,l]=react.useState(""),{t:u}=i18n.useTranslation();return react.useEffect(()=>{e.showCreateDialog||(o(""),r(true),n(true),l(""));},[e.showCreateDialog]),react.useEffect(()=>{t.length===0&&l("");},[t]),jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:e.showCreateDialog,onOpenChange:m=>{e.hideCreateDialog?.();},title:u("portfolio.apiKey.create.dialog.title"),actions:{primary:{label:u("common.confirm"),className:"oui-w-[120px] lg:oui-w-[154px]","data-testid":"oui-testid-apiKey-createApiKey-dialog-comfirm-btn",onClick:async()=>{if(t.length>0){let y=e.verifyIP(t);if(l(y),y.length>0)return}let m=[];i&&m.push("read"),a&&m.push("trading"),await e.doCreate(t,m.join(","));},disabled:!a&&!i,size:"md"}},classNames:{footer:"oui-justify-center",content:"oui-bg-base-8 oui-w-[300px] lg:oui-w-[360px] oui-font-semibold"},children:jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:6,children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:1,width:"100%",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text,{intensity:54,size:"2xs",children:u("portfolio.apiKey.create.ipRestriction")}),jsxRuntime.jsx("textarea",{"data-testid":"oui-testid-apiKey-createApiKey-dialog-textarea",placeholder:u("portfolio.apiKey.create.ipRestriction.placeholder"),className:ui.cn("oui-text-sm oui-text-base-contrast-80 oui-p-3 oui-h-[100px] oui-rounded-xl oui-bg-base-6 oui-w-full","oui-border-0 focus:oui-border-2 focus:oui-border-primary-darken oui-outline-none","oui-placeholder-base-contrast-20",s.length>0&&"oui-outline-1 oui-outline-danger focus:oui-outline-none"),value:t,onChange:m=>{o(m.target.value);},style:{resize:"none"}}),s.length>0&&jsxRuntime.jsxs(ui.Flex,{gap:1,className:"oui-relative",children:[jsxRuntime.jsx("div",{className:ui.cn("oui-absolute oui-top-[10px]","oui-h-1 oui-w-1 oui-rounded-full oui-bg-danger")}),jsxRuntime.jsx(ui.Text,{color:"danger",size:"xs",className:"oui-ml-2",children:s})]})]}),jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{size:"xs",intensity:54,children:u("portfolio.apiKey.permissions")}),className:"oui-w-full",children:jsxRuntime.jsxs(ui.Flex,{direction:"row",gap:6,itemAlign:"start",className:"oui-mt-2",children:[jsxRuntime.jsx(Pe,{size:18,checked:i,onCheckedChange:m=>r(m),label:u("portfolio.apiKey.permissions.read"),testid:"oui-testid-apiKey-createApiKey-dialog-read-checkbox"}),jsxRuntime.jsx(Pe,{size:18,checked:a,onCheckedChange:m=>n(m),label:u("portfolio.apiKey.permissions.trading"),testid:"oui-testid-apiKey-createApiKey-dialog-trading-checkbox"})]})})]})})},Pe=e=>jsxRuntime.jsxs("button",{disabled:e.disabled,onClick:t=>{e.onCheckedChange(!e.checked);},className:"disabled:oui-cursor-not-allowed disabled:oui-opacity-50 oui-flex oui-items-center oui-gap-2","data-testid":e.testid,children:[e.checked?jsxRuntime.jsx("svg",{width:"props.size",height:e.size,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.99072 2.92981C4.78172 2.92981 2.99072 4.72071 2.99072 6.92981V16.9298C2.99072 19.1389 4.78172 20.9298 6.99072 20.9298H16.9907C19.1997 20.9298 20.9907 19.1389 20.9907 16.9298V6.92981C20.9907 4.72071 19.1997 2.92981 16.9907 2.92981H6.99072ZM16.9853 7.31211C17.2125 7.09537 17.5236 7 17.8218 7C18.1201 7 18.4312 7.09537 18.6584 7.31211C19.1139 7.74546 19.1139 8.47384 18.6584 8.9072L10.5077 16.675C10.0534 17.1083 9.28909 17.1083 8.83472 16.675L5.34077 13.3459C4.88641 12.9126 4.88641 12.1841 5.34077 11.7508C5.79631 11.3175 6.56057 11.3175 7.01493 11.7508L9.67122 14.2822L16.9853 7.31211Z",fill:"white",fillOpacity:"0.54"})}):jsxRuntime.jsx("svg",{width:e.size,height:e.size,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M6.99072 2.92981C4.78172 2.92981 2.99072 4.72071 2.99072 6.92981V16.9298C2.99072 19.1389 4.78172 20.9298 6.99072 20.9298H16.9907C19.1997 20.9298 20.9907 19.1389 20.9907 16.9298V6.92981C20.9907 4.72071 19.1997 2.92981 16.9907 2.92981H6.99072ZM6.99072 4.92981H16.9907C18.0957 4.92981 18.9907 5.82521 18.9907 6.92981V16.9298C18.9907 18.0344 18.0957 18.9298 16.9907 18.9298H6.99072C5.88572 18.9298 4.99072 18.0344 4.99072 16.9298V6.92981C4.99072 5.82521 5.88572 4.92981 6.99072 4.92981Z",fill:"white",fillOpacity:"0.54"})}),jsxRuntime.jsx(ui.Text,{intensity:54,size:"sm",className:"oui-break-normal oui-whitespace-nowrap",children:e.label})]});var Do=e=>{let t=e.generateKey?.ip??"--",{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:e.showCreatedDialog,onOpenChange:i=>{e.hideCreatedDialog?.();},title:o("portfolio.apiKey.created"),actions:{primary:{label:o("common.ok"),"data-testid":"oui-testid-apiKey-createdApiKey-dialog-ok-btn",className:"oui-w-[120px] lg:oui-w-[154px] oui-bg-base-2 hover:oui-bg-base-3",size:"md",onClick:async()=>e.doConfirm()},secondary:{label:o("portfolio.apiKey.created.button.copyApiInfo"),"data-testid":"oui-testid-apiKey-createdApiKey-dialog-copy-btn",className:"oui-w-[120px] lg:oui-w-[154px] oui-bg-primary-darken hover:oui-opacity-80",size:"md",onClick:async()=>e.onCopyApiKeyInfo()}},classNames:{footer:"oui-justify-center",content:"oui-bg-base-8 oui-w-[300px] lg:oui-w-[360px] oui-font-semibold",body:"oui-py-0 oui-pt-5"},children:jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:4,itemAlign:"start",children:[jsxRuntime.jsx(ui.Statistic,{label:o("portfolio.apiKey.accountId"),children:jsxRuntime.jsx(ui.Text.formatted,{size:"sm",intensity:80,copyable:true,copyIconSize:16,className:"oui-break-all",onCopy:e.onCopyAccountId,"data-testid":"oui-testid-apiKey-createdApiKey-dialog-key-span",children:e.address})}),jsxRuntime.jsx(ui.Statistic,{label:o("portfolio.apiKey.column.apiKey"),children:jsxRuntime.jsx(ui.Text.formatted,{size:"sm",intensity:80,copyable:true,copyIconSize:16,className:"oui-break-all",onCopy:()=>e.onCopyApiKey(e.generateKey?.key),"data-testid":"oui-testid-apiKey-createdApiKey-dialog-key-span",children:e.generateKey?.key})}),jsxRuntime.jsxs(ui.Statistic,{label:o("portfolio.apiKey.secretKey"),children:[jsxRuntime.jsx(ui.Text.formatted,{size:"sm",intensity:80,copyable:true,copyIconSize:16,className:"oui-break-all",onCopy:e.onCopyApiSecretKey,children:e.generateKey?.screctKey})," "]}),jsxRuntime.jsx(ui.Statistic,{label:o("portfolio.apiKey.ip"),children:jsxRuntime.jsxs(ui.Flex,{width:320,gap:1,itemAlign:"center",className:"oui-text-base-contrast-80 oui-text-sm",children:[jsxRuntime.jsx(ui.Box,{className:"oui-max-h-[100px] oui-flex-1 oui-overflow-hidden oui-text-ellipsis oui-line-clamp-5 oui-break-all",children:t}),t!=="--"&&jsxRuntime.jsx(ui.Box,{width:16,height:16,className:"oui-cursor-pointer oui-flex-shrink-0",children:jsxRuntime.jsx(ui.CopyIcon,{color:"white",opacity:.54,size:16,onClick:i=>{e.generateKey?.ip&&navigator.clipboard.writeText(e.generateKey?.ip),e?.onCopyIP();}})})]})}),jsxRuntime.jsx(ui.Statistic,{label:o("portfolio.apiKey.permissions"),children:jsxRuntime.jsx(ui.Text,{size:"sm",intensity:80,"data-testid":"oui-testid-apiKey-createdApiKey-dialog-permissions-span",children:e.generateKey?.permissions})}),jsxRuntime.jsx("div",{}),jsxRuntime.jsx(ui.Text,{color:"warning",size:"xs",className:"oui-text-center",children:o("portfolio.apiKey.created.warning")})]})})};var ko=e=>{let{item:t,open:o,setOpen:i,onDelete:r}=e,{t:a}=i18n.useTranslation();return jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:o,onOpenChange:i,title:a("portfolio.apiKey.delete.dialog.title"),actions:{primary:{label:a("common.confirm"),"data-testid":"oui-testid-apiKey-deleteApiKey-dialog-confirm-btn",className:"oui-w-[120px] lg:oui-w-[154px]",size:"md",onClick:async()=>{await e.onDelete?.(t),i(false);}},secondary:{label:a("common.cancel"),className:"oui-w-[120px] lg:oui-w-[154px]",size:"md",onClick:async()=>{i(false);}}},classNames:{footer:"oui-justify-center",content:"oui-bg-base-8 oui-w-[300px] lg:oui-w-[360px] oui-font-semibold"},children:jsxRuntime.jsx(ui.Flex,{className:"oui-text-xs",children:jsxRuntime.jsx(i18n.Trans,{i18nKey:"portfolio.apiKey.delete.dialog.description",values:{apiKey:Dt(t?.orderly_key)},components:[jsxRuntime.jsx(ui.Text,{color:"primary",className:"oui-px-1"})]})})})};var Ko=e=>{let{item:t,open:o,setOpen:i,onUpdate:r}=e,[a,n]=react.useState(t.ip_restriction_list?.join(",")),[s,l]=react.useState(true),[u,m]=react.useState(true),[y,b]=react.useState(""),{t:p}=i18n.useTranslation();return react.useEffect(()=>{n(t.ip_restriction_list.join(",")),l(t.scope?.toLocaleLowerCase().includes("read")||false),m(t.scope?.toLocaleLowerCase().includes("trading")||false);},[t]),react.useEffect(()=>{a.length===0&&b("");},[a]),jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:o,onOpenChange:i,title:p("portfolio.apiKey.edit.dialog.title"),actions:{primary:{label:p("common.confirm"),"data-testid":"oui-testid-apiKey-editApiKey-dialog-confirm-btn",className:"oui-w-[120px] lg:oui-w-[154px]",onClick:async()=>{if(a.length>0){let c=e.verifyIP(a);if(b(c),c.length>0)return}await e.onUpdate?.(t,a),i(false);},disabled:t.ip_restriction_list.join(",")===a,size:"md",fullWidth:true}},classNames:{footer:"oui-justify-center",content:"oui-bg-base-8 oui-w-[300px] lg:oui-w-[360px] oui-font-semibold"},children:jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:6,children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:1,width:"100%",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text,{intensity:54,size:"2xs",children:p("portfolio.apiKey.create.ipRestriction")}),jsxRuntime.jsx("textarea",{"data-testid":"oui-testid-apiKey-editApiKey-dialog-textarea",placeholder:p("portfolio.apiKey.create.ipRestriction.placeholder"),className:ui.cn("oui-text-sm oui-text-base-contrast-80 oui-p-3 oui-h-[100px] oui-rounded-xl oui-bg-base-6 oui-w-full","oui-border-0 focus:oui-border-2 focus:oui-border-primary-darken oui-outline-none","oui-placeholder-base-contrast-20",y.length>0&&"oui-outline-1 oui-outline-danger focus:oui-outline-none"),value:a,onChange:c=>{n(c.target.value);},style:{resize:"none"}}),y.length>0&&jsxRuntime.jsxs(ui.Flex,{gap:1,className:"oui-relative",children:[jsxRuntime.jsx("div",{className:ui.cn("oui-absolute oui-top-[10px]","oui-h-1 oui-w-1 oui-rounded-full oui-bg-danger")}),jsxRuntime.jsx(ui.Text,{color:"danger",size:"xs",className:"oui-ml-2",children:y})]})]}),jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{size:"xs",intensity:54,children:p("portfolio.apiKey.permissions")}),className:"oui-w-full",children:jsxRuntime.jsxs(ui.Flex,{direction:"row",gap:6,itemAlign:"start",className:"oui-mt-2",children:[jsxRuntime.jsx(Pe,{disabled:true,size:18,checked:s,onCheckedChange:c=>l(c),label:p("portfolio.apiKey.permissions.read")}),jsxRuntime.jsx(Pe,{disabled:true,size:18,checked:u,onCheckedChange:c=>m(c),label:p("portfolio.apiKey.permissions.trading")})]})})]})})};var No=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Card,{title:t("portfolio.apiKeys"),id:"portfolio-apikey-manager",className:"oui-bg-base-9 oui-font-semibold",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:4,width:"100%",className:"oui-font-semibold",children:[jsxRuntime.jsx(vs,{...e}),jsxRuntime.jsx(Ts,{...e})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ws,{...e}),jsxRuntime.jsx(Ao,{...e}),jsxRuntime.jsx(Do,{...e})]})]})},vs=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{width:"100%",gap:4,className:"oui-border-t-2 oui-border-line-6 oui-pt-4",children:[jsxRuntime.jsxs(ui.Flex,{py:2,px:4,direction:"column",itemAlign:"start",r:"xl",gradient:"neutral",angle:27,border:true,className:"oui-w-1/2",children:[jsxRuntime.jsx(ui.Text,{size:"xs",intensity:36,children:t("portfolio.apiKey.accountId")}),jsxRuntime.jsx(ui.Text.formatted,{size:"base",inlist:80,rule:"address",copyable:e.address!=="--",copyIconSize:16,onCopy:e.onCopyAccountId,copyIconTestid:"oui-testid-apiKey-accountInfo-accountId-copy-btn",children:e.address})]}),jsxRuntime.jsxs(ui.Flex,{py:2,px:4,direction:"column",itemAlign:"start",r:"xl",gradient:"neutral",angle:27,border:true,className:"oui-w-1/2",children:[jsxRuntime.jsx(ui.Text,{size:"xs",intensity:36,children:t("portfolio.apiKey.uid")}),jsxRuntime.jsx(ui.Text,{size:"base",inlist:80,children:e.uid})]})]})},Ts=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{width:"100%",direction:"row",className:"oui-text-sm oui-border-b-2 oui-border-line-6 oui-pb-4",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",width:"100%",gap:1,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:t("portfolio.apiKey.description")}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",className:"oui-text-primary-light oui-fill-primary-light hover:oui-text-primary-darken oui-cursor-pointer oui-text-2xs md:oui-text-xs xl:oui-text-sm",onClick:e.onReadApiGuide,children:[jsxRuntime.jsx(ui.Text,{children:t("portfolio.apiKey.readApiGuide")}),jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M4.008 7.995c0-.368.298-.666.666-.666H9.71L7.733 5.331l.937-.936 3.143 3.122c.13.13.195.304.195.479a.67.67 0 0 1-.195.478L8.67 11.596l-.937-.937 1.978-1.998H4.674a.666.666 0 0 1-.666-.666"})})]})]}),jsxRuntime.jsx(uiConnector.AuthGuardTooltip,{side:"top",tooltip:{connectWallet:t("portfolio.apiKey.create.connectWallet.tooltip"),signIn:t("portfolio.apiKey.create.signIn.tooltip"),enableTrading:t("portfolio.apiKey.create.enableTrading.tooltip"),wrongNetwork:t("portfolio.apiKey.create.wrongNetwork.tooltip")},children:jsxRuntime.jsx(ui.Button,{size:"md",icon:jsxRuntime.jsx(ui.PlusIcon,{}),variant:"contained",color:"primary",onClick:e.onCreateApiKey,disabled:!e.canCreateApiKey,"data-testid":"oui-testid-apiKey-createApiKey-btn",children:t("portfolio.apiKey.create.dialog.title")})})]})},ws=e=>{let{t}=i18n.useTranslation(),o=[{title:t("portfolio.apiKey.column.apiKey"),dataIndex:"orderly_key",render:i=>jsxRuntime.jsx(ui.Text.formatted,{rule:"",copyable:true,copyIconSize:16,onCopy:()=>{e.onCopyApiKey?.(i);},children:Dt(i)})},{title:t("portfolio.apiKey.column.permissionType"),dataIndex:"scope",render:i=>i?.split(",").map(r=>Ft(`${r}`)).join(", ")},{title:t("portfolio.apiKey.column.restrictedIP"),dataIndex:"ip_restriction_list",render:i=>{let r=i.join(",");return r.length===0&&(r="--"),jsxRuntime.jsx(ui.Tooltip,{content:r,className:"oui-max-w-[200px] oui-break-all",children:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx("div",{className:" oui-overflow-ellipsis oui-overflow-hidden",children:r}),r!=="--"&&jsxRuntime.jsx(ui.Box,{width:16,height:16,className:"oui-cursor-pointer",children:jsxRuntime.jsx(ui.CopyIcon,{color:"white",opacity:.54,size:16,onClick:a=>{navigator.clipboard.writeText(r),e?.onCopyIP();}})})]})})}},{title:t("portfolio.apiKey.column.expirationDate"),dataIndex:"expiration",render:i=>jsxRuntime.jsx(ui.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd",children:i})},{title:"",type:"action",dataIndex:"action",width:120,render:(i,r)=>jsxRuntime.jsxs(ui.Flex,{direction:"row",gap:2,children:[jsxRuntime.jsx(Ps,{item:r,onUpdate:e.doEdit,verifyIP:e.verifyIP}),jsxRuntime.jsx(Ss,{item:r,onDelete:e.doDelete})]})}];return jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:true,columns:o,loading:e.isLoading,dataSource:e.keys,emptyView:jsxRuntime.jsx(uiConnector.AuthGuardEmpty,{}),classNames:{},pagination:e.pagination,manualPagination:false})},Ps=e=>{let{item:t,onUpdate:o,verifyIP:i}=e,[r,a]=react.useState(false),{t:n}=i18n.useTranslation();return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{size:"xs",color:"primary",variant:"contained",onClick:s=>{s.stopPropagation(),a(true);},"data-testid":"oui-testid-apiKey-keyList-edit-btn",children:n("common.edit")}),r&&jsxRuntime.jsx(Ko,{item:t,open:r,setOpen:a,onUpdate:o,verifyIP:i})]})},Ss=e=>{let{item:t,onDelete:o}=e,[i,r]=react.useState(false),{t:a}=i18n.useTranslation();return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{size:"xs",color:"gray",variant:"contained",onClick:n=>{n.stopPropagation(),r(true);},"data-testid":"oui-testid-apiKey-keyList-delete-btn",children:a("common.delete")}),i&&jsxRuntime.jsx(ko,{item:t,open:i,setOpen:r,onDelete:o})]})};function Dt(e){return typeof e>"u"?"-":`${`${e}`.replace("ed25519:","").slice(0,6)}*****`}var Je=e=>{let t=wo(e);return jsxRuntime.jsx(No,{...t})};var Lo=e=>{let{filterTags:t,keyStatus:o="ACTIVE"}=e;return jsxRuntime.jsx(Je,{filterTags:t,keyStatus:o})};var $o={};$($o,{SettingPage:()=>Go,SettingWidget:()=>je});var Bo=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsx(ui.Card,{title:t("portfolio.setting.systemUpgrade"),id:"portfolio-apikey-manager",className:"oui-bg-base-9 oui-font-semibold",children:jsxRuntime.jsxs(ui.Flex,{direction:"row",gap:4,width:"100%",itemAlign:"center",pt:4,className:"oui-font-semibold oui-border-t-2 oui-border-line-6",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-flex-1",children:[jsxRuntime.jsx(ui.Text,{intensity:80,size:"base",children:t("portfolio.setting.cancelOpenOrders")}),jsxRuntime.jsx(ui.Text,{intensity:54,size:"sm",children:t("portfolio.setting.cancelOpenOrders.description")})]}),jsxRuntime.jsx(uiConnector.AuthGuardTooltip,{align:"end",children:jsxRuntime.jsx(ui.Switch,{checked:e.maintenance_cancel_orders,onCheckedChange:o=>{e.setMaintainConfig(o);},disabled:e.isSetting||!e.canTouch,"data-testid":"oui-testid-setting-switch-btn"})})]})})};var Vo=()=>{let{data:e,mutate:t}=hooks.useAccountInfo(),{wrongNetwork:o,disabledConnect:i}=reactApp.useAppContext(),[r,{isMutating:a}]=hooks.useMutation("/v1/client/maintenance_config"),[n,s]=react.useState(false);react.useEffect(()=>{s(e?.maintenance_cancel_orders||false);},[e]);let l=hooks.useDebouncedCallback(b=>{r({maintenance_cancel_order_flag:b}).then(p=>{p.success||s(!b);});},300),u=b=>{s(b),l(b);},{state:m}=hooks.useAccount(),y=!o&&!i&&(m.status===types.AccountStatusEnum.EnableTrading||m.status===types.AccountStatusEnum.EnableTradingWithoutConnected);return {maintenance_cancel_orders:n,setMaintainConfig:u,isSetting:false,canTouch:y}};var je=()=>{let e=Vo();return jsxRuntime.jsx(Bo,{...e})};var Go=()=>jsxRuntime.jsx(je,{});
20
+ var ci=Object.defineProperty;var $=(e,t)=>{for(var o in t)ci(e,o,{get:t[o],enumerable:true});};var ot=e=>{let{children:t,leftSideProps:o}=e;return jsxRuntime.jsx(uiScaffold.Scaffold,{leftSidebar:e.hideSideBar?null:jsxRuntime.jsx(yi,{items:e.items,current:e.routerAdapter?.currentPath,...o,routerAdapter:e.routerAdapter}),routerAdapter:e.routerAdapter,classNames:{content:"lg:oui-mb-0",topNavbar:"oui-bg-base-9",leftSidebar:"oui-m-3 oui-p-4 oui-broder oui-border-[1px] oui-border-line oui-rounded-xl oui-bg-base-9"},...e,children:jsxRuntime.jsx(ui.Box,{mx:3,my:6,children:t})})},yi=e=>{let{expanded:t,setExpand:o}=uiScaffold.useScaffoldContext(),{t:i}=i18n.useTranslation();return jsxRuntime.jsx(uiScaffold.SideBar,{title:i("common.portfolio"),...e,open:t,onOpenChange:r=>o(r),onItemSelect:r=>{e.onItemSelect?.(r),e.routerAdapter?.onRouteChange?.({href:r.href||"",name:r.name});}})};var Et=(n=>(n.Overview="/portfolio",n.Positions="/portfolio/positions",n.Orders="/portfolio/orders",n.FeeTier="/portfolio/feeTier",n.ApiKey="/portfolio/apiKey",n.Setting="/portfolio/setting",n))(Et||{}),it=e=>{let{routerAdapter:t}=uiScaffold.useScaffoldContext(),[o,i]=react.useState(e.current??t?.currentPath??"/portfolio"),{t:r}=i18n.useTranslation();react.useEffect(()=>{(o||t?.currentPath)&&i(o||t?.currentPath||"/portfolio");},[o,t?.currentPath]);let a=react.useMemo(()=>[{name:r("common.overview"),href:"/portfolio",icon:jsxRuntime.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M5.24316 2.19727C3.58641 2.19727 2.24316 3.54044 2.24316 5.19727V12.6973C2.24316 14.3541 3.58641 15.6973 5.24316 15.6973H12.7432C14.3999 15.6973 15.7432 14.3541 15.7432 12.6973V5.19727C15.7432 3.54044 14.3999 2.19727 12.7432 2.19727H5.24316ZM5.24316 3.69727H12.7432C13.5719 3.69727 14.2432 4.36882 14.2432 5.19727V12.6973C14.2432 13.2484 13.9319 13.734 13.4894 13.9947C13.3454 12.2235 11.4427 11.1973 8.99316 11.1973C6.54366 11.1973 4.60341 12.251 4.48566 13.9997C4.04241 13.739 3.74316 13.2484 3.74316 12.6973V5.19727C3.74316 4.36882 4.41441 3.69727 5.24316 3.69727ZM8.99316 5.19727C7.54341 5.19727 6.36816 6.37252 6.36816 7.82227C6.36816 9.27202 7.54341 10.4473 8.99316 10.4473C10.4429 10.4473 11.6182 9.27202 11.6182 7.82227C11.6182 6.37252 10.4429 5.19727 8.99316 5.19727Z",className:"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]"})})},{name:r("common.positions"),href:"/portfolio/positions",icon:jsxRuntime.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M4.51 3.021a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h9a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3zm2.25 3a.76.76 0 0 1 .54.211.77.77 0 0 1 0 1.078l-.75.75a.77.77 0 0 1-.54.211h-.75a.75.75 0 0 1 0-1.5h.422l.54-.539a.76.76 0 0 1 .539-.21m3 .75h3a.75.75 0 0 1 0 1.5h-3a.75.75 0 0 1 0-1.5m-3 2.25a.76.76 0 0 1 .54.211.77.77 0 0 1 0 1.079l-.75.75a.77.77 0 0 1-.54.21h-.75a.75.75 0 0 1 0-1.5h.422l.54-.539a.76.76 0 0 1 .539-.21m3 .75h3a.75.75 0 0 1 0 1.5h-3a.75.75 0 0 1 0-1.5",className:"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]"})})},{name:r("common.orders"),href:"/portfolio/orders",icon:jsxRuntime.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M5.693 1.5C4.229 1.5 3.02 2.61 3.02 4.006v9.984c0 1.398 1.208 2.508 2.672 2.508h6.657c1.463 0 2.671-1.11 2.671-2.508V6.726c0-2.672-2.579-5.227-5.25-5.227zm4.828 1.593c1.33.352 2.562 1.58 2.906 2.906h-1.734c-.667 0-1.172-.472-1.172-1.008zm-3.75 2.906h.75a.75.75 0 0 1 0 1.5h-.75a.75.75 0 0 1 0-1.5m0 3h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5m0 3h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5",className:"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]"})})},{name:r("portfolio.feeTier"),href:"/portfolio/feeTier",icon:jsxRuntime.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M5.99829 1.51062C4.34154 1.51062 2.99829 2.85387 2.99829 4.51062V13.5106C2.99829 15.1674 4.34154 16.5106 5.99829 16.5106H11.9983C13.655 16.5106 14.9983 15.1674 14.9983 13.5106V4.51062C14.9983 2.85387 13.655 1.51062 11.9983 1.51062H5.99829ZM5.99829 3.76062H11.9983C12.4123 3.76062 12.7483 4.09662 12.7483 4.51062V6.01062C12.7483 6.42462 12.4123 6.76062 11.9983 6.76062H5.99829C5.58429 6.76062 5.24829 6.42462 5.24829 6.01062V4.51062C5.24829 4.09662 5.58429 3.76062 5.99829 3.76062ZM5.99829 8.26062C6.41229 8.26062 6.74829 8.59662 6.74829 9.01062C6.74829 9.42462 6.41229 9.76062 5.99829 9.76062C5.58429 9.76062 5.24829 9.42462 5.24829 9.01062C5.24829 8.59662 5.58429 8.26062 5.99829 8.26062ZM8.99829 8.26062C9.41229 8.26062 9.74829 8.59662 9.74829 9.01062C9.74829 9.42462 9.41229 9.76062 8.99829 9.76062C8.58429 9.76062 8.24829 9.42462 8.24829 9.01062C8.24829 8.59662 8.58429 8.26062 8.99829 8.26062ZM11.9983 8.26062C12.4123 8.26062 12.7483 8.59662 12.7483 9.01062C12.7483 9.42462 12.4123 9.76062 11.9983 9.76062C11.5843 9.76062 11.2483 9.42462 11.2483 9.01062C11.2483 8.59662 11.5843 8.26062 11.9983 8.26062ZM5.99829 10.5106C6.41229 10.5106 6.74829 10.8466 6.74829 11.2606C6.74829 11.6746 6.41229 12.0106 5.99829 12.0106C5.58429 12.0106 5.24829 11.6746 5.24829 11.2606C5.24829 10.8466 5.58429 10.5106 5.99829 10.5106ZM8.99829 10.5106C9.41229 10.5106 9.74829 10.8466 9.74829 11.2606C9.74829 11.6746 9.41229 12.0106 8.99829 12.0106C8.58429 12.0106 8.24829 11.6746 8.24829 11.2606C8.24829 10.8466 8.58429 10.5106 8.99829 10.5106ZM11.9983 10.5106C12.4123 10.5106 12.7483 10.8466 12.7483 11.2606V13.5106C12.7483 13.9246 12.4123 14.2606 11.9983 14.2606C11.5843 14.2606 11.2483 13.9246 11.2483 13.5106V11.2606C11.2483 10.8466 11.5843 10.5106 11.9983 10.5106ZM5.99829 12.7606C6.41229 12.7606 6.74829 13.0966 6.74829 13.5106C6.74829 13.9246 6.41229 14.2606 5.99829 14.2606C5.58429 14.2606 5.24829 13.9246 5.24829 13.5106C5.24829 13.0966 5.58429 12.7606 5.99829 12.7606ZM8.99829 12.7606C9.41229 12.7606 9.74829 13.0966 9.74829 13.5106C9.74829 13.9246 9.41229 14.2606 8.99829 14.2606C8.58429 14.2606 8.24829 13.9246 8.24829 13.5106C8.24829 13.0966 8.58429 12.7606 8.99829 12.7606Z",className:"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]"})})},{name:r("portfolio.apiKeys"),href:"/portfolio/apiKey",icon:jsxRuntime.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M9.02124 1.49915C7.77849 1.49915 6.77124 2.5064 6.77124 3.74915C6.77124 4.70015 7.40049 5.55517 8.26974 5.86942L8.27124 8.24915H5.27124C4.85724 8.24915 4.52124 8.58515 4.52124 8.99915L4.52048 12.1304C3.65723 12.4274 3.02124 13.2981 3.02124 14.2491C3.02124 15.4919 4.02849 16.4991 5.27124 16.4991C6.51399 16.4991 7.52124 15.4919 7.52124 14.2491C7.52124 13.2981 6.92499 12.4596 6.02949 12.1206L6.02124 9.74915H9.02124H12.0212L12.0265 12.1319C11.1257 12.4446 10.5212 13.2981 10.5212 14.2491C10.5212 15.4919 11.5285 16.4991 12.7712 16.4991C14.014 16.4991 15.0212 15.4919 15.0212 14.2491C15.0212 13.2981 14.407 12.4611 13.5272 12.1281L13.5212 8.99915C13.5212 8.58515 13.1852 8.24915 12.7712 8.24915H9.77124L9.76899 5.86639C10.642 5.55814 11.2712 4.70015 11.2712 3.74915C11.2712 2.5064 10.264 1.49915 9.02124 1.49915Z",className:"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]"})})},{name:r("portfolio.setting"),href:"/portfolio/setting",icon:jsxRuntime.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M6.72601 1.84159C5.66251 2.17834 4.74527 2.7296 3.93677 3.48185C3.68702 3.7151 3.61052 4.09534 3.77252 4.39609C4.37327 5.50684 3.74476 6.69484 2.39026 6.76309C2.05801 6.78034 1.76477 7.02559 1.68677 7.34884C1.55252 7.90759 1.49927 8.37559 1.49927 8.98984C1.49927 9.50509 1.55476 10.0878 1.66351 10.6068C1.73101 10.9308 2.01302 11.1641 2.34302 11.1933C3.70652 11.3111 4.38152 12.3506 3.77252 13.6773C3.63752 13.9721 3.69902 14.3246 3.93677 14.5443C4.73327 15.2816 5.64826 15.8006 6.72601 16.1381C7.03351 16.2348 7.38076 16.1186 7.56976 15.8568C8.40376 14.7033 9.61352 14.6988 10.4055 15.8568C10.5923 16.1298 10.9343 16.2611 11.2493 16.1613C12.2895 15.8343 13.2585 15.2771 14.0618 14.5443C14.3093 14.3193 14.3745 13.9541 14.226 13.6541C13.602 12.3948 14.3198 11.2383 15.6083 11.2166C15.9503 11.2106 16.2548 10.9856 16.335 10.6541C16.4648 10.1163 16.4993 9.64759 16.4993 8.98984C16.4993 8.42434 16.4325 7.86709 16.3118 7.32559C16.2353 6.98359 15.936 6.74059 15.585 6.73984C14.3168 6.73759 13.6058 5.49109 14.226 4.39609C14.3985 4.09084 14.3445 3.71735 14.085 3.48185C13.2675 2.73935 12.2708 2.15959 11.226 1.84159C10.905 1.74409 10.5638 1.86409 10.3823 2.14609C9.65776 3.27109 8.30477 3.29135 7.59302 2.16935C7.41077 1.8821 7.05001 1.73809 6.72601 1.84159ZM8.99927 5.98984C10.656 5.98984 11.9993 7.33309 11.9993 8.98984C11.9993 10.6466 10.656 11.9898 8.99927 11.9898C7.34252 11.9898 5.99927 10.6466 5.99927 8.98984C5.99927 7.33309 7.34252 5.98984 8.99927 5.98984Z",className:"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]"})})}],[r]),n=hooks.useMediaQuery("(max-width: 768px)");return {items:a,current:o,hideSideBar:n,onItemSelect:s=>{typeof s.href>"u"||(i(s.href),t?.onRouteChange({href:s.href,name:s.name}));}}};var wi=e=>{let t=it({current:e.leftSideProps?.current});return jsxRuntime.jsx(ot,{...t,...e,children:e.children})};var so={};$(so,{AssetHistory:()=>ce,AssetHistoryWidget:()=>de,AssetWidget:()=>ne,AssetsChartWidget:()=>ze,AssetsUI:()=>ae,DistributionHistoryUI:()=>ge,DistributionHistoryWidget:()=>ye,FundingHistoryWidget:()=>fe,HistoryDataGroupWidget:()=>xe,OverviewContextProvider:()=>Le,OverviewPage:()=>no,PerformanceUI:()=>be,PerformanceWidget:()=>ve,useAssetHistoryColumns:()=>le,useAssetHistoryHook:()=>ue,useAssetsLineChartScript:()=>Me,useFundingHistoryColumns:()=>me,useFundingHistoryHook:()=>pe,usePerformanceScript:()=>he});var at=()=>{let{connect:e}=hooks.useWalletConnector(),{state:t}=hooks.useAccount(),{totalValue:o,freeCollateral:i}=hooks.useCollateral(),{wrongNetwork:r,disabledConnect:a}=reactApp.useAppContext(),[n]=hooks.usePositionStream(),[s]=hooks.useLeverage(),[l,u]=hooks.useLocalStorage("orderly_assets_visible",true),m=react.useMemo(()=>!r&&!a&&(t.status===types.AccountStatusEnum.EnableTrading||t.status===types.AccountStatusEnum.EnableTradingWithoutConnected),[t.status,r,a]),p=()=>{ui.modal.show(uiLeverage.LeverageWidgetId);},x=()=>{ui.modal.show(uiTransfer.DepositAndWithdrawWithDialogId,{activeTab:"deposit"});},f=()=>{ui.modal.show(uiTransfer.DepositAndWithdrawWithDialogId,{activeTab:"withdraw"});};return {canTrade:m,connect:e,portfolioValue:o,freeCollateral:i,unrealPnL:n.aggregated.total_unreal_pnl,unrealROI:n.totalUnrealizedROI,currentLeverage:s,onLeverageEdit:p,visible:l,wrongNetwork:r,toggleVisible:()=>u(!l),onDeposit:x,onWithdraw:f}};var Bt=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.CardTitle,{children:t("common.overview")}),jsxRuntime.jsxs(ui.Flex,{gap:3,children:[jsxRuntime.jsx(ui.Button,{disabled:e.disabled,size:"md",color:"secondary",onClick:()=>e.onWithdraw?.(),icon:jsxRuntime.jsx(ui.ArrowUpSquareFillIcon,{}),"data-testid":"oui-testid-portfolio-assets-withdraw-btn",children:t("common.withdraw")}),jsxRuntime.jsx(ui.Button,{disabled:e.disabled,size:"md",onClick:()=>e.onDeposit?.(),icon:jsxRuntime.jsx(ui.ArrowDownSquareFillIcon,{}),"data-testid":"oui-testid-portfolio-assets-deposit-btn",children:t("common.deposit")})]})]})};var ae=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsx(ui.Card,{classNames:{footer:"oui-h-[48px]",root:"oui-h-[240px]"},title:jsxRuntime.jsx(Bt,{disabled:!e.canTrade,onDeposit:e.onDeposit,onWithdraw:e.onWithdraw}),children:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:t("common.totalValue")}),jsxRuntime.jsx("button",{onClick:()=>{e.toggleVisible();},"data-testid":"oui-testid-portfolio-assets-eye-btn",children:e.visible?jsxRuntime.jsx(ui.EyeIcon,{size:16,color:"white"}):jsxRuntime.jsx(ui.EyeCloseIcon,{size:16,color:"white"})})]}),children:jsxRuntime.jsx(ui.Either,{value:e.canTrade,left:jsxRuntime.jsx(Zi,{}),children:jsxRuntime.jsx(ui.Text.numeral,{visible:e.visible,unit:"USDC",style:{"--oui-gradient-angle":"45deg"},unitClassName:"oui-text-base oui-text-base-contrast-80 oui-h-9 oui-ml-1",className:ui.gradientTextVariants({className:"oui-font-bold oui-text-3xl",color:"brand"}),children:e.portfolioValue??"--"})})}),jsxRuntime.jsx(ui.Divider,{className:"oui-my-4",intensity:8}),jsxRuntime.jsx(uiConnector.AuthGuard,{buttonProps:{size:"lg",fullWidth:true},children:jsxRuntime.jsx(qi,{unrealROI:e.unrealROI,unrealPnL:e.unrealPnL,freeCollateral:e.freeCollateral,currentLeverage:e.currentLeverage,onLeverageEdit:e.onLeverageEdit,visible:e.visible})})]})})},Zi=()=>jsxRuntime.jsxs(ui.Flex,{gap:1,className:"oui-h-9",children:[jsxRuntime.jsx(ui.Text.gradient,{color:"brand",weight:"bold",children:"--"}),jsxRuntime.jsx(ui.Text,{children:"USDC"})]}),qi=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Grid,{cols:3,className:"oui-h-12",children:[jsxRuntime.jsx(ui.Statistic,{label:t("common.unrealizedPnl"),children:jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Text.numeral,{coloring:true,size:"lg",weight:"semibold",visible:e.visible,children:e.unrealPnL}),jsxRuntime.jsx(ui.Text.numeral,{coloring:true,rule:"percentages",size:"sm",weight:"semibold",prefix:"(",suffix:")",visible:e.visible,children:e.unrealROI})]})}),jsxRuntime.jsx(ui.Statistic,{label:t("leverage.maxAccountLeverage"),children:jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx("span",{"data-testid":"oui-testid-portfolio-assets-maxAccountLeverage-value",className:"oui-text-lg",children:e.currentLeverage}),jsxRuntime.jsx("span",{children:"x"}),jsxRuntime.jsx("button",{className:"oui-ml-1",onClick:()=>e.onLeverageEdit?.(),"data-testid":"oui-testid-portfolio-assets-maxAccountLeverage-edit-btn",children:jsxRuntime.jsx(ui.EditIcon,{color:"white",size:18})})]})}),jsxRuntime.jsx(ui.Statistic,{label:t("portfolio.overview.availableWithdraw"),align:"right",valueProps:{size:"lg",visible:e.visible},children:e.freeCollateral})]})};var ne=()=>{let{canTrade:e,connect:t,portfolioValue:o,onLeverageEdit:i,...r}=at();return jsxRuntime.jsx(ae,{onConnectWallet:t,canTrade:e,portfolioValue:o,onLeverageEdit:i,...r})};var Ne=(i=>(i.WEEK="7D",i.MONTH="30D",i.QUARTER="90D",i))(Ne||{}),Gt=(e,t)=>{let[o]=react.useState(()=>{let d=new Date;return new Date(dateFns.getYear(d),dateFns.getMonth(d),dateFns.getDate(d),0,0,0)}),{isRealtime:i=false}=t||{},r=Object.values(Ne),[a,n]=hooks.useLocalStorage(e,"7D"),{totalValue:s}=hooks.useCollateral(),l=d=>{switch(d){case "30D":return dateFns.subDays(o,35);case "90D":return dateFns.subDays(o,95);default:return dateFns.subDays(o,10)}},u=react.useMemo(()=>{switch(a){case "7D":return 7;case "30D":return 30;case "90D":return 90;default:return 7}},[a]),[m,p]=react.useState(l(a)),x=react.useMemo(()=>dateFns.addDays(o,1),[o]),[f]=hooks.useStatisticsDaily({startDate:m.toISOString().split("T")[0],endDate:x.toISOString().split("T")[0]},{ignoreAggregation:true}),[c]=hooks.useAssetsHistory({startTime:dateFns.subDays(o,2).getTime().toString(),endTime:x.getTime().toString(),pageSize:50}),g=d=>{p(l(d)),n(d);},ee=d=>{if(s==null)return null;let C=new utils.Decimal(s).sub(d.lastItem.account_value);if(Array.isArray(d.assetHistory)&&d.assetHistory.length>0&&typeof d.lastItem.snapshot_time<"u"){let S=[];for(let h=0;h<d.assetHistory.length;h++){let w=d.assetHistory[h];w.created_time>d.lastItem.snapshot_time&&S.push(w);}for(let h=0;h<S.length;h++){let w=S[h];w.side==="DEPOSIT"?w.trans_status==="COMPLETED"&&(C=C.sub(w.amount)):w.side==="WITHDRAW"&&w.trans_status!=="FAILED"&&(C=C.add(w.amount));}}return C.toNumber()},V=(d,C)=>{let S=d[d.length-1],h=dateFns.format(o,"yyyy-MM-dd");return {...S,date:h,perp_volume:0,account_value:C!==null?C:S?.account_value??0,pnl:ee({lastItem:S,assetHistory:c})??0}},G=(d,C)=>!Array.isArray(d)||d.length===0?d:(d[d.length-1].date,dateFns.format(o,"yyyy-MM-dd"),d.concat([V(d,C)])),te=(d,C)=>{let S=C?G(d,s):d;return S.slice(Math.max(0,S.length-u))},D=react.useMemo(()=>s==null?[]:te(f,i),[f,s,c,i]),et=react.useMemo(()=>{let d=utils.zero,C=utils.zero,S=utils.zero;if(Array.isArray(D)&&D.length){D.forEach(ie=>{C=C.add(ie.pnl);});let h=D[0],w=f.findIndex(ie=>ie.date===h.date),oe=f[w-1]?.account_value;typeof oe>"u"||oe===0?S=utils.zero:S=C.div(oe);}if(f.length>0)for(let h=0;h<u;h++){let w=f[f.length-1-h];w&&(d=d.add(w.perp_volume??0));}return {vol:d.toNumber(),pnl:C.toNumber(),roi:S.toNumber()}},[D,f,u]);return {periodTypes:r,period:a,onPeriodChange:g,data:D,aggregateValue:et,createFakeData:(d,C)=>Array.from({length:2},(S,h)=>({date:dateFns.format(h===0?m:new Date,"yyyy-MM-dd"),...h===0?d:C})),volumeUpdateDate:f?.[f.length-1]?.date??""}};var $t=react.createContext({}),lr="portfolio_performance_period",Ee=()=>react.useContext($t),Le=({children:e})=>{let t=Gt(lr,{isRealtime:true});return jsxRuntime.jsx($t.Provider,{value:{...t},children:e})};var Me=()=>{let e=Ee(),{wrongNetwork:t,disabledConnect:o}=reactApp.useAppContext(),{state:i}=hooks.useAccount(),r=reactApp.useDataTap(e.data,{accountStatus:i.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading,fallbackData:e.createFakeData({account_value:0},{account_value:500})}),a=react.useMemo(()=>r?.length??0>0?r:e.createFakeData({account_value:0},{account_value:500}),[r]),n=t||o||!e.data.length;return {...e,data:a,invisible:n}};var We=e=>{let{t}=i18n.useTranslation(),o=react.useMemo(()=>({"7D":t("common.select.7d"),"30D":t("common.select.30d"),"90D":t("common.select.90d")}),[t]);return jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.CardTitle,{children:e.title}),jsxRuntime.jsx("div",{className:"oui-min-w-14",children:jsxRuntime.jsx(ui.Select.options,{size:"xs",value:e.period,onValueChange:e.onPeriodChange,options:e.periodTypes.map(i=>({value:i,label:o[i]}))})})]})};var Zt=e=>{let{onPeriodChange:t,periodTypes:o,period:i,data:r}=e,{t:a}=i18n.useTranslation();return jsxRuntime.jsx(ui.Card,{title:jsxRuntime.jsx(We,{onPeriodChange:t,periodTypes:o,period:i,title:a("common.assets")}),id:"portfolio-overview-assets-chart",classNames:{content:"oui-h-[168px] oui-pb-0"},children:jsxRuntime.jsx(chart.AssetLineChart,{data:e.data,invisible:e.invisible})})};var ze=()=>{let e=Me();return jsxRuntime.jsx(Zt,{...e})};var le=()=>{let{data:e}=hooks.useQuery("/v1/public/chain_info"),{t}=i18n.useTranslation();return react.useMemo(()=>[{title:t("common.token"),dataIndex:"token",width:80,render:i=>jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.TokenIcon,{name:i,size:"xs"}),jsxRuntime.jsx("span",{children:i})]})},{title:t("common.time"),dataIndex:"created_time",width:80,rule:"date"},{title:t("portfolio.overview.column.txId"),dataIndex:"tx_id",width:120,render:(i,r)=>{if(!i)return jsxRuntime.jsx("div",{className:"oui-text-base-contrast-54",children:"-"});let s=`${e?.find(l=>parseInt(r.chain_id)===parseInt(l.chain_id))?.explorer_base_url}/tx/${i}`;return jsxRuntime.jsx("a",{href:s,target:"_blank",children:jsxRuntime.jsx(ui.Text.formatted,{copyable:!!i,rule:"txId",className:"oui-underline-offset-4 oui-underline oui-decoration-dashed oui-decoration-line-16",onCopy:l=>{l.preventDefault(),l.stopPropagation(),ui.toast.success(t("common.copy.copied"));},children:i})})}},{title:t("common.status"),dataIndex:"trans_status",width:100,render:i=>({[types.AssetHistoryStatusEnum.NEW]:t("assetHistory.status.pending"),[types.AssetHistoryStatusEnum.CONFIRM]:t("assetHistory.status.confirm"),[types.AssetHistoryStatusEnum.PROCESSING]:t("assetHistory.status.processing"),[types.AssetHistoryStatusEnum.COMPLETED]:t("assetHistory.status.completed"),[types.AssetHistoryStatusEnum.FAILED]:t("assetHistory.status.failed")})[i]||ui.capitalizeFirstLetter(i.toLowerCase())},{title:t("common.type"),dataIndex:"side",width:80,render:i=>jsxRuntime.jsx(ui.Text,{color:i==="DEPOSIT"?"deposit":"withdraw",children:t(i==="DEPOSIT"?"common.deposit":"common.withdraw")})},{title:t("common.amount"),dataIndex:"amount",width:100,rule:"price",formatter:(i,r)=>r.side==="WITHDRAW"?-(i-(r.fee??0)):i-(r.fee??0),numeralProps:{coloring:true,showIdentifier:true}}],[e,t])};var Y=e=>{let{from:t,to:o}=e;return typeof o>"u"&&(o=new Date),dateFns.differenceInDays(t,o)===0?[t,dateFns.setHours(o,23)]:[t,o]};var ue=()=>{let[e]=react.useState(()=>{let c=new Date;return new Date(dateFns.getYear(c),dateFns.getMonth(c),dateFns.getDate(c),0,0,0)}),[t,o]=react.useState([utils.subtractDaysFromCurrentDate(90,e),e]),[i,r]=react.useState("All"),{page:a,pageSize:n,setPage:s,parsePagination:l}=ui.usePagination(),[u,{meta:m,isLoading:p}]=hooks.useAssetsHistory({startTime:t[0].getTime().toString(),endTime:dateFns.set(t[1],{hours:23,minutes:59,seconds:59,milliseconds:0}).getTime().toString(),page:a,pageSize:n,side:i}),x=c=>{c.name==="side"&&(r(c.value),s(1)),c.name==="dateRange"&&(o(Y(c.value)),s(1));},f=react.useMemo(()=>l(m),[l,m]);return {dataSource:u,total:m?.total,isLoading:p,queryParameter:{side:i,dateRange:t},onFilter:x,pagination:f}};var ce=e=>{let{dataSource:t,queryParameter:o,onFilter:i,isLoading:r}=e,{side:a,dateRange:n}=o,s=le(),{t:l}=i18n.useTranslation(),u=react.useMemo(()=>[{label:l("common.all"),value:"All"},{label:l("common.deposit"),value:"DEPOSIT"},{label:l("common.withdraw"),value:"WITHDRAW"}],[l]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.DataFilter,{items:[{type:"select",name:"side",options:u,value:a},{type:"range",name:"dateRange",value:{from:n[0],to:n[1]}}],onFilter:m=>{i(m);}}),jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:true,loading:r,classNames:{root:"oui-h-[calc(100%_-_49px)]"},columns:s,dataSource:t,pagination:e.pagination})]})};var de=()=>{let e=ue();return jsxRuntime.jsx(ce,{...e})};var me=()=>{let{t:e}=i18n.useTranslation();return react.useMemo(()=>[{title:e("common.symbol"),dataIndex:"symbol",width:80,rule:"symbol",textProps:{showIcon:true}},{title:e("common.time"),dataIndex:"created_time",width:120,rule:"date"},{title:e("portfolio.overview.column.funding&AnnualRate"),dataIndex:"funding_rate",width:80,render:(o,i)=>jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",dp:6,children:i.funding_rate}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",dp:6,children:i.annual_rate})]})},{title:e("portfolio.overview.column.paymentType"),dataIndex:"payment_type",width:80,render:o=>{switch(o){case "Pay":case "Paid":return e("portfolio.overview.column.paymentType.paid");case "Receive":case "Received":return e("portfolio.overview.column.paymentType.received");default:return o}}},{title:`${e("portfolio.overview.column.fundingFee")} (USDC)`,dataIndex:"funding_fee",width:80,rule:"price",formatter(o,i,r){return Number(o)*-1},numeralProps:{coloring:true,showIdentifier:true,ignoreDP:true}}],[e])};var mt=e=>{let{dataSource:t,queryParameter:o,onFilter:i,isLoading:r}=e,a=me(),n=hooks.useSymbolsInfo(),{symbol:s,dateRange:l}=o,{t:u}=i18n.useTranslation(),m=react.useMemo(()=>[{label:u("common.all"),value:"All"},...Object.keys(n).map(p=>({label:p.split("_")[1],value:p}))],[u,n]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.DataFilter,{items:[{type:"select",name:"symbol",isCombine:true,options:m,value:s,valueFormatter:p=>m.find(f=>f.value===p)?.label||p},{type:"range",name:"dateRange",value:{from:l[0],to:l[1]}}],onFilter:p=>{i(p);}}),jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:true,columns:a,dataSource:t,loading:r,generatedRowKey:p=>`${p.updated_time}`,classNames:{root:"oui-h-[calc(100%_-_49px)]"},pagination:e.pagination})]})};var pe=()=>{let[e]=react.useState(()=>{let g=new Date;return new Date(dateFns.getYear(g),dateFns.getMonth(g),dateFns.getDate(g),0,0,0)}),[t,o]=react.useState([utils.subtractDaysFromCurrentDate(90,e),e]),[i,r]=react.useState("All"),{page:a,pageSize:n,setPage:s,parsePagination:l}=ui.usePagination(),[u,{isLoading:m,meta:p,isValidating:x}]=hooks.useFundingFeeHistory({dataRange:[t[0].getTime(),dateFns.set(t[1],{hours:23,minutes:59,seconds:59,milliseconds:0}).getTime()],symbol:i,page:a,pageSize:n},{keepPreviousData:true}),f=g=>{g.name==="symbol"&&(r(g.value),s(1)),g.name==="dateRange"&&(o(Y(g.value)),s(1));},c=react.useMemo(()=>l(p),[l,p]);return {dataSource:u,isLoading:m,isValidating:x,queryParameter:{symbol:i,dateRange:t},onFilter:f,pagination:c}};var fe=()=>{let e=pe();return jsxRuntime.jsx(mt,{...e})};var jt=()=>{let{t:e}=i18n.useTranslation();return react.useMemo(()=>[{title:e("common.token"),dataIndex:"token",width:80,render:(o,i)=>jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[jsxRuntime.jsx(ui.TokenIcon,{name:o,size:"xs"}),jsxRuntime.jsx("span",{children:o})]})},{title:e("common.time"),dataIndex:"updated_time",width:120,rule:"date"},{title:e("common.status"),dataIndex:"status",width:120,formatter(o,i,r){switch(o){case "CREATED":case "SPLIT":return e("portfolio.assetHistory.status.processing");case "COMPLETED":default:return e("portfolio.assetHistory.status.completed")}}},{title:e("common.type"),dataIndex:"type",width:80,formatter:o=>{switch(o){case "REFERRER_REBATE":return e("portfolio.overview.distribution.type.referralCommission");case "REFEREE_REBATE":return e("portfolio.overview.distribution.type.refereeRebate");case "BROKER_FEE":return e("portfolio.overview.distribution.type.brokerFee");default:return "-"}}},{title:e("common.amount"),dataIndex:"amount",width:80}],[e])};var ge=e=>{let{dataSource:t,queryParameter:o,onFilter:i,isLoading:r,isValidating:a}=e,n=jt(),{type:s,dateRange:l}=o,{t:u}=i18n.useTranslation(),m=react.useMemo(()=>[{label:u("common.all"),value:"All"},{label:u("portfolio.overview.distribution.type.referralCommission"),value:"REFERRER_REBATE"},{label:u("portfolio.overview.distribution.type.refereeRebate"),value:"REFEREE_REBATE"},{label:u("portfolio.overview.distribution.type.brokerFee"),value:"BROKER_FEE"}],[u]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.DataFilter,{items:[{type:"select",name:"type",options:m,value:s},{type:"range",name:"dateRange",value:{from:l[0],to:l[1]}}],onFilter:p=>{i(p);}}),jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:true,columns:n,dataSource:t,loading:r,className:"oui-font-semibold",classNames:{root:"oui-h-[calc(100%_-_49px)]"},pagination:e.pagination})]})};var to=()=>{let[e]=react.useState(()=>{let g=new Date;return new Date(dateFns.getYear(g),dateFns.getMonth(g),dateFns.getDate(g),0,0,0)}),[t,o]=react.useState([utils.subtractDaysFromCurrentDate(90,e),e]),[i,r]=react.useState("All"),{page:a,pageSize:n,setPage:s,parsePagination:l}=ui.usePagination(),[u,{isLoading:m,meta:p,isValidating:x}]=hooks.useDistributionHistory({dataRange:[t[0].getTime(),dateFns.set(t[1],{hours:23,minutes:59,seconds:59,milliseconds:0}).getTime()],type:i,pageSize:n,page:a}),f=g=>{g.name==="type"&&(r(g.value),s(1)),g.name==="dateRange"&&(o(Y(g.value)),s(1));},c=react.useMemo(()=>l(p),[l,p]);return {dataSource:u,isLoading:m,isValidating:x,queryParameter:{type:i,dateRange:t},onFilter:f,pagination:c}};var ye=()=>{let e=to();return jsxRuntime.jsx(ge,{...e})};var oo=e=>{let{active:t="deposit",onTabChange:o}=e,{t:i}=i18n.useTranslation();return jsxRuntime.jsx(ui.Card,{children:jsxRuntime.jsxs(ui.Tabs,{value:t,onValueChange:o,variant:"contained",size:"xl",children:[jsxRuntime.jsx(ui.TabPanel,{title:i("portfolio.overview.deposits&Withdrawals"),icon:jsxRuntime.jsx(ui.ArrowLeftRightIcon,{}),value:"deposit",children:jsxRuntime.jsx(de,{})}),jsxRuntime.jsx(ui.TabPanel,{title:i("common.funding"),icon:jsxRuntime.jsx(ui.FeeTierIcon,{}),value:"funding",children:jsxRuntime.jsx(fe,{})}),jsxRuntime.jsx(ui.TabPanel,{title:i("portfolio.overview.distribution"),icon:jsxRuntime.jsx(ui.ServerFillIcon,{}),value:"distribution",children:jsxRuntime.jsx(ye,{})})]})})};var io=()=>{let[e,t]=react.useState("deposit");return {active:e,onTabChange:o=>t(o)}};var xe=()=>{let e=io();return jsxRuntime.jsx(oo,{...e})};var be=e=>{let{periodTypes:t,period:o,onPeriodChange:i,aggregateValue:r,invisible:a,visible:n,volumeUpdateDate:s}=e,{t:l}=i18n.useTranslation(),u=react.useMemo(()=>({"7D":l("common.select.7d"),"30D":l("common.select.30d"),"90D":l("common.select.90d")}),[l]);return jsxRuntime.jsxs(ui.Card,{title:jsxRuntime.jsx(We,{onPeriodChange:i,periodTypes:t,period:o,title:l("portfolio.overview.performance")}),id:"portfolio-overview-performance",children:[jsxRuntime.jsxs(ui.Grid,{cols:3,gap:4,children:[jsxRuntime.jsx(ui.Box,{gradient:"neutral",r:"md",px:4,py:2,angle:184,border:true,borderColor:6,children:jsxRuntime.jsx(ui.Statistic,{label:l("portfolio.overview.performance.roi",{period:u[o]}),valueProps:{rule:"percentages",coloring:true,visible:n},children:a?"--":r.roi})}),jsxRuntime.jsx(ui.Box,{gradient:"neutral",r:"md",px:4,py:2,angle:184,border:true,borderColor:6,children:jsxRuntime.jsx(ui.Statistic,{label:l("portfolio.overview.performance.pnl",{period:u[o]}),valueProps:{coloring:true,showIdentifier:true,visible:n},children:a?"--":r.pnl})}),jsxRuntime.jsx(ui.Box,{gradient:"neutral",r:"md",px:4,py:2,angle:184,border:true,borderColor:6,children:jsxRuntime.jsx(ui.Statistic,{classNames:{label:"oui-w-full"},label:jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx("span",{children:l("portfolio.overview.performance.volume",{period:u[o]})}),jsxRuntime.jsx("span",{children:s})]}),children:a?"--":r.vol})})]}),jsxRuntime.jsxs(ui.Grid,{cols:2,gap:4,children:[jsxRuntime.jsx(Qa,{data:e.data??[],invisible:e.invisible}),jsxRuntime.jsx(Ya,{data:e.data??[],invisible:e.invisible||(e.data?.length??0)<=2})]})]})},Qa=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Box,{mt:4,height:"188px",children:[jsxRuntime.jsx(ui.Text,{as:"div",size:"sm",className:"oui-mb-3",children:t("portfolio.overview.performance.dailyPnl")}),jsxRuntime.jsx(ui.Box,{r:"md",className:"oui-border oui-border-line-4 oui-h-[188px]",children:jsxRuntime.jsx(chart.PnLBarChart,{data:e.data,invisible:e.invisible||(e.data?.length??0)<=2})})]})},Ya=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Box,{mt:4,children:[jsxRuntime.jsx(ui.Text,{as:"div",size:"sm",className:"oui-mb-3",children:t("portfolio.overview.performance.cumulativePnl")}),jsxRuntime.jsx(ui.Box,{r:"md",className:"oui-border oui-border-line-4 oui-h-[188px]",children:jsxRuntime.jsx(chart.PnlLineChart,{data:e.data,invisible:e.invisible||(e.data?.length??0)<=2})})]})};var he=()=>{let e=Ee(),[t]=hooks.useLocalStorage("orderly_assets_visible",true),{wrongNetwork:o,disabledConnect:i}=reactApp.useAppContext(),{state:r}=hooks.useAccount(),a=reactApp.useDataTap(e.data,{accountStatus:r.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading,fallbackData:e.createFakeData({account_value:0,pnl:0},{account_value:500,pnl:500})}),n=react.useMemo(()=>a?.length??0>0?a:e.createFakeData({account_value:0,pnl:0},{account_value:500,pnl:500}),[a]),s=o||i||r.status<types.AccountStatusEnum.EnableTrading&&r.status!==types.AccountStatusEnum.EnableTradingWithoutConnected;return {...e,data:n,invisible:s,visible:t}};var ve=()=>{let e=he();return jsxRuntime.jsx(be,{...e})};var no=()=>jsxRuntime.jsx(Le,{children:jsxRuntime.jsxs(ui.Grid,{cols:2,gap:4,children:[jsxRuntime.jsx(ne,{}),jsxRuntime.jsx(ze,{}),jsxRuntime.jsx(ui.Grid.span,{colSpan:2,children:jsxRuntime.jsx(ve,{})}),jsxRuntime.jsx(ui.Grid.span,{colSpan:2,children:jsxRuntime.jsx(xe,{})})]})});var yo={};$(yo,{FeeTierPage:()=>go});var Ct=[{tier:1,maker_fee:"0.03%",taker_fee:"0.06%",volume_min:0,volume_max:5e5},{tier:2,maker_fee:"0.02%",taker_fee:"0.05%",volume_min:5e5,volume_max:25e5},{tier:3,maker_fee:"0.015%",taker_fee:"0.045%",volume_min:25e5,volume_max:1e7},{tier:4,maker_fee:"0.01%",taker_fee:"0.04%",volume_min:1e7,volume_max:5e7},{tier:5,maker_fee:"0.005%",taker_fee:"0.035%",volume_min:5e7,volume_max:125e6,or:"/",staking_min:3e5,staking_max:null},{tier:6,maker_fee:"0%",taker_fee:"0.03%",volume_min:125e6,volume_max:null,or:"/",staking:null,staking_min:null,staking_max:null}];var uo=()=>{let{t:e}=i18n.useTranslation();return react.useMemo(()=>[{title:e("portfolio.feeTier.column.tier"),dataIndex:"tier",align:"left",width:100},{title:`${e("portfolio.feeTier.column.30dVolume")} (USDC)`,dataIndex:"volume",align:"center",width:170,render:(o,i)=>{let{volume_min:r,volume_max:a,volume_node:n}=i;return n||(!r&&!a?jsxRuntime.jsx("div",{style:{fontVariantLigatures:"none"},children:"--"}):r&&!a?jsxRuntime.jsx("div",{children:e("portfolio.feeTier.column.30dVolume.above",{volume:utils.numberToHumanStyle(r,r===25e5?1:0)})}):jsxRuntime.jsxs("div",{children:[r&&utils.numberToHumanStyle(r,r===25e5?1:0)," - ",a&&utils.numberToHumanStyle(a,a===25e5?1:0)]}))}},{title:e("portfolio.feeTier.column.maker"),dataIndex:"maker_fee",align:"right",width:100,render:o=>jsxRuntime.jsx(ui.Text,{children:o})},{title:e("portfolio.feeTier.column.taker"),dataIndex:"taker_fee",align:"right",width:100,render:o=>jsxRuntime.jsx(ui.Text,{children:o})}],[e])};function co(e){let{dataAdapter:t}=e||{},[o,i]=react.useState(),{data:r}=hooks.useAccountInfo(),{state:a}=hooks.useAccount(),n=uo(),{data:s}=hooks.usePrivateQuery("/v1/volume/user/stats"),{columns:l,dataSource:u}=react.useMemo(()=>typeof t=="function"?t(n,Ct):{columns:n,dataSource:Ct},[t,n]),m=(c,g)=>{let{futures_taker_fee_rate:ee=0,futures_maker_fee_rate:V=0}=g,G=`${new utils.Decimal(ee).mul(.01).toString()}%`,te=`${new utils.Decimal(V).mul(.01).toString()}%`;for(let D of c)if(G===D.taker_fee&&te===D.maker_fee)return D.tier};react.useEffect(()=>{if(!r)return;let c=m(u,r);i(c);},[r,u]);let p=react.useMemo(()=>{let c=r?.futures_taker_fee_rate;if(!(typeof c>"u"))return `${new utils.Decimal(c).mul(.01).toString()}%`},[r]),x=react.useMemo(()=>{let c=r?.futures_maker_fee_rate;if(!(typeof c>"u"))return `${new utils.Decimal(c).mul(.01).toString()}%`},[r]);return {...reactApp.useDataTap({tier:o,vol:s?.perp_volume_last_30_days,takerFeeRate:p,makerFeeRate:x},{accountStatus:a.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading}),columns:l,dataSource:u,onRow:e?.onRow}}var po=e=>{let{columns:t,dataSource:o,tier:i,vol:r,takerFeeRate:a,makerFeeRate:n}=e,{t:s}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Card,{title:jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"lg",children:s("portfolio.feeTier")}),jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text,{size:"xs",intensity:54,children:s("portfolio.feeTier.updatedDailyBy")}),jsxRuntime.jsx(ui.Text,{size:"xs",intensity:80,children:"2:00 UTC"})]})]}),className:"w-full",id:"oui-portfolio-fee-tier",children:[jsxRuntime.jsx(ui.Divider,{}),jsxRuntime.jsx(vn,{tier:i,vol:r,takerFeeRate:a,makerFeeRate:n}),jsxRuntime.jsx(Tn,{dataSource:o,columns:t,tier:i,onRow:e.onRow})]})},vn=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{direction:"row",gapX:4,my:4,itemAlign:"stretch",children:[jsxRuntime.jsx(Ue,{label:t("portfolio.feeTier.header.yourTier"),value:jsxRuntime.jsx(ui.Text.gradient,{color:"brand",angle:270,size:"base",children:e.tier||"--"})}),jsxRuntime.jsx(Ue,{label:`${t("portfolio.feeTier.header.30dVolume")} (USDC)`,value:jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:2,rm:utils.Decimal.ROUND_DOWN,children:typeof e.vol!==void 0?`${e.vol}`:"-"})}),jsxRuntime.jsx(Ue,{label:t("portfolio.feeTier.header.takerFeeRate"),value:jsxRuntime.jsx(ui.Text.gradient,{color:"brand",angle:270,size:"base",children:e.takerFeeRate||"--"})}),jsxRuntime.jsx(Ue,{label:t("portfolio.feeTier.header.makerFeeRate"),value:jsxRuntime.jsx(ui.Text.gradient,{color:"brand",angle:270,size:"base",children:e.makerFeeRate||"--"})})]})},Ue=e=>jsxRuntime.jsxs(ui.Box,{gradient:"neutral",r:"lg",px:4,py:2,angle:184,width:"100%",border:true,borderColor:6,children:[jsxRuntime.jsx(ui.Text,{as:"div",intensity:36,size:"2xs",weight:"semibold",className:"oui-leading-[18px]",children:e.label}),jsxRuntime.jsx(ui.Text,{size:"base",intensity:80,className:"oui-leading-[24px] oui-mt-[2px]",children:e.value})]}),Tn=e=>{let[t,o]=react.useState(void 0);react.useEffect(()=>{let r=document.getElementById("oui-fee-tier-content")?.getBoundingClientRect(),a=document.getElementById("oui-fee-tier-current")?.getBoundingClientRect();if(a&&r&&e.tier){let n=a.top-r.top;o(n);}else o(void 0);},[e.tier]);let i=react.useCallback((r,a)=>{let n=e?.onRow?.(r,a)??{normal:void 0,active:void 0};return a+1==e.tier?{...{id:"oui-fee-tier-current","data-state":"active",className:"group oui-h-12 oui-text-[rgba(0,0,0,0.88)] oui-pointer-events-none"},...n.active}:{"data-state":"none",className:"oui-h-12",...n.normal}},[e.tier,e.onRow]);return jsxRuntime.jsxs(ui.Box,{id:"oui-fee-tier-content",className:"oui-border-b oui-border-line-4 oui-relative",children:[t&&jsxRuntime.jsx(ui.Box,{angle:90,gradient:"brand",className:"oui-rounded-md oui-absolute oui-w-full",style:{top:`${t}px`,height:"48px"}}),jsxRuntime.jsx(ui.DataTable,{bordered:true,className:"oui-font-semibold",classNames:{root:"oui-bg-transparent"},onRow:i,columns:e.columns,dataSource:e.dataSource})]})};var fo=e=>{let t=co(e);return jsxRuntime.jsx(po,{...t})};var go=e=>jsxRuntime.jsx(fo,{...e});var Co={};$(Co,{PositionsPage:()=>Hn});var Hn=e=>{let[t,o]=react.useState("Positions"),{t:i}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",gap:4,width:"100%",height:"100%",children:[jsxRuntime.jsx(ui.Flex,{children:jsxRuntime.jsx(ui.Text,{size:"lg",children:i("common.positions")})}),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsx(ui.Box,{width:"100%",className:"oui-h-[calc(100%_-_59px)]",children:jsxRuntime.jsxs(ui.Tabs,{value:t,onValueChange:r=>o(r),classNames:{tabsList:"!oui-border-none oui-pb-1",tabsContent:"oui-h-[calc(100%_-_28px)]"},className:"oui-h-full",children:[jsxRuntime.jsx(ui.TabPanel,{value:"Positions",title:i("common.positions"),children:jsxRuntime.jsx(uiPositions.PositionsWidget,{...e})}),jsxRuntime.jsx(ui.TabPanel,{value:"Position history",title:i("positions.positionHistory"),children:jsxRuntime.jsx(uiPositions.PositionHistoryWidget,{...e})}),jsxRuntime.jsx(ui.TabPanel,{value:"Liquidation",title:i("positions.liquidation"),children:jsxRuntime.jsx(uiPositions.LiquidationWidget,{})})]})})]})};var vo={};$(vo,{OrdersPage:()=>Un});var Un=e=>{let{sharePnLConfig:t}=e,{t:o}=i18n.useTranslation(),i=react.useRef(null),r=()=>{i.current?.download?.();};return jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",gap:4,width:"100%",height:"100%",children:[jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"lg",children:o("common.orders")}),jsxRuntime.jsx(ui.Tooltip,{content:o("orders.download.tooltip"),children:jsxRuntime.jsxs(ui.Button,{color:"gray",size:"sm",className:"oui-bg-base-4",onClick:r,children:[o("common.download"),jsxRuntime.jsx(Vn,{className:"oui-text-base-contrast-36 oui-ml-[5px]"})]})})]}),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsx(ui.Box,{width:"100%",className:"oui-h-[calc(100%_-_59px)]",children:jsxRuntime.jsx(uiOrders.OrdersWidget,{ref:i,sharePnLConfig:t})})]})},Vn=e=>jsxRuntime.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:jsxRuntime.jsx("path",{d:"M5.999 1.007a5 5 0 1 0 0 10 5 5 0 0 0 0-10m0 2.5a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1m0 1.5a.5.5 0 0 1 .5.5v2.5a.5.5 0 0 1-1 0v-2.5a.5.5 0 0 1 .5-.5"})});var Mo={};$(Mo,{APIManagerPage:()=>Lo,APIManagerWidget:()=>Je});var wo=e=>{let{filterTags:t,keyStatus:o}=e??{},[i,r]=react.useState(false),[a,n]=react.useState(false),[s,l]=react.useState(),{configStore:u}=react.useContext(hooks.OrderlyContext),m=u.get("brokerId"),{wrongNetwork:p,disabledConnect:x}=reactApp.useAppContext(),{state:f,account:c}=hooks.useAccount(),{t:g}=i18n.useTranslation(),ee=!p&&!x&&(f.status===types.AccountStatusEnum.EnableTrading||f.status===types.AccountStatusEnum.EnableTradingWithoutConnected),{data:V}=hooks.useQuery(`/v1/get_account?address=${c.address}&broker_id=${m}&chain_type=${c.walletAdapter?.chainNamespace}`),[G,{generateOrderlyKey:te,setIPRestriction:D,removeOrderlyKey:et,resetOrderlyKeyIPRestriction:_t,refresh:d,isLoading:C,error:S}]=hooks.useApiKeyManager({keyInfo:{key_status:o}}),[h,w]=react.useState(void 0);react.useEffect(()=>{c.keyStore.getOrderlyKey()?.getPublicKey().then(v=>{w(v);});},[c,f]);let oe=()=>{r(true);},ie=()=>{window.open("https://orderly.network/docs/build-on-evm/evm-api/api-authentication","_blank");},Kt=()=>{r(false);},Zo=async(v,_)=>{try{let A=(tt,Ie)=>{let{key:si,secretKey:li}=tt;Kt(),l({key:si,screctKey:li,ip:Ie,permissions:_?.split(",")?.map(ui=>Ft(ui)).join(", ")}),n(!0);},K=await te(_);if(ui.toast.success(g("portfolio.apiKey.created")),(v?.length||0)>0){let tt=K.key.startsWith("ed25519:")?K.key:`ed25519:${K.key}`,Ie=await D(tt,v);Ie.success&&A(K,Ie.data.ip_restriction_list?.join(","));}else A(K,void 0);}catch(A){A?.message&&ui.toast.error(A?.message);}return Promise.resolve(0)},Ht=()=>{n(false),d();},qo=()=>{navigator.clipboard.writeText(JSON.stringify(s)),ui.toast.success(g("portfolio.apiKey.apiInfo.copied"));},Qo=()=>{Ht();},Yo=v=>new Promise(async _=>{await et(v.orderly_key).then(async A=>{if(A?.success){ui.toast.success(g("portfolio.apiKey.deleted")),d();let K=await c.keyStore.getOrderlyKey()?.getPublicKey();v.orderly_key===K&&c.destroyOrderlyKey();}_(1);},A=>{}).catch(A=>{});}),Xo=async(v,_)=>{let A;(_?.length||0)===0?A=_t(v.orderly_key,"ALLOW_ALL_IPS"):A=D(v.orderly_key,_);let K=await A;return K.success?(ui.toast.success(g("portfolio.apiKey.updated")),d(),Promise.resolve()):(ui.toast.error(K.message),Promise.reject())},Jo=()=>ui.toast.success(g("portfolio.apiKey.accountId.copied")),jo=v=>{typeof v<"u"&&navigator.clipboard.writeText(v.replace("ed25519:","")),ui.toast.success(g("portfolio.apiKey.column.apiKey.copy"));},ei=()=>ui.toast.success(g("portfolio.apiKey.secretKey.copied")),ti=()=>ui.toast.success(g("portfolio.apiKey.column.restrictedIP.copy")),oi=react.useMemo(()=>G?.filter(v=>{let _=t?t?.includes(v.tag):true,A=h?!v.orderly_key.includes(h):true;return _&&A}),[G,t,h]),ii=v=>/^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(,((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9]))*$/.test(v)?"":"The IP restriction format is incorrect. Please use the correct format: [xx.xx.xxx.x],[xx.xxx.xxx.xxx]",Nt=f.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading,ri=reactApp.useDataTap(V?.account_id,{accountStatus:Nt}),ai=reactApp.useDataTap(V?.user_id,{accountStatus:Nt}),{pagination:ni}=ui.usePagination();return {address:ri??"--",uid:`${ai??"--"}`,onCreateApiKey:oe,onReadApiGuide:ie,showCreateDialog:i,hideCreateDialog:Kt,doCreate:Zo,showCreatedDialog:a,hideCreatedDialog:Ht,onCopyApiKeyInfo:qo,doConfirm:Qo,doDelete:Yo,doEdit:Xo,canCreateApiKey:ee,status:f.status,keys:oi,generateKey:s,onCopyAccountId:Jo,wrongNetwork:p,onCopyApiKey:jo,onCopyApiSecretKey:ei,onCopyIP:ti,verifyIP:ii,isLoading:C,pagination:ni}};function Ft(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Ao=e=>{let[t,o]=react.useState(""),[i,r]=react.useState(true),[a,n]=react.useState(true),[s,l]=react.useState(""),{t:u}=i18n.useTranslation();return react.useEffect(()=>{e.showCreateDialog||(o(""),r(true),n(true),l(""));},[e.showCreateDialog]),react.useEffect(()=>{t.length===0&&l("");},[t]),jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:e.showCreateDialog,onOpenChange:m=>{e.hideCreateDialog?.();},title:u("portfolio.apiKey.create.dialog.title"),actions:{primary:{label:u("common.confirm"),className:"oui-w-[120px] lg:oui-w-[154px]","data-testid":"oui-testid-apiKey-createApiKey-dialog-comfirm-btn",onClick:async()=>{if(t.length>0){let p=e.verifyIP(t);if(l(p),p.length>0)return}let m=[];i&&m.push("read"),a&&m.push("trading"),await e.doCreate(t,m.join(","));},disabled:!a&&!i,size:"md"}},classNames:{footer:"oui-justify-center",content:"oui-bg-base-8 oui-w-[300px] lg:oui-w-[360px] oui-font-semibold"},children:jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:6,children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:1,width:"100%",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text,{intensity:54,size:"2xs",children:u("portfolio.apiKey.create.ipRestriction")}),jsxRuntime.jsx("textarea",{"data-testid":"oui-testid-apiKey-createApiKey-dialog-textarea",placeholder:u("portfolio.apiKey.create.ipRestriction.placeholder"),className:ui.cn("oui-text-sm oui-text-base-contrast-80 oui-p-3 oui-h-[100px] oui-rounded-xl oui-bg-base-6 oui-w-full","oui-border-0 focus:oui-border-2 focus:oui-border-primary-darken oui-outline-none","oui-placeholder-base-contrast-20",s.length>0&&"oui-outline-1 oui-outline-danger focus:oui-outline-none"),value:t,onChange:m=>{o(m.target.value);},style:{resize:"none"}}),s.length>0&&jsxRuntime.jsxs(ui.Flex,{gap:1,className:"oui-relative",children:[jsxRuntime.jsx("div",{className:ui.cn("oui-absolute oui-top-[10px]","oui-h-1 oui-w-1 oui-rounded-full oui-bg-danger")}),jsxRuntime.jsx(ui.Text,{color:"danger",size:"xs",className:"oui-ml-2",children:s})]})]}),jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{size:"xs",intensity:54,children:u("portfolio.apiKey.permissions")}),className:"oui-w-full",children:jsxRuntime.jsxs(ui.Flex,{direction:"row",gap:6,itemAlign:"start",className:"oui-mt-2",children:[jsxRuntime.jsx(Pe,{size:18,checked:i,onCheckedChange:m=>r(m),label:u("portfolio.apiKey.permissions.read"),testid:"oui-testid-apiKey-createApiKey-dialog-read-checkbox"}),jsxRuntime.jsx(Pe,{size:18,checked:a,onCheckedChange:m=>n(m),label:u("portfolio.apiKey.permissions.trading"),testid:"oui-testid-apiKey-createApiKey-dialog-trading-checkbox"})]})})]})})},Pe=e=>jsxRuntime.jsxs("button",{disabled:e.disabled,onClick:t=>{e.onCheckedChange(!e.checked);},className:"disabled:oui-cursor-not-allowed disabled:oui-opacity-50 oui-flex oui-items-center oui-gap-2","data-testid":e.testid,children:[e.checked?jsxRuntime.jsx("svg",{width:"props.size",height:e.size,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.99072 2.92981C4.78172 2.92981 2.99072 4.72071 2.99072 6.92981V16.9298C2.99072 19.1389 4.78172 20.9298 6.99072 20.9298H16.9907C19.1997 20.9298 20.9907 19.1389 20.9907 16.9298V6.92981C20.9907 4.72071 19.1997 2.92981 16.9907 2.92981H6.99072ZM16.9853 7.31211C17.2125 7.09537 17.5236 7 17.8218 7C18.1201 7 18.4312 7.09537 18.6584 7.31211C19.1139 7.74546 19.1139 8.47384 18.6584 8.9072L10.5077 16.675C10.0534 17.1083 9.28909 17.1083 8.83472 16.675L5.34077 13.3459C4.88641 12.9126 4.88641 12.1841 5.34077 11.7508C5.79631 11.3175 6.56057 11.3175 7.01493 11.7508L9.67122 14.2822L16.9853 7.31211Z",fill:"white",fillOpacity:"0.54"})}):jsxRuntime.jsx("svg",{width:e.size,height:e.size,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M6.99072 2.92981C4.78172 2.92981 2.99072 4.72071 2.99072 6.92981V16.9298C2.99072 19.1389 4.78172 20.9298 6.99072 20.9298H16.9907C19.1997 20.9298 20.9907 19.1389 20.9907 16.9298V6.92981C20.9907 4.72071 19.1997 2.92981 16.9907 2.92981H6.99072ZM6.99072 4.92981H16.9907C18.0957 4.92981 18.9907 5.82521 18.9907 6.92981V16.9298C18.9907 18.0344 18.0957 18.9298 16.9907 18.9298H6.99072C5.88572 18.9298 4.99072 18.0344 4.99072 16.9298V6.92981C4.99072 5.82521 5.88572 4.92981 6.99072 4.92981Z",fill:"white",fillOpacity:"0.54"})}),jsxRuntime.jsx(ui.Text,{intensity:54,size:"sm",className:"oui-break-normal oui-whitespace-nowrap",children:e.label})]});var Do=e=>{let t=e.generateKey?.ip??"--",{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:e.showCreatedDialog,onOpenChange:i=>{e.hideCreatedDialog?.();},title:o("portfolio.apiKey.created"),actions:{primary:{label:o("common.ok"),"data-testid":"oui-testid-apiKey-createdApiKey-dialog-ok-btn",className:"oui-w-[120px] lg:oui-w-[154px] oui-bg-base-2 hover:oui-bg-base-3",size:"md",onClick:async()=>e.doConfirm()},secondary:{label:o("portfolio.apiKey.created.button.copyApiInfo"),"data-testid":"oui-testid-apiKey-createdApiKey-dialog-copy-btn",className:"oui-w-[120px] lg:oui-w-[154px] oui-bg-primary-darken hover:oui-opacity-80",size:"md",onClick:async()=>e.onCopyApiKeyInfo()}},classNames:{footer:"oui-justify-center",content:"oui-bg-base-8 oui-w-[300px] lg:oui-w-[360px] oui-font-semibold",body:"oui-py-0 oui-pt-5"},children:jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:4,itemAlign:"start",children:[jsxRuntime.jsx(ui.Statistic,{label:o("portfolio.apiKey.accountId"),children:jsxRuntime.jsx(ui.Text.formatted,{size:"sm",intensity:80,copyable:true,copyIconSize:16,className:"oui-break-all",onCopy:e.onCopyAccountId,"data-testid":"oui-testid-apiKey-createdApiKey-dialog-key-span",children:e.address})}),jsxRuntime.jsx(ui.Statistic,{label:o("portfolio.apiKey.column.apiKey"),children:jsxRuntime.jsx(ui.Text.formatted,{size:"sm",intensity:80,copyable:true,copyIconSize:16,className:"oui-break-all",onCopy:()=>e.onCopyApiKey(e.generateKey?.key),"data-testid":"oui-testid-apiKey-createdApiKey-dialog-key-span",children:e.generateKey?.key})}),jsxRuntime.jsxs(ui.Statistic,{label:o("portfolio.apiKey.secretKey"),children:[jsxRuntime.jsx(ui.Text.formatted,{size:"sm",intensity:80,copyable:true,copyIconSize:16,className:"oui-break-all",onCopy:e.onCopyApiSecretKey,children:e.generateKey?.screctKey})," "]}),jsxRuntime.jsx(ui.Statistic,{label:o("portfolio.apiKey.ip"),children:jsxRuntime.jsxs(ui.Flex,{width:320,gap:1,itemAlign:"center",className:"oui-text-base-contrast-80 oui-text-sm",children:[jsxRuntime.jsx(ui.Box,{className:"oui-max-h-[100px] oui-flex-1 oui-overflow-hidden oui-text-ellipsis oui-line-clamp-5 oui-break-all",children:t}),t!=="--"&&jsxRuntime.jsx(ui.Box,{width:16,height:16,className:"oui-cursor-pointer oui-flex-shrink-0",children:jsxRuntime.jsx(ui.CopyIcon,{color:"white",opacity:.54,size:16,onClick:i=>{e.generateKey?.ip&&navigator.clipboard.writeText(e.generateKey?.ip),e?.onCopyIP();}})})]})}),jsxRuntime.jsx(ui.Statistic,{label:o("portfolio.apiKey.permissions"),children:jsxRuntime.jsx(ui.Text,{size:"sm",intensity:80,"data-testid":"oui-testid-apiKey-createdApiKey-dialog-permissions-span",children:e.generateKey?.permissions})}),jsxRuntime.jsx("div",{}),jsxRuntime.jsx(ui.Text,{color:"warning",size:"xs",className:"oui-text-center",children:o("portfolio.apiKey.created.warning")})]})})};var ko=e=>{let{item:t,open:o,setOpen:i,onDelete:r}=e,{t:a}=i18n.useTranslation();return jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:o,onOpenChange:i,title:a("portfolio.apiKey.delete.dialog.title"),actions:{primary:{label:a("common.confirm"),"data-testid":"oui-testid-apiKey-deleteApiKey-dialog-confirm-btn",className:"oui-w-[120px] lg:oui-w-[154px]",size:"md",onClick:async()=>{await e.onDelete?.(t),i(false);}},secondary:{label:a("common.cancel"),className:"oui-w-[120px] lg:oui-w-[154px]",size:"md",onClick:async()=>{i(false);}}},classNames:{footer:"oui-justify-center",content:"oui-bg-base-8 oui-w-[300px] lg:oui-w-[360px] oui-font-semibold"},children:jsxRuntime.jsx(ui.Flex,{className:"oui-text-xs",children:jsxRuntime.jsx(i18n.Trans,{i18nKey:"portfolio.apiKey.delete.dialog.description",values:{apiKey:Dt(t?.orderly_key)},components:[jsxRuntime.jsx(ui.Text,{color:"primary",className:"oui-px-1"})]})})})};var Ko=e=>{let{item:t,open:o,setOpen:i,onUpdate:r}=e,[a,n]=react.useState(t.ip_restriction_list?.join(",")),[s,l]=react.useState(true),[u,m]=react.useState(true),[p,x]=react.useState(""),{t:f}=i18n.useTranslation();return react.useEffect(()=>{n(t.ip_restriction_list.join(",")),l(t.scope?.toLocaleLowerCase().includes("read")||false),m(t.scope?.toLocaleLowerCase().includes("trading")||false);},[t]),react.useEffect(()=>{a.length===0&&x("");},[a]),jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:o,onOpenChange:i,title:f("portfolio.apiKey.edit.dialog.title"),actions:{primary:{label:f("common.confirm"),"data-testid":"oui-testid-apiKey-editApiKey-dialog-confirm-btn",className:"oui-w-[120px] lg:oui-w-[154px]",onClick:async()=>{if(a.length>0){let c=e.verifyIP(a);if(x(c),c.length>0)return}await e.onUpdate?.(t,a),i(false);},disabled:t.ip_restriction_list.join(",")===a,size:"md",fullWidth:true}},classNames:{footer:"oui-justify-center",content:"oui-bg-base-8 oui-w-[300px] lg:oui-w-[360px] oui-font-semibold"},children:jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:6,children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:1,width:"100%",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text,{intensity:54,size:"2xs",children:f("portfolio.apiKey.create.ipRestriction")}),jsxRuntime.jsx("textarea",{"data-testid":"oui-testid-apiKey-editApiKey-dialog-textarea",placeholder:f("portfolio.apiKey.create.ipRestriction.placeholder"),className:ui.cn("oui-text-sm oui-text-base-contrast-80 oui-p-3 oui-h-[100px] oui-rounded-xl oui-bg-base-6 oui-w-full","oui-border-0 focus:oui-border-2 focus:oui-border-primary-darken oui-outline-none","oui-placeholder-base-contrast-20",p.length>0&&"oui-outline-1 oui-outline-danger focus:oui-outline-none"),value:a,onChange:c=>{n(c.target.value);},style:{resize:"none"}}),p.length>0&&jsxRuntime.jsxs(ui.Flex,{gap:1,className:"oui-relative",children:[jsxRuntime.jsx("div",{className:ui.cn("oui-absolute oui-top-[10px]","oui-h-1 oui-w-1 oui-rounded-full oui-bg-danger")}),jsxRuntime.jsx(ui.Text,{color:"danger",size:"xs",className:"oui-ml-2",children:p})]})]}),jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{size:"xs",intensity:54,children:f("portfolio.apiKey.permissions")}),className:"oui-w-full",children:jsxRuntime.jsxs(ui.Flex,{direction:"row",gap:6,itemAlign:"start",className:"oui-mt-2",children:[jsxRuntime.jsx(Pe,{disabled:true,size:18,checked:s,onCheckedChange:c=>l(c),label:f("portfolio.apiKey.permissions.read")}),jsxRuntime.jsx(Pe,{disabled:true,size:18,checked:u,onCheckedChange:c=>m(c),label:f("portfolio.apiKey.permissions.trading")})]})})]})})};var No=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Card,{title:t("portfolio.apiKeys"),id:"portfolio-apikey-manager",className:"oui-bg-base-9 oui-font-semibold",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:4,width:"100%",className:"oui-font-semibold",children:[jsxRuntime.jsx(ws,{...e}),jsxRuntime.jsx(Ps,{...e})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Ss,{...e}),jsxRuntime.jsx(Ao,{...e}),jsxRuntime.jsx(Do,{...e})]})]})},ws=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{width:"100%",gap:4,className:"oui-border-t-2 oui-border-line-6 oui-pt-4",children:[jsxRuntime.jsxs(ui.Flex,{py:2,px:4,direction:"column",itemAlign:"start",r:"xl",gradient:"neutral",angle:27,border:true,className:"oui-w-1/2",children:[jsxRuntime.jsx(ui.Text,{size:"xs",intensity:36,children:t("portfolio.apiKey.accountId")}),jsxRuntime.jsx(ui.Text.formatted,{size:"base",inlist:80,rule:"address",copyable:e.address!=="--",copyIconSize:16,onCopy:e.onCopyAccountId,copyIconTestid:"oui-testid-apiKey-accountInfo-accountId-copy-btn",children:e.address})]}),jsxRuntime.jsxs(ui.Flex,{py:2,px:4,direction:"column",itemAlign:"start",r:"xl",gradient:"neutral",angle:27,border:true,className:"oui-w-1/2",children:[jsxRuntime.jsx(ui.Text,{size:"xs",intensity:36,children:t("portfolio.apiKey.uid")}),jsxRuntime.jsx(ui.Text,{size:"base",inlist:80,children:e.uid})]})]})},Ps=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{width:"100%",direction:"row",className:"oui-text-sm oui-border-b-2 oui-border-line-6 oui-pb-4",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",width:"100%",gap:1,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:t("portfolio.apiKey.description")}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",className:"oui-text-primary-light oui-fill-primary-light hover:oui-text-primary-darken oui-cursor-pointer oui-text-2xs md:oui-text-xs xl:oui-text-sm",onClick:e.onReadApiGuide,children:[jsxRuntime.jsx(ui.Text,{children:t("portfolio.apiKey.readApiGuide")}),jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M4.008 7.995c0-.368.298-.666.666-.666H9.71L7.733 5.331l.937-.936 3.143 3.122c.13.13.195.304.195.479a.67.67 0 0 1-.195.478L8.67 11.596l-.937-.937 1.978-1.998H4.674a.666.666 0 0 1-.666-.666"})})]})]}),jsxRuntime.jsx(uiConnector.AuthGuardTooltip,{side:"top",tooltip:{connectWallet:t("portfolio.apiKey.create.connectWallet.tooltip"),signIn:t("portfolio.apiKey.create.signIn.tooltip"),enableTrading:t("portfolio.apiKey.create.enableTrading.tooltip"),wrongNetwork:t("portfolio.apiKey.create.wrongNetwork.tooltip")},children:jsxRuntime.jsx(ui.Button,{size:"md",icon:jsxRuntime.jsx(ui.PlusIcon,{}),variant:"contained",color:"primary",onClick:e.onCreateApiKey,disabled:!e.canCreateApiKey,"data-testid":"oui-testid-apiKey-createApiKey-btn",children:t("portfolio.apiKey.create.dialog.title")})})]})},Ss=e=>{let{t}=i18n.useTranslation(),o=[{title:t("portfolio.apiKey.column.apiKey"),dataIndex:"orderly_key",render:i=>jsxRuntime.jsx(ui.Text.formatted,{rule:"",copyable:true,copyIconSize:16,onCopy:()=>{e.onCopyApiKey?.(i);},children:Dt(i)})},{title:t("portfolio.apiKey.column.permissionType"),dataIndex:"scope",render:i=>i?.split(",").map(r=>Ft(`${r}`)).join(", ")},{title:t("portfolio.apiKey.column.restrictedIP"),dataIndex:"ip_restriction_list",render:i=>{let r=i.join(",");return r.length===0&&(r="--"),jsxRuntime.jsx(ui.Tooltip,{content:r,className:"oui-max-w-[200px] oui-break-all",children:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx("div",{className:" oui-overflow-ellipsis oui-overflow-hidden",children:r}),r!=="--"&&jsxRuntime.jsx(ui.Box,{width:16,height:16,className:"oui-cursor-pointer",children:jsxRuntime.jsx(ui.CopyIcon,{color:"white",opacity:.54,size:16,onClick:a=>{navigator.clipboard.writeText(r),e?.onCopyIP();}})})]})})}},{title:t("portfolio.apiKey.column.expirationDate"),dataIndex:"expiration",render:i=>jsxRuntime.jsx(ui.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd",children:i})},{title:"",type:"action",dataIndex:"action",width:120,render:(i,r)=>jsxRuntime.jsxs(ui.Flex,{direction:"row",gap:2,children:[jsxRuntime.jsx(As,{item:r,onUpdate:e.doEdit,verifyIP:e.verifyIP}),jsxRuntime.jsx(Fs,{item:r,onDelete:e.doDelete})]})}];return jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:true,columns:o,loading:e.isLoading,dataSource:e.keys,emptyView:jsxRuntime.jsx(uiConnector.AuthGuardEmpty,{}),classNames:{},pagination:e.pagination,manualPagination:false})},As=e=>{let{item:t,onUpdate:o,verifyIP:i}=e,[r,a]=react.useState(false),{t:n}=i18n.useTranslation();return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{size:"xs",color:"primary",variant:"contained",onClick:s=>{s.stopPropagation(),a(true);},"data-testid":"oui-testid-apiKey-keyList-edit-btn",children:n("common.edit")}),r&&jsxRuntime.jsx(Ko,{item:t,open:r,setOpen:a,onUpdate:o,verifyIP:i})]})},Fs=e=>{let{item:t,onDelete:o}=e,[i,r]=react.useState(false),{t:a}=i18n.useTranslation();return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{size:"xs",color:"gray",variant:"contained",onClick:n=>{n.stopPropagation(),r(true);},"data-testid":"oui-testid-apiKey-keyList-delete-btn",children:a("common.delete")}),i&&jsxRuntime.jsx(ko,{item:t,open:i,setOpen:r,onDelete:o})]})};function Dt(e){return typeof e>"u"?"-":`${`${e}`.replace("ed25519:","").slice(0,6)}*****`}var Je=e=>{let t=wo(e);return jsxRuntime.jsx(No,{...t})};var Lo=e=>{let{filterTags:t,keyStatus:o="ACTIVE"}=e;return jsxRuntime.jsx(Je,{filterTags:t,keyStatus:o})};var $o={};$($o,{SettingPage:()=>Go,SettingWidget:()=>je});var Bo=e=>{let{t}=i18n.useTranslation();return jsxRuntime.jsx(ui.Card,{title:t("portfolio.setting.systemUpgrade"),id:"portfolio-apikey-manager",className:"oui-bg-base-9 oui-font-semibold",children:jsxRuntime.jsxs(ui.Flex,{direction:"row",gap:4,width:"100%",itemAlign:"center",pt:4,className:"oui-font-semibold oui-border-t-2 oui-border-line-6",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-flex-1",children:[jsxRuntime.jsx(ui.Text,{intensity:80,size:"base",children:t("portfolio.setting.cancelOpenOrders")}),jsxRuntime.jsx(ui.Text,{intensity:54,size:"sm",children:t("portfolio.setting.cancelOpenOrders.description")})]}),jsxRuntime.jsx(uiConnector.AuthGuardTooltip,{align:"end",children:jsxRuntime.jsx(ui.Switch,{checked:e.maintenance_cancel_orders,onCheckedChange:o=>{e.setMaintainConfig(o);},disabled:e.isSetting||!e.canTouch,"data-testid":"oui-testid-setting-switch-btn"})})]})})};var Vo=()=>{let{data:e,mutate:t}=hooks.useAccountInfo(),{wrongNetwork:o,disabledConnect:i}=reactApp.useAppContext(),[r,{isMutating:a}]=hooks.useMutation("/v1/client/maintenance_config"),[n,s]=react.useState(false);react.useEffect(()=>{s(e?.maintenance_cancel_orders||false);},[e]);let l=hooks.useDebouncedCallback(x=>{r({maintenance_cancel_order_flag:x}).then(f=>{f.success||s(!x);});},300),u=x=>{s(x),l(x);},{state:m}=hooks.useAccount(),p=!o&&!i&&(m.status===types.AccountStatusEnum.EnableTrading||m.status===types.AccountStatusEnum.EnableTradingWithoutConnected);return {maintenance_cancel_orders:n,setMaintainConfig:u,isSetting:false,canTouch:p}};var je=()=>{let e=Vo();return jsxRuntime.jsx(Bo,{...e})};var Go=()=>jsxRuntime.jsx(je,{});
21
21
 
22
22
  exports.APIManagerModule = Mo;
23
23
  exports.FeeTierModule = yo;