@orderly.network/portfolio 2.0.3 → 2.0.4
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 +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -15
package/dist/index.d.mts
CHANGED
|
@@ -6,7 +6,7 @@ import { API } from '@orderly.network/types';
|
|
|
6
6
|
import * as _orderly_network_ui from '@orderly.network/ui';
|
|
7
7
|
import { Column } from '@orderly.network/ui';
|
|
8
8
|
import { PositionsProps } from '@orderly.network/ui-positions';
|
|
9
|
-
import { SharePnLConfig
|
|
9
|
+
import { SharePnLConfig } from '@orderly.network/ui-share';
|
|
10
10
|
|
|
11
11
|
type PortfolioLayoutProps = LayoutProps & {
|
|
12
12
|
hideSideBar?: boolean;
|
|
@@ -265,7 +265,7 @@ declare namespace page$1 {
|
|
|
265
265
|
}
|
|
266
266
|
|
|
267
267
|
declare const OrdersPage: (props: {
|
|
268
|
-
sharePnLConfig?: SharePnLConfig
|
|
268
|
+
sharePnLConfig?: SharePnLConfig;
|
|
269
269
|
}) => react_jsx_runtime.JSX.Element;
|
|
270
270
|
|
|
271
271
|
declare const page_OrdersPage: typeof OrdersPage;
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { API } from '@orderly.network/types';
|
|
|
6
6
|
import * as _orderly_network_ui from '@orderly.network/ui';
|
|
7
7
|
import { Column } from '@orderly.network/ui';
|
|
8
8
|
import { PositionsProps } from '@orderly.network/ui-positions';
|
|
9
|
-
import { SharePnLConfig
|
|
9
|
+
import { SharePnLConfig } from '@orderly.network/ui-share';
|
|
10
10
|
|
|
11
11
|
type PortfolioLayoutProps = LayoutProps & {
|
|
12
12
|
hideSideBar?: boolean;
|
|
@@ -265,7 +265,7 @@ declare namespace page$1 {
|
|
|
265
265
|
}
|
|
266
266
|
|
|
267
267
|
declare const OrdersPage: (props: {
|
|
268
|
-
sharePnLConfig?: SharePnLConfig
|
|
268
|
+
sharePnLConfig?: SharePnLConfig;
|
|
269
269
|
}) => react_jsx_runtime.JSX.Element;
|
|
270
270
|
|
|
271
271
|
declare const page_OrdersPage: typeof OrdersPage;
|
package/dist/index.js
CHANGED
|
@@ -16,7 +16,7 @@ var chart = require('@orderly.network/chart');
|
|
|
16
16
|
var uiPositions = require('@orderly.network/ui-positions');
|
|
17
17
|
var uiOrders = require('@orderly.network/ui-orders');
|
|
18
18
|
|
|
19
|
-
var si=Object.defineProperty;var Z=(e,t)=>{for(var o in t)si(e,o,{get:t[o],enumerable:!0});};var Xe=e=>{let{children:t,leftSideProps:o}=e;return jsxRuntime.jsx(uiScaffold.Scaffold,{leftSidebar:e.hideSideBar?null:jsxRuntime.jsx(mi,{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})})},mi=e=>{let{expanded:t,setExpand:o}=uiScaffold.useScaffoldContext();return jsxRuntime.jsx(uiScaffold.SideBar,{title:"Portfolio",...e,open:t,onOpenChange:i=>o(i),onItemSelect:i=>{e.onItemSelect?.(i),e.routerAdapter?.onRouteChange?.({href:i.href||"",name:i.name});}})};var Rt=(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))(Rt||{}),Je=e=>{let{routerAdapter:t}=uiScaffold.useScaffoldContext(),[o,i]=react.useState(e.current??t?.currentPath??"/portfolio");react.useEffect(()=>{(o||t?.currentPath)&&i(o||t?.currentPath||"/portfolio");},[o,t?.currentPath]);let r=react.useMemo(()=>[{name:"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:"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:"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:"Fee tier",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:"API key",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:"Settings",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)]"})})}],[]),a=hooks.useMediaQuery("(max-width: 768px)");return {items:r,current:o,hideSideBar:a,onItemSelect:n=>{typeof n.href>"u"||(i(n.href),t?.onRouteChange({href:n.href,name:n.name}));}}};var bi=e=>{let t=Je({current:e.leftSideProps?.current});return jsxRuntime.jsx(Xe,{...t,...e,children:e.children})};var ao={};Z(ao,{AssetHistory:()=>ue,AssetHistoryWidget:()=>de,AssetWidget:()=>ne,AssetsChartWidget:()=>Ke,AssetsUI:()=>ae,DistributionHistoryUI:()=>ge,DistributionHistoryWidget:()=>fe,FundingHistoryWidget:()=>pe,HistoryDataGroupWidget:()=>ye,OverviewContextProvider:()=>Ne,OverviewPage:()=>ro,PerformanceUI:()=>xe,PerformanceWidget:()=>he,useAssetHistoryColumns:()=>se,useAssetHistoryHook:()=>le,useAssetsLineChartScript:()=>Le,useFundingHistoryColumns:()=>ce,useFundingHistoryHook:()=>me,usePerformanceScript:()=>Ce});var et=()=>{let{connect:e}=hooks.useWalletConnector(),{state:t}=hooks.useAccount(),{totalValue:o,freeCollateral:i}=hooks.useCollateral(),{wrongNetwork:r}=reactApp.useAppContext(),[a]=hooks.usePositionStream(),[n]=hooks.useLeverage(),[l,d]=hooks.useLocalStorage("orderly_assets_visible",!0),s=react.useMemo(()=>t.status===types.AccountStatusEnum.EnableTrading||t.status===types.AccountStatusEnum.EnableTradingWithoutConnected,[t]),m=()=>{ui.modal.show(uiLeverage.LeverageWidgetId);},b=()=>{ui.modal.show(uiTransfer.DepositAndWithdrawWithDialogId,{activeTab:"deposit"});},C=()=>{ui.modal.show(uiTransfer.DepositAndWithdrawWithDialogId,{activeTab:"withdraw"});};return {connected:s,connect:e,portfolioValue:o,freeCollateral:i,unrealPnL:a.aggregated.total_unreal_pnl,unrealROI:a.totalUnrealizedROI,currentLeverage:n,onLeverageEdit:m,visible:l,wrongNetwork:r,toggleVisible:()=>d(!l),onDeposit:b,onWithdraw:C}};var Kt=e=>jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.CardTitle,{children:"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:"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:"Deposit"})]})]});var ae=e=>jsxRuntime.jsx(ui.Card,{classNames:{footer:"oui-h-[48px]",root:"oui-h-[240px]"},title:jsxRuntime.jsx(Kt,{disabled:!e.connected||e.wrongNetwork,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:"Total value"}),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.connected??!1)&&!e.wrongNetwork,left:jsxRuntime.jsx(Oi,{}),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:!0},children:jsxRuntime.jsx(Bi,{unrealROI:e.unrealROI,unrealPnL:e.unrealPnL,freeCollateral:e.freeCollateral,currentLeverage:e.currentLeverage,onLeverageEdit:e.onLeverageEdit,visible:e.visible})})]})}),Oi=()=>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"})]}),Bi=e=>jsxRuntime.jsxs(ui.Grid,{cols:3,className:"oui-h-12",children:[jsxRuntime.jsx(ui.Statistic,{label:"Unrealized PnL",children:jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Text.numeral,{coloring:!0,size:"lg",weight:"semibold",visible:e.visible,children:e.unrealPnL}),jsxRuntime.jsx(ui.Text.numeral,{coloring:!0,rule:"percentages",size:"sm",weight:"semibold",prefix:"(",suffix:")",visible:e.visible,children:e.unrealROI})]})}),jsxRuntime.jsx(ui.Statistic,{label:"Max account leverage",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:"Available to withdraw",align:"right",valueProps:{size:"lg",visible:e.visible},children:e.freeCollateral})]});var ne=()=>{let{connected:e,connect:t,portfolioValue:o,onLeverageEdit:i,...r}=et();return jsxRuntime.jsx(ae,{onConnectWallet:t,connected:e,portfolioValue:o,onLeverageEdit:i,...r})};var Wt=(i=>(i.WEEK="7D",i.MONTH="30D",i.QUARTER="90D",i))(Wt||{}),zt=(e,t)=>{let[o]=react.useState(()=>{let u=new Date;return new Date(dateFns.getYear(u),dateFns.getMonth(u),dateFns.getDate(u),0,0,0)}),{isRealtime:i=!1}=t||{},r=Object.values(Wt),[a,n]=hooks.useLocalStorage(e,"7D"),{totalValue:l}=hooks.useCollateral(),d=u=>{switch(u){case"30D":return dateFns.subDays(o,35);case"90D":return dateFns.subDays(o,95);default:return dateFns.subDays(o,10)}},s=react.useMemo(()=>{switch(a){case"7D":return 7;case"30D":return 30;case"90D":return 90;default:return 7}},[a]),[m,b]=react.useState(d(a)),C=react.useMemo(()=>dateFns.addDays(o,1),[o]),[c]=hooks.useStatisticsDaily({startDate:m.toISOString().split("T")[0],endDate:C.toISOString().split("T")[0]},{ignoreAggregation:!0}),[g]=hooks.useAssetsHistory({startTime:dateFns.subDays(o,2).getTime().toString(),endTime:C.getTime().toString(),pageSize:50}),f=u=>{b(d(u)),n(u);},V=u=>{if(l==null)return null;let y=new utils.Decimal(l).sub(u.lastItem.account_value);if(Array.isArray(u.assetHistory)&&u.assetHistory.length>0&&typeof u.lastItem.snapshot_time<"u"){let w=[];for(let h=0;h<u.assetHistory.length;h++){let T=u.assetHistory[h];T.created_time>u.lastItem.snapshot_time&&w.push(T);}for(let h=0;h<w.length;h++){let T=w[h];T.side==="DEPOSIT"?T.trans_status==="COMPLETED"&&(y=y.sub(T.amount)):T.side==="WITHDRAW"&&T.trans_status!=="FAILED"&&(y=y.add(T.amount));}}return y.toNumber()},ee=(u,y)=>{let w=u[u.length-1],h=dateFns.format(o,"yyyy-MM-dd");return {...w,date:h,perp_volume:0,account_value:y!==null?y:w?.account_value??0,pnl:V({lastItem:w,assetHistory:g,totalValue:y})??0}},G=(u,y)=>!Array.isArray(u)||u.length===0?u:(u[u.length-1].date,dateFns.format(o,"yyyy-MM-dd"),u.concat([ee(u,y)])),te=(u,y)=>{let w=y?G(u,l):u;return w.slice(Math.max(0,w.length-s))},D=react.useMemo(()=>l==null?[]:te(c,i),[c,l,g,i]),oe=react.useMemo(()=>{let u=utils.zero,y=utils.zero,w=utils.zero;if(Array.isArray(D)&&D.length){D.forEach(ie=>{y=y.add(ie.pnl);});let h=D[0],T=c.findIndex(ie=>ie.date===h.date),$=c[T-1]?.account_value;typeof $>"u"||$===0?w=utils.zero:w=y.div($);}if(c.length>0)for(let h=0;h<s;h++){let T=c[c.length-1-h];T&&(u=u.add(T.perp_volume??0));}return {vol:u.toNumber(),pnl:y.toNumber(),roi:w.toNumber()}},[D,c,s]);return {periodTypes:r,period:a,onPeriodChange:f,data:D,aggregateValue:oe,createFakeData:(u,y)=>Array.from({length:2},(w,h)=>({date:dateFns.format(h===0?m:new Date,"yyyy-MM-dd"),...h===0?u:y})),volumeUpdateDate:c?.[c.length-1]?.date??""}};var Ot=react.createContext({}),or="portfolio_performance_period",He=()=>react.useContext(Ot),Ne=({children:e})=>{let t=zt(or,{isRealtime:!0});return jsxRuntime.jsx(Ot.Provider,{value:{...t},children:e})};var Le=()=>{let e=He(),{wrongNetwork:t}=reactApp.useAppContext(),{state:o}=hooks.useAccount(),i=reactApp.useDataTap(e.data,{accountStatus:o.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading,fallbackData:e.createFakeData({account_value:0},{account_value:500})}),r=react.useMemo(()=>i?.length??0>0?i:e.createFakeData({account_value:0},{account_value:500}),[i]);return {...e,wrongNetwork:t,data:r,invisible:t||!e.data.length}};var Ee=e=>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(t=>({value:t,label:t}))})})]});var Bt=e=>{let{onPeriodChange:t,periodTypes:o,period:i,data:r}=e;return jsxRuntime.jsx(ui.Card,{title:jsxRuntime.jsx(Ee,{onPeriodChange:t,periodTypes:o,period:i,title:"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 Ke=()=>{let e=Le();return jsxRuntime.jsx(Bt,{...e})};var se=()=>{let{data:e}=hooks.useQuery("/v1/public/chain_info");return react.useMemo(()=>[{title:"Token",dataIndex:"token",width:80,render:o=>jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.TokenIcon,{name:o,size:"xs"}),jsxRuntime.jsx("span",{children:o})]})},{title:"Time",dataIndex:"created_time",width:80,rule:"date"},{title:"TxID",dataIndex:"tx_id",width:120,render:(o,i)=>{if(!o)return jsxRuntime.jsx("div",{className:"oui-text-base-contrast-54",children:"-"});let n=`${e?.find(l=>parseInt(i.chain_id)===parseInt(l.chain_id))?.explorer_base_url}/tx/${o}`;return jsxRuntime.jsx("a",{href:n,target:"_blank",children:jsxRuntime.jsx(ui.Text.formatted,{copyable:!!o,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("Copy success");},children:o})})}},{title:"Status",dataIndex:"trans_status",width:100,formatter:o=>ui.capitalizeFirstLetter(o.toLowerCase())},{title:"Type",dataIndex:"side",width:80,formatter:o=>ui.capitalizeFirstLetter(o.toLowerCase()),render:o=>jsxRuntime.jsx(ui.Text,{color:o.toLowerCase(),children:o})},{title:"Amount",dataIndex:"amount",width:100,rule:"price",formatter:(o,i)=>i.side==="WITHDRAW"?-(o-(i.fee??0)):o-(i.fee??0),numeralProps:{coloring:!0,showIdentifier:!0}}],[e])},Gt=[{label:"All",value:"All"},{label:"Deposit",value:"DEPOSIT"},{label:"Withdrawal",value:"WITHDRAW"}];var X=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 le=()=>{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:l,parsePagination:d}=ui.usePagination(),[s,{meta:m,isLoading:b}]=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}),C=g=>{g.name==="side"&&(r(g.value),l(1)),g.name==="dateRange"&&(o(X(g.value)),l(1));},c=react.useMemo(()=>d(m),[d,m]);return {dataSource:s,total:m?.total,isLoading:b,queryParameter:{side:i,dateRange:t},onFilter:C,pagination:c}};var ue=e=>{let{dataSource:t,queryParameter:o,onFilter:i,isLoading:r}=e,{side:a,dateRange:n}=o,l=se();return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.DataFilter,{items:[{type:"select",name:"side",options:Gt,value:a},{type:"range",name:"dateRange",value:{from:n[0],to:n[1]}}],onFilter:d=>{i(d);}}),jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:!0,loading:r,classNames:{root:"oui-h-[calc(100%_-_49px)]"},columns:l,dataSource:t,pagination:e.pagination})]})};var de=()=>{let e=le();return jsxRuntime.jsx(ue,{...e})};var ce=()=>react.useMemo(()=>[{title:"Symbol",dataIndex:"symbol",width:80,rule:"symbol",textProps:{showIcon:!0}},{title:"Time",dataIndex:"created_time",width:120,rule:"date"},{title:"Funding rate / Annual rate",dataIndex:"funding_rate",width:80,render:(t,o)=>jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",dp:6,children:o.funding_rate}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",dp:6,children:o.annual_rate})]})},{title:"Payment type",dataIndex:"payment_type",width:80,render:t=>{switch(t){case"Pay":return "Paid";case"Receive":return "Received";default:return t}}},{title:"Funding fee (USDC)",dataIndex:"funding_fee",width:80,rule:"price",formatter(t,o,i){return Number(t)*-1},numeralProps:{coloring:!0,showIdentifier:!0,ignoreDP:!0}}],[]);var st=e=>{let{dataSource:t,queryParameter:o,onFilter:i,isLoading:r}=e,a=ce(),n=hooks.useSymbolsInfo(),{symbol:l,dateRange:d}=o;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.DataFilter,{items:[{type:"select",name:"symbol",isCombine:!0,options:[{label:"All",value:"All"},...Object.keys(n).map(s=>({label:s.split("_")[1],value:s}))],value:l,valueFormatter:s=>s==="All"?"All":s.split("_")[1]},{type:"range",name:"dateRange",value:{from:d[0],to:d[1]}}],onFilter:s=>{i(s);}}),jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:!0,columns:a,dataSource:t,loading:r,generatedRowKey:s=>`${s.updated_time}`,classNames:{root:"oui-h-[calc(100%_-_49px)]"},pagination:e.pagination})]})};var me=()=>{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:l,parsePagination:d}=ui.usePagination(),[s,{isLoading:m,meta:b,isValidating:C}]=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:!0}),c=f=>{f.name==="symbol"&&(r(f.value),l(1)),f.name==="dateRange"&&(o(X(f.value)),l(1));},g=react.useMemo(()=>d(b),[d,b]);return {dataSource:s,isLoading:m,isValidating:C,queryParameter:{symbol:i,dateRange:t},onFilter:c,pagination:g}};var pe=()=>{let e=me();return jsxRuntime.jsx(st,{...e})};var Yt=()=>react.useMemo(()=>[{title:"Token",dataIndex:"token",width:80,render:(t,o)=>jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[jsxRuntime.jsx(ui.TokenIcon,{name:t,size:"xs"}),jsxRuntime.jsx("span",{children:t})]})},{title:"Time",dataIndex:"updated_time",width:120,rule:"date"},{title:"Status",dataIndex:"status",width:120,formatter(t,o,i){switch(t){case"CREATED":case"SPLIT":return "Processing";case"COMPLETED":default:return "Completed"}}},{title:"Type",dataIndex:"type",width:80,formatter:t=>{switch(t){case"REFERRER_REBATE":return "Referral commission";case"REFEREE_REBATE":return "Referee rebate";case"BROKER_FEE":return "Broker fee";default:return "-"}}},{title:"Amount",dataIndex:"amount",width:80}],[]),Xt=[{label:"All",value:"All"},{label:"Referral commission",value:"REFERRER_REBATE"},{label:"Referee rebate",value:"REFEREE_REBATE"},{label:"Broker fee",value:"BROKER_FEE"}];var ge=e=>{let{dataSource:t,queryParameter:o,onFilter:i,isLoading:r,isValidating:a}=e,n=Yt(),{type:l,dateRange:d}=o;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.DataFilter,{items:[{type:"select",name:"type",options:Xt,value:l},{type:"range",name:"dateRange",value:{from:d[0],to:d[1]}}],onFilter:s=>{i(s);}}),jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:!0,columns:n,dataSource:t,loading:r,className:"oui-font-semibold",classNames:{root:"oui-h-[calc(100%_-_49px)]"},pagination:e.pagination})]})};var jt=()=>{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:l,parsePagination:d}=ui.usePagination(),[s,{isLoading:m,meta:b,isValidating:C}]=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}),c=f=>{f.name==="type"&&(r(f.value),l(1)),f.name==="dateRange"&&(o(X(f.value)),l(1));},g=react.useMemo(()=>d(b),[d,b]);return {dataSource:s,isLoading:m,isValidating:C,queryParameter:{type:i,dateRange:t},onFilter:c,pagination:g}};var fe=()=>{let e=jt();return jsxRuntime.jsx(ge,{...e})};var eo=e=>{let{active:t="deposit",onTabChange:o}=e;return jsxRuntime.jsx(ui.Card,{children:jsxRuntime.jsxs(ui.Tabs,{value:t,onValueChange:o,variant:"contained",size:"xl",children:[jsxRuntime.jsx(ui.TabPanel,{title:"Deposits & Withdrawals",icon:jsxRuntime.jsx(ui.ArrowLeftRightIcon,{}),value:"deposit",children:jsxRuntime.jsx(de,{})}),jsxRuntime.jsx(ui.TabPanel,{title:"Funding",icon:jsxRuntime.jsx(ui.FeeTierIcon,{}),value:"funding",children:jsxRuntime.jsx(pe,{})}),jsxRuntime.jsx(ui.TabPanel,{title:"Distribution",icon:jsxRuntime.jsx(ui.ServerFillIcon,{}),value:"distribution",children:jsxRuntime.jsx(fe,{})})]})})};var to=()=>{let[e,t]=react.useState("deposit");return {active:e,onTabChange:o=>t(o)}};var ye=()=>{let e=to();return jsxRuntime.jsx(eo,{...e})};var xe=e=>{let{periodTypes:t,period:o,onPeriodChange:i,aggregateValue:r,invisible:a,visible:n,volumeUpdateDate:l}=e;return jsxRuntime.jsxs(ui.Card,{title:jsxRuntime.jsx(Ee,{onPeriodChange:i,periodTypes:t,period:o,title:"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:!0,borderColor:6,children:jsxRuntime.jsx(ui.Statistic,{label:`${o} ROI`,valueProps:{rule:"percentages",coloring:!0,visible:n},children:a?"--":r.roi})}),jsxRuntime.jsx(ui.Box,{gradient:"neutral",r:"md",px:4,py:2,angle:184,border:!0,borderColor:6,children:jsxRuntime.jsx(ui.Statistic,{label:`${o} PnL`,valueProps:{coloring:!0,showIdentifier:!0,visible:n},children:a?"--":r.pnl})}),jsxRuntime.jsx(ui.Box,{gradient:"neutral",r:"md",px:4,py:2,angle:184,border:!0,borderColor:6,children:jsxRuntime.jsx(ui.Statistic,{classNames:{label:"oui-w-full"},label:jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx("span",{children:`${o} Volume (USDC)`}),jsxRuntime.jsx("span",{children:l})]}),children:a?"--":r.vol})})]}),jsxRuntime.jsxs(ui.Grid,{cols:2,gap:4,children:[jsxRuntime.jsx(Fa,{data:e.data??[],invisible:e.invisible}),jsxRuntime.jsx(ka,{data:e.data??[],invisible:e.invisible||(e.data?.length??0)<=2})]})]})},Fa=e=>jsxRuntime.jsxs(ui.Box,{mt:4,height:"188px",children:[jsxRuntime.jsx(ui.Text,{as:"div",size:"sm",className:"oui-mb-3",children:"Daily PnL"}),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})})]}),ka=e=>jsxRuntime.jsxs(ui.Box,{mt:4,children:[jsxRuntime.jsx(ui.Text,{as:"div",size:"sm",className:"oui-mb-3",children:"Cumulative PnL"}),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 Ce=()=>{let e=He(),[t]=hooks.useLocalStorage("orderly_assets_visible",!0),{wrongNetwork: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,pnl:0},{account_value:500,pnl:500})}),a=react.useMemo(()=>r?.length??0>0?r:e.createFakeData({account_value:0,pnl:0},{account_value:500,pnl:500}),[r]);return {...e,data:a,invisible:o||i.status<types.AccountStatusEnum.EnableTrading&&i.status!==types.AccountStatusEnum.EnableTradingWithoutConnected,visible:t}};var he=()=>{let e=Ce();return jsxRuntime.jsx(xe,{...e})};var ro=()=>jsxRuntime.jsx(Ne,{children:jsxRuntime.jsxs(ui.Grid,{cols:2,gap:4,children:[jsxRuntime.jsx(ne,{}),jsxRuntime.jsx(Ke,{}),jsxRuntime.jsx(ui.Grid.span,{colSpan:2,children:jsxRuntime.jsx(he,{})}),jsxRuntime.jsx(ui.Grid.span,{colSpan:2,children:jsxRuntime.jsx(ye,{})})]})});var go={};Z(go,{FeeTierPage:()=>po});var pt=[{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 lo=()=>react.useMemo(()=>[{title:"Tier",dataIndex:"tier",align:"left",width:100},{title:"30 day volume (USDC)",dataIndex:"volume",align:"center",width:170,render:(t,o)=>{let{volume_min:i,volume_max:r,volume_node:a}=o;return a||(!i&&!r?jsxRuntime.jsx("div",{style:{fontVariantLigatures:"none"},children:"--"}):i&&!r?jsxRuntime.jsxs("div",{children:["Above ",utils.numberToHumanStyle(i,i===25e5?1:0)]}):jsxRuntime.jsxs("div",{children:[i&&utils.numberToHumanStyle(i,i===25e5?1:0)," - ",r&&utils.numberToHumanStyle(r,r===25e5?1:0)]}))}},{title:"Maker",dataIndex:"maker_fee",align:"right",width:100,render:t=>jsxRuntime.jsx(ui.Text,{children:t})},{title:"Taker",dataIndex:"taker_fee",align:"right",width:100,render:t=>jsxRuntime.jsx(ui.Text,{children:t})}],[]);function uo(e){let{dataAdapter:t}=e||{},[o,i]=react.useState(),{data:r}=hooks.useAccountInfo(),{state:a}=hooks.useAccount(),n=lo(),{data:l}=hooks.usePrivateQuery("/v1/volume/user/stats"),{columns:d,dataSource:s}=react.useMemo(()=>typeof t=="function"?t(n,pt):{columns:n,dataSource:pt},[t,n]),m=(g,f)=>{let{futures_taker_fee_rate:V=0,futures_maker_fee_rate:ee=0}=f,G=`${new utils.Decimal(V).mul(.01).toString()}%`,te=`${new utils.Decimal(ee).mul(.01).toString()}%`;for(let D of g)if(G===D.taker_fee&&te===D.maker_fee)return D.tier};react.useEffect(()=>{if(!r)return;let g=m(s,r);i(g);},[r,s]);let b=react.useMemo(()=>{let g=r?.futures_taker_fee_rate;if(!(typeof g>"u"))return `${new utils.Decimal(g).mul(.01).toString()}%`},[r]),C=react.useMemo(()=>{let g=r?.futures_maker_fee_rate;if(!(typeof g>"u"))return `${new utils.Decimal(g).mul(.01).toString()}%`},[r]);return {...reactApp.useDataTap({tier:o,vol:l?.perp_volume_last_30_days,takerFeeRate:b,makerFeeRate:C},{accountStatus:a.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading}),columns:d,dataSource:s,onRow:e?.onRow}}var co=e=>{let{columns:t,dataSource:o,tier:i,vol:r,takerFeeRate:a,makerFeeRate:n}=e;return jsxRuntime.jsxs(ui.Card,{title:jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"lg",children:"Fee tier"}),jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text,{size:"xs",intensity:54,children:"Updated daily by"}),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(Xa,{tier:i,vol:r,takerFeeRate:a,makerFeeRate:n}),jsxRuntime.jsx(Ja,{dataSource:o,columns:t,tier:i,onRow:e.onRow})]})},Xa=e=>jsxRuntime.jsxs(ui.Flex,{direction:"row",gapX:4,my:4,itemAlign:"stretch",children:[jsxRuntime.jsx(We,{label:"Your tier",value:jsxRuntime.jsx(ui.Text.gradient,{color:"brand",angle:270,size:"base",children:e.tier||"--"})}),jsxRuntime.jsx(We,{label:"30D trading volume (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(We,{label:"Taker fee rate",value:jsxRuntime.jsx(ui.Text.gradient,{color:"brand",angle:270,size:"base",children:e.takerFeeRate||"--"})}),jsxRuntime.jsx(We,{label:"Maker fee rate",value:jsxRuntime.jsx(ui.Text.gradient,{color:"brand",angle:270,size:"base",children:e.makerFeeRate||"--"})})]}),We=e=>jsxRuntime.jsxs(ui.Box,{gradient:"neutral",r:"lg",px:4,py:2,angle:184,width:"100%",border:!0,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})]}),Ja=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:!0,className:"oui-font-semibold",classNames:{root:"oui-bg-transparent"},onRow:i,columns:e.columns,dataSource:e.dataSource})]})};var mo=e=>{let t=uo(e);return jsxRuntime.jsx(co,{...t})};var po=e=>jsxRuntime.jsx(mo,{...e});var xo={};Z(xo,{PositionsPage:()=>dn});var dn=e=>{let[t,o]=react.useState("Positions");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:"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:i=>o(i),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:"Positions",children:jsxRuntime.jsx(uiPositions.PositionsWidget,{...e})}),jsxRuntime.jsx(ui.TabPanel,{value:"Position history",title:"Position history",children:jsxRuntime.jsx(uiPositions.PositionHistoryWidget,{...e})}),jsxRuntime.jsx(ui.TabPanel,{value:"Liquidation",title:"Liquidation",children:jsxRuntime.jsx(uiPositions.LiquidationWidget,{})})]})})]})};var Co={};Z(Co,{OrdersPage:()=>bn});var bn=e=>{let{sharePnLConfig:t}=e,o=react.useRef(null);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:"Orders"}),jsxRuntime.jsx(ui.Tooltip,{content:"The downloaded data will reflect only the applied filters (e.g., status, time, side, and pagination) and may not include all records.",children:jsxRuntime.jsxs(ui.Button,{color:"gray",size:"sm",className:"oui-bg-base-4",onClick:()=>{o.current?.download?.();},children:["Download",jsxRuntime.jsx(Cn,{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:o,sharePnLConfig:t})})]})},Cn=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 Ko={};Z(Ko,{APIManagerPage:()=>Eo,APIManagerWidget:()=>Ze});var vo=e=>{let{filterTags:t,keyStatus:o}=e??{},[i,r]=react.useState(!1),[a,n]=react.useState(!1),[l,d]=react.useState(),{configStore:s}=react.useContext(hooks.OrderlyContext),m=s.get("brokerId"),{wrongNetwork:b}=reactApp.useAppContext(),{state:C,account:c}=hooks.useAccount(),g=C.status===types.AccountStatusEnum.EnableTrading||C.status===types.AccountStatusEnum.EnableTradingWithoutConnected,{data:f}=hooks.useQuery(`/v1/get_account?address=${c.address}&broker_id=${m}&chain_type=${c.walletAdapter?.chainNamespace}`),[V,{generateOrderlyKey:ee,setIPRestriction:G,removeOrderlyKey:te,resetOrderlyKeyIPRestriction:D,refresh:oe,isLoading:Ft,error:u}]=hooks.useApiKeyManager({keyInfo:{key_status:o}}),[y,w]=react.useState(void 0);react.useEffect(()=>{c.keyStore.getOrderlyKey()?.getPublicKey().then(v=>{w(v);});},[c,C]);let h=()=>{r(!0);},T=()=>{window.open("https://orderly.network/docs/build-on-evm/evm-api/api-authentication","_blank");},$=()=>{r(!1);},ie=async(v,_)=>{try{let S=(Ye,Se)=>{let{key:ri,secretKey:ai}=Ye;$(),d({key:ri,screctKey:ai,ip:Se,permissions:_?.split(",")?.map(ni=>Pt(ni)).join(", ")}),n(!0);},H=await ee(_);if(ui.toast.success("API key created"),(v?.length||0)>0){let Ye=H.key.startsWith("ed25519:")?H.key:`ed25519:${H.key}`,Se=await G(Ye,v);Se.success&&S(H,Se.data.ip_restriction_list?.join(","));}else S(H,void 0);}catch(S){S?.message&&ui.toast.error(S?.message);}return Promise.resolve(0)},kt=()=>{n(!1),oe();},Go=()=>{navigator.clipboard.writeText(JSON.stringify(l)),ui.toast.success("API info copied");},$o=()=>{kt();},Zo=v=>new Promise(async _=>{await te(v.orderly_key).then(async S=>{if(S?.success){ui.toast.success("API key deleted"),oe();let H=await c.keyStore.getOrderlyKey()?.getPublicKey();v.orderly_key===H&&c.destroyOrderlyKey();}_(1);},S=>{}).catch(S=>{});}),qo=async(v,_)=>{let S;(_?.length||0)===0?S=D(v.orderly_key,"ALLOW_ALL_IPS"):S=G(v.orderly_key,_);let H=await S;return H.success?(ui.toast.success("API key updated"),oe(),Promise.resolve()):(ui.toast.error(H.message),Promise.reject())},Qo=()=>ui.toast.success("Account id copied"),Yo=v=>{typeof v<"u"&&navigator.clipboard.writeText(v.replace("ed25519:","")),ui.toast.success("API key copied");},Xo=()=>ui.toast.success("Secret key copied"),Jo=()=>ui.toast.success("Restricted IP copied"),jo=react.useMemo(()=>V?.filter(v=>{let _=t?t?.includes(v.tag):!0,S=y?!v.orderly_key.includes(y):!0;return _&&S}),[V,t,y]),ei=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]",Dt=C.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading,ti=reactApp.useDataTap(f?.account_id,{accountStatus:Dt}),oi=reactApp.useDataTap(f?.user_id,{accountStatus:Dt}),{pagination:ii}=ui.usePagination();return {address:ti??"--",uid:`${oi??"--"}`,onCreateApiKey:h,onReadApiGuide:T,showCreateDialog:i,hideCreateDialog:$,doCreate:ie,showCreatedDialog:a,hideCreatedDialog:kt,onCopyApiKeyInfo:Go,doConfirm:$o,doDelete:Zo,doEdit:qo,canCreateApiKey:g,status:C.status,keys:jo,generateKey:l,onCopyAccountId:Qo,wrongNetwork:b,onCopyApiKey:Yo,onCopyApiSecretKey:Xo,onCopyIP:Jo,verifyIP:ei,isLoading:Ft,pagination:ii}};function Pt(e){return e.charAt(0).toUpperCase()+e.slice(1)}var To=e=>{let[t,o]=react.useState(""),[i,r]=react.useState(!0),[a,n]=react.useState(!0),[l,d]=react.useState("");return react.useEffect(()=>{e.showCreateDialog||(o(""),r(!0),n(!0),d(""));},[e.showCreateDialog]),react.useEffect(()=>{t.length===0&&d("");},[t]),jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:e.showCreateDialog,onOpenChange:s=>{e.hideCreateDialog?.();},title:"Create API key",actions:{primary:{label:"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 m=e.verifyIP(t);if(d(m),m.length>0)return}let s=[];i&&s.push("read"),a&&s.push("trading"),await e.doCreate(t,s.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:"IP restriction (optional)"}),jsxRuntime.jsx("textarea",{"data-testid":"oui-testid-apiKey-createApiKey-dialog-textarea",placeholder:"Add IP addresses, separated by commas.",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",l.length>0&&"oui-outline-1 oui-outline-danger focus:oui-outline-none"),value:t,onChange:s=>{o(s.target.value);},style:{resize:"none"}}),l.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:l})]})]}),jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{size:"xs",intensity:54,children:"Permissions"}),className:"oui-w-full",children:jsxRuntime.jsxs(ui.Flex,{direction:"row",gap:6,itemAlign:"start",className:"oui-mt-2",children:[jsxRuntime.jsx(we,{size:18,checked:i,onCheckedChange:s=>r(s),label:"Read",testid:"oui-testid-apiKey-createApiKey-dialog-read-checkbox"}),jsxRuntime.jsx(we,{size:18,checked:a,onCheckedChange:s=>n(s),label:"Trading",testid:"oui-testid-apiKey-createApiKey-dialog-trading-checkbox"})]})})]})})},we=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",children:e.label})]});var Io=e=>{let t=e.generateKey?.ip??"--";return jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:e.showCreatedDialog,onOpenChange:o=>{e.hideCreatedDialog?.();},title:"API key created",actions:{primary:{label:"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:"Copy API info","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:"Account ID",children:jsxRuntime.jsx(ui.Text.formatted,{size:"sm",intensity:80,copyable:!0,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:"API key",children:jsxRuntime.jsx(ui.Text.formatted,{size:"sm",intensity:80,copyable:!0,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:"Secret key",children:[jsxRuntime.jsx(ui.Text.formatted,{size:"sm",intensity:80,copyable:!0,copyIconSize:16,className:"oui-break-all",onCopy:e.onCopyApiSecretKey,children:e.generateKey?.screctKey})," "]}),jsxRuntime.jsx(ui.Statistic,{label:"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:o=>{e.generateKey?.ip&&navigator.clipboard.writeText(e.generateKey?.ip),e?.onCopyIP();}})})]})}),jsxRuntime.jsx(ui.Statistic,{label:"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:"Please copy the API secret. Once you close this pop-up, the API secret will be encrypted."})]})})};var ko=e=>{let{item:t,open:o,setOpen:i,onDelete:r}=e;return jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:o,onOpenChange:i,title:"Delete API key",actions:{primary:{label:"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(!1);}},secondary:{label:"Cancel",className:"oui-w-[120px] lg:oui-w-[154px]",size:"md",onClick:async()=>{i(!1);}}},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,{className:"oui-text-xs",children:["Delete your API key \xA0",jsxRuntime.jsx(ui.Text,{color:"primary",children:Tt(t?.orderly_key)}),"\xA0?"]})})};var _o=e=>{let{item:t,open:o,setOpen:i,onUpdate:r}=e,[a,n]=react.useState(t.ip_restriction_list?.join(",")),[l,d]=react.useState(!0),[s,m]=react.useState(!0),[b,C]=react.useState("");return react.useEffect(()=>{n(t.ip_restriction_list.join(",")),d(t.scope?.toLocaleLowerCase().includes("read")||!1),m(t.scope?.toLocaleLowerCase().includes("trading")||!1);},[t]),react.useEffect(()=>{a.length===0&&C("");},[a]),jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:o,onOpenChange:i,title:"Edit API key",actions:{primary:{label:"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(C(c),c.length>0)return}await e.onUpdate?.(t,a),i(!1);},disabled:t.ip_restriction_list.join(",")===a,size:"md",fullWidth:!0}},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:"IP restriction (optional)"}),jsxRuntime.jsx("textarea",{"data-testid":"oui-testid-apiKey-editApiKey-dialog-textarea",placeholder:"Add IP addresses, separated by commas.",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",b.length>0&&"oui-outline-1 oui-outline-danger focus:oui-outline-none"),value:a,onChange:c=>{n(c.target.value);},style:{resize:"none"}}),b.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:b})]})]}),jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{size:"xs",intensity:54,children:"Permissions"}),className:"oui-w-full",children:jsxRuntime.jsxs(ui.Flex,{direction:"row",gap:6,itemAlign:"start",className:"oui-mt-2",children:[jsxRuntime.jsx(we,{disabled:!0,size:18,checked:l,onCheckedChange:c=>d(c),label:"Read"}),jsxRuntime.jsx(we,{disabled:!0,size:18,checked:s,onCheckedChange:c=>m(c),label:"Trading"})]})})]})})};var No=e=>jsxRuntime.jsxs(ui.Card,{title:"API keys",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(Zn,{...e}),jsxRuntime.jsx(qn,{...e})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Qn,{...e}),jsxRuntime.jsx(To,{...e}),jsxRuntime.jsx(Io,{...e})]})]}),Zn=e=>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:!0,className:"oui-w-1/2",children:[jsxRuntime.jsx(ui.Text,{size:"xs",intensity:36,children:"Account ID"}),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:!0,className:"oui-w-1/2",children:[jsxRuntime.jsx(ui.Text,{size:"xs",intensity:36,children:"UID"}),jsxRuntime.jsx(ui.Text,{size:"base",inlist:80,children:e.uid})]})]}),qn=e=>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.jsxs(ui.Text,{intensity:54,children:["Create API keys to suit your trading needs. For your security, don't share your API keys with anyone."," "]}),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:"Read API guide"}),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:"Please connect wallet before create API key",signIn:"Please sign in before create API key",enableTrading:"Please enable trading before create API key",wrongNetwork:"Please switch to a supported network to create API key"},children:jsxRuntime.jsx(ui.Button,{size:"md",icon:jsxRuntime.jsx(ui.PlusIcon,{}),variant:"contained",color:"primary",onClick:e.onCreateApiKey,disabled:!e.canCreateApiKey||e.wrongNetwork,"data-testid":"oui-testid-apiKey-createApiKey-btn",children:"Create API key"})})]}),Qn=e=>jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:!0,columns:[{title:"API key",dataIndex:"orderly_key",render:o=>jsxRuntime.jsx(ui.Text.formatted,{rule:"",copyable:!0,copyIconSize:16,onCopy:()=>{e.onCopyApiKey?.(o);},children:Tt(o)})},{title:"Permission type",dataIndex:"scope",render:o=>o?.split(",").map(i=>Pt(`${i}`)).join(", ")},{title:"Restricted IP",dataIndex:"ip_restriction_list",render:o=>{let i=o.join(",");return i.length===0&&(i="--"),jsxRuntime.jsx(ui.Tooltip,{content:i,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:i}),i!=="--"&&jsxRuntime.jsx(ui.Box,{width:16,height:16,className:"oui-cursor-pointer",children:jsxRuntime.jsx(ui.CopyIcon,{color:"white",opacity:.54,size:16,onClick:r=>{navigator.clipboard.writeText(i),e?.onCopyIP();}})})]})})}},{title:"Expiration date",dataIndex:"expiration",render:o=>jsxRuntime.jsx(ui.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd",children:o})},{title:"",type:"action",dataIndex:"action",width:120,render:(o,i)=>jsxRuntime.jsxs(ui.Flex,{direction:"row",gap:2,children:[jsxRuntime.jsx(Yn,{item:i,onUpdate:e.doEdit,verifyIP:e.verifyIP}),jsxRuntime.jsx(Xn,{item:i,onDelete:e.doDelete})]})}],loading:e.isLoading,dataSource:e.keys,emptyView:jsxRuntime.jsx(uiConnector.AuthGuardEmpty,{}),classNames:{},pagination:e.pagination,manualPagination:!1}),Yn=e=>{let{item:t,onUpdate:o,verifyIP:i}=e,[r,a]=react.useState(!1);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{size:"xs",color:"primary",variant:"contained",onClick:n=>{n.stopPropagation(),a(!0);},"data-testid":"oui-testid-apiKey-keyList-edit-btn",children:"Edit"}),r&&jsxRuntime.jsx(_o,{item:t,open:r,setOpen:a,onUpdate:o,verifyIP:i})]})},Xn=e=>{let{item:t,onDelete:o}=e,[i,r]=react.useState(!1);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{size:"xs",color:"gray",variant:"contained",onClick:a=>{a.stopPropagation(),r(!0);},"data-testid":"oui-testid-apiKey-keyList-delete-btn",children:"Delete"}),i&&jsxRuntime.jsx(ko,{item:t,open:i,setOpen:r,onDelete:o})]})};function Tt(e){return typeof e>"u"?"-":`${`${e}`.replace("ed25519:","").slice(0,6)}*****`}var Ze=e=>{let t=vo(e);return jsxRuntime.jsx(No,{...t})};var Eo=e=>{let{filterTags:t,keyStatus:o="ACTIVE"}=e;return jsxRuntime.jsx(Ze,{filterTags:t,keyStatus:o})};var Vo={};Z(Vo,{SettingPage:()=>Uo,SettingWidget:()=>Qe});var zo=e=>jsxRuntime.jsx(ui.Card,{title:"System upgrade",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:"Cancel open orders during system upgrade"}),jsxRuntime.jsx(ui.Text,{intensity:54,size:"sm",children:"During the upgrade period, all open orders will be cancelled to manage your risk in case of high market volatility."})]}),jsxRuntime.jsxs(uiConnector.AuthGuardTooltip,{align:"end",children:[jsxRuntime.jsx(ui.Switch,{checked:e.maintenance_cancel_orders,onCheckedChange:t=>{e.setMaintainConfig(t);},disabled:e.isSetting||!e.canTouch,"data-testid":"oui-testid-setting-switch-btn"})," "]})]})});var Bo=()=>{let{data:e,mutate:t}=hooks.useAccountInfo(),{wrongNetwork:o}=reactApp.useAppContext(),[i,{isMutating:r}]=hooks.useMutation("/v1/client/maintenance_config"),[a,n]=react.useState(!1);react.useEffect(()=>{n(e?.maintenance_cancel_orders||!1);},[e]);let l=hooks.useDebouncedCallback(m=>{i({maintenance_cancel_order_flag:m}).then(b=>{b.success||n(!m);});},300),d=m=>{n(m),l(m);},{state:s}=hooks.useAccount();return {maintenance_cancel_orders:a,setMaintainConfig:d,isSetting:!1,canTouch:(s.status===types.AccountStatusEnum.EnableTrading||s.status===types.AccountStatusEnum.EnableTradingWithoutConnected)&&!o}};var Qe=()=>{let e=Bo();return jsxRuntime.jsx(zo,{...e})};var Uo=()=>jsxRuntime.jsx(Qe,{});
|
|
19
|
+
var si=Object.defineProperty;var Z=(e,t)=>{for(var o in t)si(e,o,{get:t[o],enumerable:true});};var Xe=e=>{let{children:t,leftSideProps:o}=e;return jsxRuntime.jsx(uiScaffold.Scaffold,{leftSidebar:e.hideSideBar?null:jsxRuntime.jsx(mi,{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})})},mi=e=>{let{expanded:t,setExpand:o}=uiScaffold.useScaffoldContext();return jsxRuntime.jsx(uiScaffold.SideBar,{title:"Portfolio",...e,open:t,onOpenChange:i=>o(i),onItemSelect:i=>{e.onItemSelect?.(i),e.routerAdapter?.onRouteChange?.({href:i.href||"",name:i.name});}})};var Rt=(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))(Rt||{}),Je=e=>{let{routerAdapter:t}=uiScaffold.useScaffoldContext(),[o,i]=react.useState(e.current??t?.currentPath??"/portfolio");react.useEffect(()=>{(o||t?.currentPath)&&i(o||t?.currentPath||"/portfolio");},[o,t?.currentPath]);let r=react.useMemo(()=>[{name:"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:"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:"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:"Fee tier",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:"API key",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:"Settings",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)]"})})}],[]),a=hooks.useMediaQuery("(max-width: 768px)");return {items:r,current:o,hideSideBar:a,onItemSelect:n=>{typeof n.href>"u"||(i(n.href),t?.onRouteChange({href:n.href,name:n.name}));}}};var bi=e=>{let t=Je({current:e.leftSideProps?.current});return jsxRuntime.jsx(Xe,{...t,...e,children:e.children})};var ao={};Z(ao,{AssetHistory:()=>ue,AssetHistoryWidget:()=>de,AssetWidget:()=>ne,AssetsChartWidget:()=>Ke,AssetsUI:()=>ae,DistributionHistoryUI:()=>ge,DistributionHistoryWidget:()=>fe,FundingHistoryWidget:()=>pe,HistoryDataGroupWidget:()=>ye,OverviewContextProvider:()=>Ne,OverviewPage:()=>ro,PerformanceUI:()=>xe,PerformanceWidget:()=>he,useAssetHistoryColumns:()=>se,useAssetHistoryHook:()=>le,useAssetsLineChartScript:()=>Le,useFundingHistoryColumns:()=>ce,useFundingHistoryHook:()=>me,usePerformanceScript:()=>Ce});var et=()=>{let{connect:e}=hooks.useWalletConnector(),{state:t}=hooks.useAccount(),{totalValue:o,freeCollateral:i}=hooks.useCollateral(),{wrongNetwork:r}=reactApp.useAppContext(),[a]=hooks.usePositionStream(),[n]=hooks.useLeverage(),[l,d]=hooks.useLocalStorage("orderly_assets_visible",true),s=react.useMemo(()=>t.status===types.AccountStatusEnum.EnableTrading||t.status===types.AccountStatusEnum.EnableTradingWithoutConnected,[t]),m=()=>{ui.modal.show(uiLeverage.LeverageWidgetId);},b=()=>{ui.modal.show(uiTransfer.DepositAndWithdrawWithDialogId,{activeTab:"deposit"});},C=()=>{ui.modal.show(uiTransfer.DepositAndWithdrawWithDialogId,{activeTab:"withdraw"});};return {connected:s,connect:e,portfolioValue:o,freeCollateral:i,unrealPnL:a.aggregated.total_unreal_pnl,unrealROI:a.totalUnrealizedROI,currentLeverage:n,onLeverageEdit:m,visible:l,wrongNetwork:r,toggleVisible:()=>d(!l),onDeposit:b,onWithdraw:C}};var Kt=e=>jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.CardTitle,{children:"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:"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:"Deposit"})]})]});var ae=e=>jsxRuntime.jsx(ui.Card,{classNames:{footer:"oui-h-[48px]",root:"oui-h-[240px]"},title:jsxRuntime.jsx(Kt,{disabled:!e.connected||e.wrongNetwork,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:"Total value"}),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.connected??false)&&!e.wrongNetwork,left:jsxRuntime.jsx(Oi,{}),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(Bi,{unrealROI:e.unrealROI,unrealPnL:e.unrealPnL,freeCollateral:e.freeCollateral,currentLeverage:e.currentLeverage,onLeverageEdit:e.onLeverageEdit,visible:e.visible})})]})}),Oi=()=>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"})]}),Bi=e=>jsxRuntime.jsxs(ui.Grid,{cols:3,className:"oui-h-12",children:[jsxRuntime.jsx(ui.Statistic,{label:"Unrealized PnL",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:"Max account leverage",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:"Available to withdraw",align:"right",valueProps:{size:"lg",visible:e.visible},children:e.freeCollateral})]});var ne=()=>{let{connected:e,connect:t,portfolioValue:o,onLeverageEdit:i,...r}=et();return jsxRuntime.jsx(ae,{onConnectWallet:t,connected:e,portfolioValue:o,onLeverageEdit:i,...r})};var Wt=(i=>(i.WEEK="7D",i.MONTH="30D",i.QUARTER="90D",i))(Wt||{}),zt=(e,t)=>{let[o]=react.useState(()=>{let u=new Date;return new Date(dateFns.getYear(u),dateFns.getMonth(u),dateFns.getDate(u),0,0,0)}),{isRealtime:i=false}=t||{},r=Object.values(Wt),[a,n]=hooks.useLocalStorage(e,"7D"),{totalValue:l}=hooks.useCollateral(),d=u=>{switch(u){case "30D":return dateFns.subDays(o,35);case "90D":return dateFns.subDays(o,95);default:return dateFns.subDays(o,10)}},s=react.useMemo(()=>{switch(a){case "7D":return 7;case "30D":return 30;case "90D":return 90;default:return 7}},[a]),[m,b]=react.useState(d(a)),C=react.useMemo(()=>dateFns.addDays(o,1),[o]),[c]=hooks.useStatisticsDaily({startDate:m.toISOString().split("T")[0],endDate:C.toISOString().split("T")[0]},{ignoreAggregation:true}),[g]=hooks.useAssetsHistory({startTime:dateFns.subDays(o,2).getTime().toString(),endTime:C.getTime().toString(),pageSize:50}),f=u=>{b(d(u)),n(u);},V=u=>{if(l==null)return null;let y=new utils.Decimal(l).sub(u.lastItem.account_value);if(Array.isArray(u.assetHistory)&&u.assetHistory.length>0&&typeof u.lastItem.snapshot_time<"u"){let w=[];for(let h=0;h<u.assetHistory.length;h++){let T=u.assetHistory[h];T.created_time>u.lastItem.snapshot_time&&w.push(T);}for(let h=0;h<w.length;h++){let T=w[h];T.side==="DEPOSIT"?T.trans_status==="COMPLETED"&&(y=y.sub(T.amount)):T.side==="WITHDRAW"&&T.trans_status!=="FAILED"&&(y=y.add(T.amount));}}return y.toNumber()},ee=(u,y)=>{let w=u[u.length-1],h=dateFns.format(o,"yyyy-MM-dd");return {...w,date:h,perp_volume:0,account_value:y!==null?y:w?.account_value??0,pnl:V({lastItem:w,assetHistory:g})??0}},G=(u,y)=>!Array.isArray(u)||u.length===0?u:(u[u.length-1].date,dateFns.format(o,"yyyy-MM-dd"),u.concat([ee(u,y)])),te=(u,y)=>{let w=y?G(u,l):u;return w.slice(Math.max(0,w.length-s))},D=react.useMemo(()=>l==null?[]:te(c,i),[c,l,g,i]),oe=react.useMemo(()=>{let u=utils.zero,y=utils.zero,w=utils.zero;if(Array.isArray(D)&&D.length){D.forEach(ie=>{y=y.add(ie.pnl);});let h=D[0],T=c.findIndex(ie=>ie.date===h.date),$=c[T-1]?.account_value;typeof $>"u"||$===0?w=utils.zero:w=y.div($);}if(c.length>0)for(let h=0;h<s;h++){let T=c[c.length-1-h];T&&(u=u.add(T.perp_volume??0));}return {vol:u.toNumber(),pnl:y.toNumber(),roi:w.toNumber()}},[D,c,s]);return {periodTypes:r,period:a,onPeriodChange:f,data:D,aggregateValue:oe,createFakeData:(u,y)=>Array.from({length:2},(w,h)=>({date:dateFns.format(h===0?m:new Date,"yyyy-MM-dd"),...h===0?u:y})),volumeUpdateDate:c?.[c.length-1]?.date??""}};var Ot=react.createContext({}),or="portfolio_performance_period",He=()=>react.useContext(Ot),Ne=({children:e})=>{let t=zt(or,{isRealtime:true});return jsxRuntime.jsx(Ot.Provider,{value:{...t},children:e})};var Le=()=>{let e=He(),{wrongNetwork:t}=reactApp.useAppContext(),{state:o}=hooks.useAccount(),i=reactApp.useDataTap(e.data,{accountStatus:o.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading,fallbackData:e.createFakeData({account_value:0},{account_value:500})}),r=react.useMemo(()=>i?.length??0>0?i:e.createFakeData({account_value:0},{account_value:500}),[i]);return {...e,wrongNetwork:t,data:r,invisible:t||!e.data.length}};var Ee=e=>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(t=>({value:t,label:t}))})})]});var Bt=e=>{let{onPeriodChange:t,periodTypes:o,period:i,data:r}=e;return jsxRuntime.jsx(ui.Card,{title:jsxRuntime.jsx(Ee,{onPeriodChange:t,periodTypes:o,period:i,title:"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 Ke=()=>{let e=Le();return jsxRuntime.jsx(Bt,{...e})};var se=()=>{let{data:e}=hooks.useQuery("/v1/public/chain_info");return react.useMemo(()=>[{title:"Token",dataIndex:"token",width:80,render:o=>jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.TokenIcon,{name:o,size:"xs"}),jsxRuntime.jsx("span",{children:o})]})},{title:"Time",dataIndex:"created_time",width:80,rule:"date"},{title:"TxID",dataIndex:"tx_id",width:120,render:(o,i)=>{if(!o)return jsxRuntime.jsx("div",{className:"oui-text-base-contrast-54",children:"-"});let n=`${e?.find(l=>parseInt(i.chain_id)===parseInt(l.chain_id))?.explorer_base_url}/tx/${o}`;return jsxRuntime.jsx("a",{href:n,target:"_blank",children:jsxRuntime.jsx(ui.Text.formatted,{copyable:!!o,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("Copy success");},children:o})})}},{title:"Status",dataIndex:"trans_status",width:100,formatter:o=>ui.capitalizeFirstLetter(o.toLowerCase())},{title:"Type",dataIndex:"side",width:80,formatter:o=>ui.capitalizeFirstLetter(o.toLowerCase()),render:o=>jsxRuntime.jsx(ui.Text,{color:o.toLowerCase(),children:o})},{title:"Amount",dataIndex:"amount",width:100,rule:"price",formatter:(o,i)=>i.side==="WITHDRAW"?-(o-(i.fee??0)):o-(i.fee??0),numeralProps:{coloring:true,showIdentifier:true}}],[e])},Gt=[{label:"All",value:"All"},{label:"Deposit",value:"DEPOSIT"},{label:"Withdrawal",value:"WITHDRAW"}];var X=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 le=()=>{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:l,parsePagination:d}=ui.usePagination(),[s,{meta:m,isLoading:b}]=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}),C=g=>{g.name==="side"&&(r(g.value),l(1)),g.name==="dateRange"&&(o(X(g.value)),l(1));},c=react.useMemo(()=>d(m),[d,m]);return {dataSource:s,total:m?.total,isLoading:b,queryParameter:{side:i,dateRange:t},onFilter:C,pagination:c}};var ue=e=>{let{dataSource:t,queryParameter:o,onFilter:i,isLoading:r}=e,{side:a,dateRange:n}=o,l=se();return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.DataFilter,{items:[{type:"select",name:"side",options:Gt,value:a},{type:"range",name:"dateRange",value:{from:n[0],to:n[1]}}],onFilter:d=>{i(d);}}),jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:true,loading:r,classNames:{root:"oui-h-[calc(100%_-_49px)]"},columns:l,dataSource:t,pagination:e.pagination})]})};var de=()=>{let e=le();return jsxRuntime.jsx(ue,{...e})};var ce=()=>react.useMemo(()=>[{title:"Symbol",dataIndex:"symbol",width:80,rule:"symbol",textProps:{showIcon:true}},{title:"Time",dataIndex:"created_time",width:120,rule:"date"},{title:"Funding rate / Annual rate",dataIndex:"funding_rate",width:80,render:(t,o)=>jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",dp:6,children:o.funding_rate}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",dp:6,children:o.annual_rate})]})},{title:"Payment type",dataIndex:"payment_type",width:80,render:t=>{switch(t){case "Pay":return "Paid";case "Receive":return "Received";default:return t}}},{title:"Funding fee (USDC)",dataIndex:"funding_fee",width:80,rule:"price",formatter(t,o,i){return Number(t)*-1},numeralProps:{coloring:true,showIdentifier:true,ignoreDP:true}}],[]);var st=e=>{let{dataSource:t,queryParameter:o,onFilter:i,isLoading:r}=e,a=ce(),n=hooks.useSymbolsInfo(),{symbol:l,dateRange:d}=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(s=>({label:s.split("_")[1],value:s}))],value:l,valueFormatter:s=>s==="All"?"All":s.split("_")[1]},{type:"range",name:"dateRange",value:{from:d[0],to:d[1]}}],onFilter:s=>{i(s);}}),jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:true,columns:a,dataSource:t,loading:r,generatedRowKey:s=>`${s.updated_time}`,classNames:{root:"oui-h-[calc(100%_-_49px)]"},pagination:e.pagination})]})};var me=()=>{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:l,parsePagination:d}=ui.usePagination(),[s,{isLoading:m,meta:b,isValidating:C}]=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}),c=f=>{f.name==="symbol"&&(r(f.value),l(1)),f.name==="dateRange"&&(o(X(f.value)),l(1));},g=react.useMemo(()=>d(b),[d,b]);return {dataSource:s,isLoading:m,isValidating:C,queryParameter:{symbol:i,dateRange:t},onFilter:c,pagination:g}};var pe=()=>{let e=me();return jsxRuntime.jsx(st,{...e})};var Yt=()=>react.useMemo(()=>[{title:"Token",dataIndex:"token",width:80,render:(t,o)=>jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[jsxRuntime.jsx(ui.TokenIcon,{name:t,size:"xs"}),jsxRuntime.jsx("span",{children:t})]})},{title:"Time",dataIndex:"updated_time",width:120,rule:"date"},{title:"Status",dataIndex:"status",width:120,formatter(t,o,i){switch(t){case "CREATED":case "SPLIT":return "Processing";case "COMPLETED":default:return "Completed"}}},{title:"Type",dataIndex:"type",width:80,formatter:t=>{switch(t){case "REFERRER_REBATE":return "Referral commission";case "REFEREE_REBATE":return "Referee rebate";case "BROKER_FEE":return "Broker fee";default:return "-"}}},{title:"Amount",dataIndex:"amount",width:80}],[]),Xt=[{label:"All",value:"All"},{label:"Referral commission",value:"REFERRER_REBATE"},{label:"Referee rebate",value:"REFEREE_REBATE"},{label:"Broker fee",value:"BROKER_FEE"}];var ge=e=>{let{dataSource:t,queryParameter:o,onFilter:i,isLoading:r,isValidating:a}=e,n=Yt(),{type:l,dateRange:d}=o;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.DataFilter,{items:[{type:"select",name:"type",options:Xt,value:l},{type:"range",name:"dateRange",value:{from:d[0],to:d[1]}}],onFilter:s=>{i(s);}}),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 jt=()=>{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:l,parsePagination:d}=ui.usePagination(),[s,{isLoading:m,meta:b,isValidating:C}]=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}),c=f=>{f.name==="type"&&(r(f.value),l(1)),f.name==="dateRange"&&(o(X(f.value)),l(1));},g=react.useMemo(()=>d(b),[d,b]);return {dataSource:s,isLoading:m,isValidating:C,queryParameter:{type:i,dateRange:t},onFilter:c,pagination:g}};var fe=()=>{let e=jt();return jsxRuntime.jsx(ge,{...e})};var eo=e=>{let{active:t="deposit",onTabChange:o}=e;return jsxRuntime.jsx(ui.Card,{children:jsxRuntime.jsxs(ui.Tabs,{value:t,onValueChange:o,variant:"contained",size:"xl",children:[jsxRuntime.jsx(ui.TabPanel,{title:"Deposits & Withdrawals",icon:jsxRuntime.jsx(ui.ArrowLeftRightIcon,{}),value:"deposit",children:jsxRuntime.jsx(de,{})}),jsxRuntime.jsx(ui.TabPanel,{title:"Funding",icon:jsxRuntime.jsx(ui.FeeTierIcon,{}),value:"funding",children:jsxRuntime.jsx(pe,{})}),jsxRuntime.jsx(ui.TabPanel,{title:"Distribution",icon:jsxRuntime.jsx(ui.ServerFillIcon,{}),value:"distribution",children:jsxRuntime.jsx(fe,{})})]})})};var to=()=>{let[e,t]=react.useState("deposit");return {active:e,onTabChange:o=>t(o)}};var ye=()=>{let e=to();return jsxRuntime.jsx(eo,{...e})};var xe=e=>{let{periodTypes:t,period:o,onPeriodChange:i,aggregateValue:r,invisible:a,visible:n,volumeUpdateDate:l}=e;return jsxRuntime.jsxs(ui.Card,{title:jsxRuntime.jsx(Ee,{onPeriodChange:i,periodTypes:t,period:o,title:"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:`${o} ROI`,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:`${o} PnL`,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:`${o} Volume (USDC)`}),jsxRuntime.jsx("span",{children:l})]}),children:a?"--":r.vol})})]}),jsxRuntime.jsxs(ui.Grid,{cols:2,gap:4,children:[jsxRuntime.jsx(Fa,{data:e.data??[],invisible:e.invisible}),jsxRuntime.jsx(ka,{data:e.data??[],invisible:e.invisible||(e.data?.length??0)<=2})]})]})},Fa=e=>jsxRuntime.jsxs(ui.Box,{mt:4,height:"188px",children:[jsxRuntime.jsx(ui.Text,{as:"div",size:"sm",className:"oui-mb-3",children:"Daily PnL"}),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})})]}),ka=e=>jsxRuntime.jsxs(ui.Box,{mt:4,children:[jsxRuntime.jsx(ui.Text,{as:"div",size:"sm",className:"oui-mb-3",children:"Cumulative PnL"}),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 Ce=()=>{let e=He(),[t]=hooks.useLocalStorage("orderly_assets_visible",true),{wrongNetwork: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,pnl:0},{account_value:500,pnl:500})}),a=react.useMemo(()=>r?.length??0>0?r:e.createFakeData({account_value:0,pnl:0},{account_value:500,pnl:500}),[r]);return {...e,data:a,invisible:o||i.status<types.AccountStatusEnum.EnableTrading&&i.status!==types.AccountStatusEnum.EnableTradingWithoutConnected,visible:t}};var he=()=>{let e=Ce();return jsxRuntime.jsx(xe,{...e})};var ro=()=>jsxRuntime.jsx(Ne,{children:jsxRuntime.jsxs(ui.Grid,{cols:2,gap:4,children:[jsxRuntime.jsx(ne,{}),jsxRuntime.jsx(Ke,{}),jsxRuntime.jsx(ui.Grid.span,{colSpan:2,children:jsxRuntime.jsx(he,{})}),jsxRuntime.jsx(ui.Grid.span,{colSpan:2,children:jsxRuntime.jsx(ye,{})})]})});var go={};Z(go,{FeeTierPage:()=>po});var pt=[{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 lo=()=>react.useMemo(()=>[{title:"Tier",dataIndex:"tier",align:"left",width:100},{title:"30 day volume (USDC)",dataIndex:"volume",align:"center",width:170,render:(t,o)=>{let{volume_min:i,volume_max:r,volume_node:a}=o;return a||(!i&&!r?jsxRuntime.jsx("div",{style:{fontVariantLigatures:"none"},children:"--"}):i&&!r?jsxRuntime.jsxs("div",{children:["Above ",utils.numberToHumanStyle(i,i===25e5?1:0)]}):jsxRuntime.jsxs("div",{children:[i&&utils.numberToHumanStyle(i,i===25e5?1:0)," - ",r&&utils.numberToHumanStyle(r,r===25e5?1:0)]}))}},{title:"Maker",dataIndex:"maker_fee",align:"right",width:100,render:t=>jsxRuntime.jsx(ui.Text,{children:t})},{title:"Taker",dataIndex:"taker_fee",align:"right",width:100,render:t=>jsxRuntime.jsx(ui.Text,{children:t})}],[]);function uo(e){let{dataAdapter:t}=e||{},[o,i]=react.useState(),{data:r}=hooks.useAccountInfo(),{state:a}=hooks.useAccount(),n=lo(),{data:l}=hooks.usePrivateQuery("/v1/volume/user/stats"),{columns:d,dataSource:s}=react.useMemo(()=>typeof t=="function"?t(n,pt):{columns:n,dataSource:pt},[t,n]),m=(g,f)=>{let{futures_taker_fee_rate:V=0,futures_maker_fee_rate:ee=0}=f,G=`${new utils.Decimal(V).mul(.01).toString()}%`,te=`${new utils.Decimal(ee).mul(.01).toString()}%`;for(let D of g)if(G===D.taker_fee&&te===D.maker_fee)return D.tier};react.useEffect(()=>{if(!r)return;let g=m(s,r);i(g);},[r,s]);let b=react.useMemo(()=>{let g=r?.futures_taker_fee_rate;if(!(typeof g>"u"))return `${new utils.Decimal(g).mul(.01).toString()}%`},[r]),C=react.useMemo(()=>{let g=r?.futures_maker_fee_rate;if(!(typeof g>"u"))return `${new utils.Decimal(g).mul(.01).toString()}%`},[r]);return {...reactApp.useDataTap({tier:o,vol:l?.perp_volume_last_30_days,takerFeeRate:b,makerFeeRate:C},{accountStatus:a.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading}),columns:d,dataSource:s,onRow:e?.onRow}}var co=e=>{let{columns:t,dataSource:o,tier:i,vol:r,takerFeeRate:a,makerFeeRate:n}=e;return jsxRuntime.jsxs(ui.Card,{title:jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"lg",children:"Fee tier"}),jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text,{size:"xs",intensity:54,children:"Updated daily by"}),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(Xa,{tier:i,vol:r,takerFeeRate:a,makerFeeRate:n}),jsxRuntime.jsx(Ja,{dataSource:o,columns:t,tier:i,onRow:e.onRow})]})},Xa=e=>jsxRuntime.jsxs(ui.Flex,{direction:"row",gapX:4,my:4,itemAlign:"stretch",children:[jsxRuntime.jsx(We,{label:"Your tier",value:jsxRuntime.jsx(ui.Text.gradient,{color:"brand",angle:270,size:"base",children:e.tier||"--"})}),jsxRuntime.jsx(We,{label:"30D trading volume (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(We,{label:"Taker fee rate",value:jsxRuntime.jsx(ui.Text.gradient,{color:"brand",angle:270,size:"base",children:e.takerFeeRate||"--"})}),jsxRuntime.jsx(We,{label:"Maker fee rate",value:jsxRuntime.jsx(ui.Text.gradient,{color:"brand",angle:270,size:"base",children:e.makerFeeRate||"--"})})]}),We=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})]}),Ja=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 mo=e=>{let t=uo(e);return jsxRuntime.jsx(co,{...t})};var po=e=>jsxRuntime.jsx(mo,{...e});var xo={};Z(xo,{PositionsPage:()=>dn});var dn=e=>{let[t,o]=react.useState("Positions");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:"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:i=>o(i),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:"Positions",children:jsxRuntime.jsx(uiPositions.PositionsWidget,{...e})}),jsxRuntime.jsx(ui.TabPanel,{value:"Position history",title:"Position history",children:jsxRuntime.jsx(uiPositions.PositionHistoryWidget,{...e})}),jsxRuntime.jsx(ui.TabPanel,{value:"Liquidation",title:"Liquidation",children:jsxRuntime.jsx(uiPositions.LiquidationWidget,{})})]})})]})};var Co={};Z(Co,{OrdersPage:()=>bn});var bn=e=>{let{sharePnLConfig:t}=e,o=react.useRef(null);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:"Orders"}),jsxRuntime.jsx(ui.Tooltip,{content:"The downloaded data will reflect only the applied filters (e.g., status, time, side, and pagination) and may not include all records.",children:jsxRuntime.jsxs(ui.Button,{color:"gray",size:"sm",className:"oui-bg-base-4",onClick:()=>{o.current?.download?.();},children:["Download",jsxRuntime.jsx(Cn,{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:o,sharePnLConfig:t})})]})},Cn=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 Ko={};Z(Ko,{APIManagerPage:()=>Eo,APIManagerWidget:()=>Ze});var vo=e=>{let{filterTags:t,keyStatus:o}=e??{},[i,r]=react.useState(false),[a,n]=react.useState(false),[l,d]=react.useState(),{configStore:s}=react.useContext(hooks.OrderlyContext),m=s.get("brokerId"),{wrongNetwork:b}=reactApp.useAppContext(),{state:C,account:c}=hooks.useAccount(),g=C.status===types.AccountStatusEnum.EnableTrading||C.status===types.AccountStatusEnum.EnableTradingWithoutConnected,{data:f}=hooks.useQuery(`/v1/get_account?address=${c.address}&broker_id=${m}&chain_type=${c.walletAdapter?.chainNamespace}`),[V,{generateOrderlyKey:ee,setIPRestriction:G,removeOrderlyKey:te,resetOrderlyKeyIPRestriction:D,refresh:oe,isLoading:Ft,error:u}]=hooks.useApiKeyManager({keyInfo:{key_status:o}}),[y,w]=react.useState(void 0);react.useEffect(()=>{c.keyStore.getOrderlyKey()?.getPublicKey().then(v=>{w(v);});},[c,C]);let h=()=>{r(true);},T=()=>{window.open("https://orderly.network/docs/build-on-evm/evm-api/api-authentication","_blank");},$=()=>{r(false);},ie=async(v,_)=>{try{let S=(Ye,Se)=>{let{key:ri,secretKey:ai}=Ye;$(),d({key:ri,screctKey:ai,ip:Se,permissions:_?.split(",")?.map(ni=>Pt(ni)).join(", ")}),n(!0);},H=await ee(_);if(ui.toast.success("API key created"),(v?.length||0)>0){let Ye=H.key.startsWith("ed25519:")?H.key:`ed25519:${H.key}`,Se=await G(Ye,v);Se.success&&S(H,Se.data.ip_restriction_list?.join(","));}else S(H,void 0);}catch(S){S?.message&&ui.toast.error(S?.message);}return Promise.resolve(0)},kt=()=>{n(false),oe();},Go=()=>{navigator.clipboard.writeText(JSON.stringify(l)),ui.toast.success("API info copied");},$o=()=>{kt();},Zo=v=>new Promise(async _=>{await te(v.orderly_key).then(async S=>{if(S?.success){ui.toast.success("API key deleted"),oe();let H=await c.keyStore.getOrderlyKey()?.getPublicKey();v.orderly_key===H&&c.destroyOrderlyKey();}_(1);},S=>{}).catch(S=>{});}),qo=async(v,_)=>{let S;(_?.length||0)===0?S=D(v.orderly_key,"ALLOW_ALL_IPS"):S=G(v.orderly_key,_);let H=await S;return H.success?(ui.toast.success("API key updated"),oe(),Promise.resolve()):(ui.toast.error(H.message),Promise.reject())},Qo=()=>ui.toast.success("Account id copied"),Yo=v=>{typeof v<"u"&&navigator.clipboard.writeText(v.replace("ed25519:","")),ui.toast.success("API key copied");},Xo=()=>ui.toast.success("Secret key copied"),Jo=()=>ui.toast.success("Restricted IP copied"),jo=react.useMemo(()=>V?.filter(v=>{let _=t?t?.includes(v.tag):true,S=y?!v.orderly_key.includes(y):true;return _&&S}),[V,t,y]),ei=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]",Dt=C.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading,ti=reactApp.useDataTap(f?.account_id,{accountStatus:Dt}),oi=reactApp.useDataTap(f?.user_id,{accountStatus:Dt}),{pagination:ii}=ui.usePagination();return {address:ti??"--",uid:`${oi??"--"}`,onCreateApiKey:h,onReadApiGuide:T,showCreateDialog:i,hideCreateDialog:$,doCreate:ie,showCreatedDialog:a,hideCreatedDialog:kt,onCopyApiKeyInfo:Go,doConfirm:$o,doDelete:Zo,doEdit:qo,canCreateApiKey:g,status:C.status,keys:jo,generateKey:l,onCopyAccountId:Qo,wrongNetwork:b,onCopyApiKey:Yo,onCopyApiSecretKey:Xo,onCopyIP:Jo,verifyIP:ei,isLoading:Ft,pagination:ii}};function Pt(e){return e.charAt(0).toUpperCase()+e.slice(1)}var To=e=>{let[t,o]=react.useState(""),[i,r]=react.useState(true),[a,n]=react.useState(true),[l,d]=react.useState("");return react.useEffect(()=>{e.showCreateDialog||(o(""),r(true),n(true),d(""));},[e.showCreateDialog]),react.useEffect(()=>{t.length===0&&d("");},[t]),jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:e.showCreateDialog,onOpenChange:s=>{e.hideCreateDialog?.();},title:"Create API key",actions:{primary:{label:"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 m=e.verifyIP(t);if(d(m),m.length>0)return}let s=[];i&&s.push("read"),a&&s.push("trading"),await e.doCreate(t,s.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:"IP restriction (optional)"}),jsxRuntime.jsx("textarea",{"data-testid":"oui-testid-apiKey-createApiKey-dialog-textarea",placeholder:"Add IP addresses, separated by commas.",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",l.length>0&&"oui-outline-1 oui-outline-danger focus:oui-outline-none"),value:t,onChange:s=>{o(s.target.value);},style:{resize:"none"}}),l.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:l})]})]}),jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{size:"xs",intensity:54,children:"Permissions"}),className:"oui-w-full",children:jsxRuntime.jsxs(ui.Flex,{direction:"row",gap:6,itemAlign:"start",className:"oui-mt-2",children:[jsxRuntime.jsx(we,{size:18,checked:i,onCheckedChange:s=>r(s),label:"Read",testid:"oui-testid-apiKey-createApiKey-dialog-read-checkbox"}),jsxRuntime.jsx(we,{size:18,checked:a,onCheckedChange:s=>n(s),label:"Trading",testid:"oui-testid-apiKey-createApiKey-dialog-trading-checkbox"})]})})]})})},we=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",children:e.label})]});var Io=e=>{let t=e.generateKey?.ip??"--";return jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:e.showCreatedDialog,onOpenChange:o=>{e.hideCreatedDialog?.();},title:"API key created",actions:{primary:{label:"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:"Copy API info","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:"Account ID",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:"API key",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:"Secret key",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:"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:o=>{e.generateKey?.ip&&navigator.clipboard.writeText(e.generateKey?.ip),e?.onCopyIP();}})})]})}),jsxRuntime.jsx(ui.Statistic,{label:"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:"Please copy the API secret. Once you close this pop-up, the API secret will be encrypted."})]})})};var ko=e=>{let{item:t,open:o,setOpen:i,onDelete:r}=e;return jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:o,onOpenChange:i,title:"Delete API key",actions:{primary:{label:"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:"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.jsxs(ui.Flex,{className:"oui-text-xs",children:["Delete your API key \xA0",jsxRuntime.jsx(ui.Text,{color:"primary",children:Tt(t?.orderly_key)}),"\xA0?"]})})};var _o=e=>{let{item:t,open:o,setOpen:i,onUpdate:r}=e,[a,n]=react.useState(t.ip_restriction_list?.join(",")),[l,d]=react.useState(true),[s,m]=react.useState(true),[b,C]=react.useState("");return react.useEffect(()=>{n(t.ip_restriction_list.join(",")),d(t.scope?.toLocaleLowerCase().includes("read")||false),m(t.scope?.toLocaleLowerCase().includes("trading")||false);},[t]),react.useEffect(()=>{a.length===0&&C("");},[a]),jsxRuntime.jsx(ui.SimpleDialog,{size:"sm",open:o,onOpenChange:i,title:"Edit API key",actions:{primary:{label:"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(C(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:"IP restriction (optional)"}),jsxRuntime.jsx("textarea",{"data-testid":"oui-testid-apiKey-editApiKey-dialog-textarea",placeholder:"Add IP addresses, separated by commas.",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",b.length>0&&"oui-outline-1 oui-outline-danger focus:oui-outline-none"),value:a,onChange:c=>{n(c.target.value);},style:{resize:"none"}}),b.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:b})]})]}),jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{size:"xs",intensity:54,children:"Permissions"}),className:"oui-w-full",children:jsxRuntime.jsxs(ui.Flex,{direction:"row",gap:6,itemAlign:"start",className:"oui-mt-2",children:[jsxRuntime.jsx(we,{disabled:true,size:18,checked:l,onCheckedChange:c=>d(c),label:"Read"}),jsxRuntime.jsx(we,{disabled:true,size:18,checked:s,onCheckedChange:c=>m(c),label:"Trading"})]})})]})})};var No=e=>jsxRuntime.jsxs(ui.Card,{title:"API keys",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(Zn,{...e}),jsxRuntime.jsx(qn,{...e})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Qn,{...e}),jsxRuntime.jsx(To,{...e}),jsxRuntime.jsx(Io,{...e})]})]}),Zn=e=>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:"Account ID"}),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:"UID"}),jsxRuntime.jsx(ui.Text,{size:"base",inlist:80,children:e.uid})]})]}),qn=e=>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.jsxs(ui.Text,{intensity:54,children:["Create API keys to suit your trading needs. For your security, don't share your API keys with anyone."," "]}),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:"Read API guide"}),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:"Please connect wallet before create API key",signIn:"Please sign in before create API key",enableTrading:"Please enable trading before create API key",wrongNetwork:"Please switch to a supported network to create API key"},children:jsxRuntime.jsx(ui.Button,{size:"md",icon:jsxRuntime.jsx(ui.PlusIcon,{}),variant:"contained",color:"primary",onClick:e.onCreateApiKey,disabled:!e.canCreateApiKey||e.wrongNetwork,"data-testid":"oui-testid-apiKey-createApiKey-btn",children:"Create API key"})})]}),Qn=e=>jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:true,columns:[{title:"API key",dataIndex:"orderly_key",render:o=>jsxRuntime.jsx(ui.Text.formatted,{rule:"",copyable:true,copyIconSize:16,onCopy:()=>{e.onCopyApiKey?.(o);},children:Tt(o)})},{title:"Permission type",dataIndex:"scope",render:o=>o?.split(",").map(i=>Pt(`${i}`)).join(", ")},{title:"Restricted IP",dataIndex:"ip_restriction_list",render:o=>{let i=o.join(",");return i.length===0&&(i="--"),jsxRuntime.jsx(ui.Tooltip,{content:i,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:i}),i!=="--"&&jsxRuntime.jsx(ui.Box,{width:16,height:16,className:"oui-cursor-pointer",children:jsxRuntime.jsx(ui.CopyIcon,{color:"white",opacity:.54,size:16,onClick:r=>{navigator.clipboard.writeText(i),e?.onCopyIP();}})})]})})}},{title:"Expiration date",dataIndex:"expiration",render:o=>jsxRuntime.jsx(ui.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd",children:o})},{title:"",type:"action",dataIndex:"action",width:120,render:(o,i)=>jsxRuntime.jsxs(ui.Flex,{direction:"row",gap:2,children:[jsxRuntime.jsx(Yn,{item:i,onUpdate:e.doEdit,verifyIP:e.verifyIP}),jsxRuntime.jsx(Xn,{item:i,onDelete:e.doDelete})]})}],loading:e.isLoading,dataSource:e.keys,emptyView:jsxRuntime.jsx(uiConnector.AuthGuardEmpty,{}),classNames:{},pagination:e.pagination,manualPagination:false}),Yn=e=>{let{item:t,onUpdate:o,verifyIP:i}=e,[r,a]=react.useState(false);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{size:"xs",color:"primary",variant:"contained",onClick:n=>{n.stopPropagation(),a(true);},"data-testid":"oui-testid-apiKey-keyList-edit-btn",children:"Edit"}),r&&jsxRuntime.jsx(_o,{item:t,open:r,setOpen:a,onUpdate:o,verifyIP:i})]})},Xn=e=>{let{item:t,onDelete:o}=e,[i,r]=react.useState(false);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{size:"xs",color:"gray",variant:"contained",onClick:a=>{a.stopPropagation(),r(true);},"data-testid":"oui-testid-apiKey-keyList-delete-btn",children:"Delete"}),i&&jsxRuntime.jsx(ko,{item:t,open:i,setOpen:r,onDelete:o})]})};function Tt(e){return typeof e>"u"?"-":`${`${e}`.replace("ed25519:","").slice(0,6)}*****`}var Ze=e=>{let t=vo(e);return jsxRuntime.jsx(No,{...t})};var Eo=e=>{let{filterTags:t,keyStatus:o="ACTIVE"}=e;return jsxRuntime.jsx(Ze,{filterTags:t,keyStatus:o})};var Vo={};Z(Vo,{SettingPage:()=>Uo,SettingWidget:()=>Qe});var zo=e=>jsxRuntime.jsx(ui.Card,{title:"System upgrade",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:"Cancel open orders during system upgrade"}),jsxRuntime.jsx(ui.Text,{intensity:54,size:"sm",children:"During the upgrade period, all open orders will be cancelled to manage your risk in case of high market volatility."})]}),jsxRuntime.jsxs(uiConnector.AuthGuardTooltip,{align:"end",children:[jsxRuntime.jsx(ui.Switch,{checked:e.maintenance_cancel_orders,onCheckedChange:t=>{e.setMaintainConfig(t);},disabled:e.isSetting||!e.canTouch,"data-testid":"oui-testid-setting-switch-btn"})," "]})]})});var Bo=()=>{let{data:e,mutate:t}=hooks.useAccountInfo(),{wrongNetwork:o}=reactApp.useAppContext(),[i,{isMutating:r}]=hooks.useMutation("/v1/client/maintenance_config"),[a,n]=react.useState(false);react.useEffect(()=>{n(e?.maintenance_cancel_orders||false);},[e]);let l=hooks.useDebouncedCallback(m=>{i({maintenance_cancel_order_flag:m}).then(b=>{b.success||n(!m);});},300),d=m=>{n(m),l(m);},{state:s}=hooks.useAccount();return {maintenance_cancel_orders:a,setMaintainConfig:d,isSetting:false,canTouch:(s.status===types.AccountStatusEnum.EnableTrading||s.status===types.AccountStatusEnum.EnableTradingWithoutConnected)&&!o}};var Qe=()=>{let e=Bo();return jsxRuntime.jsx(zo,{...e})};var Uo=()=>jsxRuntime.jsx(Qe,{});
|
|
20
20
|
|
|
21
21
|
exports.APIManagerModule = Ko;
|
|
22
22
|
exports.FeeTierModule = go;
|