@orderly.network/ui-transfer 2.4.2-alpha.0 → 2.5.0-alpha.2

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.js CHANGED
@@ -1,53 +1,66 @@
1
1
  'use strict';
2
2
 
3
+ var i18n = require('@orderly.network/i18n');
3
4
  var ui = require('@orderly.network/ui');
4
- var react = require('react');
5
+ var ei = require('react');
6
+ var hooks = require('@orderly.network/hooks');
7
+ var utils = require('@orderly.network/utils');
8
+ var jsxRuntime = require('react/jsx-runtime');
5
9
  var uiConnector = require('@orderly.network/ui-connector');
6
10
  var types = require('@orderly.network/types');
7
- var i18n = require('@orderly.network/i18n');
8
- var jsxRuntime = require('react/jsx-runtime');
9
- var utils = require('@orderly.network/utils');
10
11
  var reactApp = require('@orderly.network/react-app');
11
- var hooks = require('@orderly.network/hooks');
12
12
  var uiChainSelector = require('@orderly.network/ui-chain-selector');
13
+ var perp = require('@orderly.network/perp');
14
+ var scanClient = require('@layerzerolabs/scan-client');
15
+ var ramda = require('ramda');
16
+ var core = require('@orderly.network/core');
17
+
18
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
19
+
20
+ var ei__default = /*#__PURE__*/_interopDefault(ei);
13
21
 
14
- var me=(n=>(n[n.Deposit=0]="Deposit",n[n.Approve=1]="Approve",n[n.Increase=2]="Increase",n))(me||{}),Rt=(e=>(e.Wallet="wallet",e.Account="accountId",e))(Rt||{});var pe=t=>{let{disabled:o,loading:e,actionType:n,symbol:r="USDC",onDeposit:a,onApprove:i,networkId:u}=t,{t:s}=i18n.useTranslation(),c=react.useMemo(()=>({1:{children:s("transfer.deposit.approve.symbol",{symbol:r}),onClick:i,disabled:false,"data-testid":"oui-testid-deposit-dialog-approve-btn"},2:{children:s("transfer.deposit.increase.symbol",{symbol:r}),onClick:i,"data-testid":"oui-testid-deposit-dialog-increase-btn"},0:{children:s("common.deposit"),onClick:a,"data-testid":"oui-testid-deposit-dialog-deposit-btn"}})[n],[i,a,n,r,s]),d={initial:"md",lg:"lg"};return jsxRuntime.jsx(ui.Box,{className:"oui-w-full lg:oui-w-auto lg:oui-min-w-[184px]",children:jsxRuntime.jsx(uiConnector.AuthGuard,{status:types.AccountStatusEnum.EnableTrading,networkId:u,buttonProps:{fullWidth:true,size:d},children:jsxRuntime.jsx(ui.Button,{fullWidth:true,disabled:o,loading:e,size:d,...c})})})};var et=t=>{let{amount:o,maxQuantity:e,token:n,loading:r}=t,{t:a}=i18n.useTranslation(),i=n?.display_name||n?.symbol||"",u=n?.precision??2;return jsxRuntime.jsxs(ui.Flex,{justify:"between",px:2,children:[jsxRuntime.jsxs(ui.Text,{size:"2xs",intensity:36,children:["$",jsxRuntime.jsx(ui.Text.numeral,{dp:2,padding:false,rm:utils.Decimal.ROUND_DOWN,children:o})]}),jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[jsxRuntime.jsxs(ui.Text,{size:"2xs",intensity:36,children:[`${a("common.available")}: `,jsxRuntime.jsx(ui.Text.numeral,{rm:utils.Decimal.ROUND_DOWN,dp:u,padding:false,"data-testid":"oui-testid-withdraw_deposit-dialog-available-value",children:e}),` ${i}`]}),r&&jsxRuntime.jsx(ui.Spinner,{size:"sm"}),jsxRuntime.jsx(ui.Text,{size:"2xs",color:"primary",className:"oui-cursor-pointer oui-select-none",onClick:t.onClick,children:a("common.max")})]})]})};var Ft=()=>{let{t}=i18n.useTranslation(),{appIcons:o}=reactApp.useAppConfig(),e=hooks.useConfig("brokerName"),n=react.useMemo(()=>{let{secondary:r}=o||{};if(!r?.img&&r?.component)return null;if(r?.img)return jsxRuntime.jsx("img",{src:r?.img,className:"oui-w-5 oui-h-5"});if(r?.component)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:r.component})},[o]);return jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,children:t("transfer.brokerAccount",{brokerName:e})}),n]})};var Vt=t=>jsxRuntime.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...t,children:jsxRuntime.jsx("path",{d:"M10.997 8.004a.5.5 0 0 0-.14-.36l-1.86-1.843-.703.703.984 1h-7.28a.5.5 0 0 0 0 1h7.28l-.984 1 .703.703 1.86-1.844a.5.5 0 0 0 .14-.36m-.5-4a.5.5 0 0 0-.5-.5H2.716l.984-1-.703-.703-1.859 1.843a.515.515 0 0 0 0 .719l1.86 1.844.702-.703-.984-1h7.281a.5.5 0 0 0 .5-.5"})}),eo=t=>jsxRuntime.jsx("svg",{width:"20",height:"21",viewBox:"0 0 20 21",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...t,children:jsxRuntime.jsx("path",{d:"M9.994 5.51a.83.83 0 0 0-.832.833v6.295l-2.498-2.471-1.17 1.17 3.902 3.929a.84.84 0 0 0 .599.244.84.84 0 0 0 .597-.244l3.903-3.928-1.171-1.171-2.498 2.471V6.343a.83.83 0 0 0-.832-.833"})});var oo=t=>jsxRuntime.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...t,children:jsxRuntime.jsx("path",{d:"M6.00342 1.49561C4.97642 1.49561 3.99542 1.84011 3.20642 2.46461C2.98992 2.63561 2.95692 2.9511 3.12842 3.1676C3.29992 3.3841 3.61492 3.4171 3.83142 3.2456C4.44492 2.7601 5.20392 2.4956 6.00342 2.4956C7.93642 2.4956 9.50342 4.0626 9.50342 5.9956H8.50342L10.0034 7.9956L11.5034 5.9956H10.5034C10.5034 3.5101 8.48892 1.49561 6.00342 1.49561ZM2.00342 3.9956L0.503418 5.9956H1.50342C1.50342 8.4811 3.51792 10.4956 6.00342 10.4956C7.03092 10.4956 8.01142 10.1516 8.80042 9.52659C9.01692 9.35559 9.04992 9.0401 8.87842 8.8236C8.70692 8.6071 8.39191 8.5741 8.17542 8.7456C7.56142 9.2316 6.80342 9.4956 6.00342 9.4956C4.07042 9.4956 2.50342 7.9286 2.50342 5.9956H3.50342L2.00342 3.9956Z"})}),no=t=>jsxRuntime.jsx("svg",{width:"20",height:"21",viewBox:"0 0 20 21",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...t,children:jsxRuntime.jsx("path",{d:"M12.385 4.565a.6.6 0 0 0-.427.167L9.764 6.944l.837.837 1.19-1.17v8.66a.595.595 0 0 0 1.19 0v-8.66l1.189 1.17.836-.837-2.193-2.212a.6.6 0 0 0-.428-.167m-4.758.595a.595.595 0 0 0-.595.595v8.661l-1.19-1.17-.836.836L7.2 16.294a.61.61 0 0 0 .855 0l2.194-2.212-.837-.836-1.19 1.17V5.755a.595.595 0 0 0-.594-.595"})});var Pt=t=>{let{chains:o,value:e,wrongNetwork:n,loading:r}=t,[a,i]=react.useState(false),{t:u}=i18n.useTranslation(),s=n||o?.length>1,c=n?jsxRuntime.jsx(ui.Flex,{width:18,height:18,intensity:100,r:"full",justify:"center",itemAlign:"center",children:jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:80,children:"U"})}):jsxRuntime.jsx(ui.ChainIcon,{className:"oui-w-[18px] oui-h-[18px]",chainId:e?.id}),d=n?"Unknown":e?.info?.network_infos?.name,l=()=>{if(r)return jsxRuntime.jsx(ui.Spinner,{size:"sm"});if(s)return jsxRuntime.jsx(Vt,{className:"oui-text-base-contrast-54"})},m=jsxRuntime.jsxs(ui.Flex,{intensity:500,className:ui.cn("oui-rounded-t-xl oui-rounded-b-sm oui-border oui-border-line",s?"oui-cursor-pointer":"oui-cursor-auto"),height:54,px:3,justify:"between",itemAlign:"center",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.Flex,{children:jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:54,children:u("transfer.network")})}),jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[c,jsxRuntime.jsx(ui.Text,{size:"sm",intensity:80,children:d})]})]}),l()]}),x=o.map((h,p)=>{let f=h.chain_id===e?.id;return jsxRuntime.jsxs(ui.Flex,{px:2,r:"base",justify:"between",className:ui.cn("oui-deposit-network-select-item","hover:oui-bg-base-5 oui-h-[30px] oui-cursor-pointer",f&&"oui-bg-base-5",p!==0&&"oui-mt-[2px]"),onClick:async()=>{i(false),await t.onValueChange(h);},children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,itemAlign:"center",children:[jsxRuntime.jsx(ui.ChainIcon,{className:"oui-w-[18px] oui-h-[18px]",chainId:h.chain_id}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:54,children:h.name}),h.bridgeless&&jsxRuntime.jsx(ui.Flex,{className:"oui-bg-success-light/15",height:18,px:2,r:"base",justify:"center",itemAlign:"center",children:jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-text-success-light",children:u("transfer.lowestFee")})})]}),f&&jsxRuntime.jsx(ui.Box,{width:4,height:4,r:"full",className:"oui-deposit-network-select-active-dot oui-bg-[linear-gradient(270deg,#59B0FE_0%,#26FEFE_100%)]"})]},h.chain_id)});return jsxRuntime.jsxs(ui.DropdownMenuRoot,{open:s?a:false,onOpenChange:i,children:[jsxRuntime.jsx(ui.DropdownMenuTrigger,{asChild:true,children:m}),jsxRuntime.jsx(ui.DropdownMenuPortal,{children:jsxRuntime.jsx(ui.DropdownMenuContent,{onCloseAutoFocus:h=>h.preventDefault(),align:"start",sideOffset:2,className:ui.cn("oui-deposit-token-select-dropdown-menu-content","oui-bg-base-8 oui-p-1","oui-w-[var(--radix-dropdown-menu-trigger-width)]","oui-rounded-md oui-select-none"),children:jsxRuntime.jsx(ui.ScrollArea,{children:jsxRuntime.jsxs("div",{className:"oui-max-h-[254px]",children:[x," "]})})})})]})};var rt=({icon:t})=>jsxRuntime.jsxs(ui.Flex,{height:40,gapX:3,children:[jsxRuntime.jsx(ui.Flex,{height:1,className:"oui-flex-1 oui-bg-base-contrast-12"}),t||jsxRuntime.jsx(eo,{className:"oui-text-primary-light"}),jsxRuntime.jsx(ui.Flex,{height:1,className:"oui-flex-1 oui-bg-base-contrast-12"})]});var be=t=>{let{dstGasFee:o,feeQty:e,feeAmount:n,dp:r,nativeSymbol:a}=t,{t:i}=i18n.useTranslation(),u=()=>{let c=jsxRuntime.jsxs("div",{className:"oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:`${i("transfer.deposit.destinationGasFee")}: `}),jsxRuntime.jsx(ui.Text.numeral,{intensity:80,dp:r,rm:utils.Decimal.ROUND_UP,padding:false,children:e}),jsxRuntime.jsx(ui.Text,{intensity:54,children:a})]}),jsxRuntime.jsx(ui.Box,{mt:2,children:jsxRuntime.jsx(ui.Text,{intensity:36,children:i("transfer.deposit.destinationGasFee.description")})})]});ui.modal.alert({title:i("common.fee"),message:c});},s=!!o&&o!=="0";return jsxRuntime.jsxs(ui.Text,{size:"xs",intensity:36,className:"oui-border-dashed oui-border-b oui-border-line-12 oui-cursor-pointer",onClick:u,children:[`${i("common.fee")} \u2248 `,jsxRuntime.jsxs(ui.Text,{size:"xs",intensity:80,children:["$",jsxRuntime.jsx(ui.Text.numeral,{dp:2,padding:false,rm:utils.Decimal.ROUND_UP,children:n})," "]}),s&&jsxRuntime.jsxs("span",{children:["(",jsxRuntime.jsxs(ui.Text,{intensity:54,children:[jsxRuntime.jsx(ui.Text.numeral,{dp:r,padding:false,rm:utils.Decimal.ROUND_UP,children:e}),a]}),")"]})]})};function so(t,o){let[e,n]=react.useState(""),[r,a]=react.useState(false);return react.useEffect(()=>{r||typeof o!="function"||(a(true),o(t.address,t.decimals).then(i=>{n(i);}).catch(i=>{}).finally(()=>{a(false);}));},[t]),{balance:e,loading:r}}var lo=t=>{let{token:o,isActive:e,onTokenChange:n,fetchBalance:r}=t,{symbol:a,precision:i}=o,{balance:u,loading:s}=so(o,r),c=typeof r=="function",d=i??2,l=()=>c?s?jsxRuntime.jsx(ui.Spinner,{size:"sm"}):jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:d,rm:utils.Decimal.ROUND_DOWN,className:ui.cn("oui-text-base-contrast-80 group-hover:oui-text-base-contrast-54",e&&"oui-text-base-contrast-54"),children:u}):null;return jsxRuntime.jsxs(ui.Flex,{justify:"between",px:2,r:"base",className:ui.cn("group","oui-h-[30px] hover:oui-bg-base-5","oui-text-2xs oui-font-semibold","oui-cursor-pointer",e&&"oui-bg-base-5",t.index!==0&&"oui-mt-[2px]"),onClick:()=>{n?.(o);},children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.TokenIcon,{name:a,className:"oui-w-[16px] oui-h-[16px]"}),jsxRuntime.jsx(ui.Text,{className:ui.cn("oui-text-base-contrast-54 group-hover:oui-text-base-contrast-80",e&&"oui-text-base-contrast-80"),children:a})]}),l()]},a)};var $=react.forwardRef((t,o)=>{let{token:e,tokens:n=[],classNames:r,label:a,status:i,hintMessage:u,value:s,onValueChange:c,fetchBalance:d,onTokenChange:l,loading:m,placeholder:x,formatters:h,...p}=t,{t:f}=i18n.useTranslation(),w=react.useRef(null),[P,A]=react.useState(false),[S,M]=react.useState(0),N=react.useMemo(()=>n.map(C=>({...C,name:C.display_name||C.symbol})),[n]);react.useEffect(()=>{let C=w?.current?.getBoundingClientRect();M(C?.width||0);},[w]);let y=C=>{let E=n.find(G=>G.symbol===C);E&&l?.(E);},T=C=>{let E=C.symbol===e?.symbol;return jsxRuntime.jsx(lo,{token:C,fetchBalance:d,onTokenChange:G=>{l?.(G),A(false);},isActive:E})},D=jsxRuntime.jsxs(ui.Box,{children:[jsxRuntime.jsx(ui.Box,{className:"oui-absolute oui-top-0",children:jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:a||f("common.quantity")})}),m&&jsxRuntime.jsx(ui.Box,{className:"oui-absolute oui-bottom-1",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})]}),W=n.length>1,k=jsxRuntime.jsx("div",{className:"oui-absolute oui-right-0",children:jsxRuntime.jsx(ui.Select.tokens,{open:W?P:false,onOpenChange:A,disabled:p.disabled,variant:"text",tokens:N,value:e?.display_name||e?.symbol,size:p.size,onValueChange:y,showIcon:true,optionRenderer:T,contentProps:{onCloseAutoFocus:C=>{C.preventDefault(),w.current?.focus();},onClick:C=>{C.preventDefault(),w.current?.focus();},style:{width:S},align:"end",sideOffset:5,className:"oui-border oui-border-line-6"}})}),L=jsxRuntime.jsxs(ui.Flex,{mt:1,gapX:1,px:1,children:[jsxRuntime.jsx(ui.Box,{width:4,height:4,r:"full",className:ui.cn(i==="error"&&"oui-bg-danger-light",i==="warning"&&"oui-bg-warning-light")}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:ui.cn(i==="error"&&"oui-text-danger-light",i==="warning"&&"oui-text-warning-light"),children:u})]}),_=x??(m?"":"0");return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Input,{"data-testid":t.testId,ref:w,autoComplete:"off",placeholder:_,prefix:D,suffix:k,value:s,onValueChange:C=>{c?.(C);},formatters:h||[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(e?.precision??2),ui.inputFormatter.currencyFormatter],...p,classNames:{...r,root:ui.cn("oui-relative oui-h-[54px] oui-px-3","oui-rounded-lg oui-border oui-border-line",i==="error"&&"oui-outline-danger-light focus-within:oui-outline-danger-light",i==="warning"&&"oui-outline-warning-light focus-within:oui-outline-warning-light",t.readOnly?"oui-border-none oui-bg-base-6 focus-within:oui-outline-0":"oui-bg-base-5",r?.root),input:ui.cn("oui-absolute oui-bottom-0",r?.input)}}),u&&L]})});var Ae=t=>{let{token:o,dst:e,price:n}=t,r=o?.display_name||o?.symbol||"USDC";return jsxRuntime.jsx(ui.Flex,{children:jsxRuntime.jsxs(ui.Text,{size:"xs",intensity:36,className:t.className,children:[jsxRuntime.jsx(ui.Text,{size:"xs",intensity:80,children:"1"}),` ${r} = `,n?jsxRuntime.jsx(ui.Text.numeral,{size:"xs",intensity:80,dp:3,padding:false,children:n}):"-",` ${e?.symbol}`]})})};var Fe=()=>{let{t}=i18n.useTranslation(),{wallet:o,connectedChain:e}=hooks.useWalletConnector(),{state:n,account:r}=hooks.useAccount(),a=react.useMemo(()=>{let i=n.address;return e?.id&&types.ABSTRACT_CHAIN_ID_MAP.has(parseInt(e?.id))&&(i=r.getAdditionalInfo()?.AGWAddress),i},[o,n,r,e]);return jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,children:t("transfer.web3Wallet.your")}),jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.WalletIcon,{size:"xs",name:o?.label??""}),jsxRuntime.jsx(ui.Text.formatted,{size:"sm",intensity:54,rule:"address",children:a})]})]})};var Pe=t=>{let{token:o,tokens:e,onTokenChange:n,amount:r,quantity:a,maxQuantity:i,onQuantityChange:u,hintMessage:s,inputStatus:c,chains:d,currentChain:l,settingChain:m,onChainChange:x,actionType:h,onDeposit:p,onApprove:f,fetchBalance:w,dst:P,wrongNetwork:A,balanceRevalidating:S,loading:M,disabled:N,networkId:y,fee:T}=t;return jsxRuntime.jsxs(ui.Box,{id:"oui-deposit-form",className:ui.textVariants({weight:"semibold"}),children:[jsxRuntime.jsxs(ui.Box,{className:"oui-mb-6 lg:oui-mb-8",children:[jsxRuntime.jsx(Fe,{}),jsxRuntime.jsxs(ui.Box,{mt:3,mb:1,children:[jsxRuntime.jsx(Pt,{chains:d,value:l,onValueChange:x,wrongNetwork:A,loading:m}),jsxRuntime.jsx($,{classNames:{root:"oui-mt-[2px] oui-rounded-t-sm oui-rounded-b-xl"},value:a,onValueChange:u,tokens:e,token:o,onTokenChange:n,status:c,hintMessage:s,fetchBalance:w,"data-testId":"oui-testid-deposit-dialog-quantity-input"})]}),jsxRuntime.jsx(et,{token:o,amount:r,maxQuantity:i,loading:S,onClick:()=>{u(i);}}),jsxRuntime.jsx(rt,{}),jsxRuntime.jsx(Ft,{}),jsxRuntime.jsx($,{readOnly:true,token:P,value:a,classNames:{root:"oui-mt-3 oui-border-transparent focus-within:oui-outline-transparent"}}),jsxRuntime.jsxs(ui.Flex,{direction:"column",mt:1,gapY:1,itemAlign:"start",children:[jsxRuntime.jsx(Ae,{token:o,dst:P,price:1}),jsxRuntime.jsx(be,{...T})]})]}),jsxRuntime.jsx(ui.Flex,{justify:"center",children:jsxRuntime.jsx(pe,{actionType:h,symbol:o?.symbol,disabled:N,loading:M,onDeposit:p,onApprove:f,networkId:y})})]})};var wo=(t=[])=>{let o=t.reduce((e,n)=>(e[n.symbol]=n,e),{});return o.USDC||o.USDbC||t[0]},bo=t=>(t??2)+3;function yo(t){return /^0x[a-fA-F0-9]{64}$/.test(t)}function $t(t){return t===34?i18n.i18n.t("transfer.internalTransfer.error.transferInProgress"):t===17?i18n.i18n.t("transfer.internalTransfer.error.withdrawalInProgress"):t===35?i18n.i18n.t("transfer.internalTransfer.error.accountIdNotExist"):t===37?i18n.i18n.t("transfer.internalTransfer.error.transferToSelf"):t===46?i18n.i18n.t("transfer.internalTransfer.error.transferToSubAccount"):i18n.i18n.t("transfer.internalTransfer.error.default")}function Ne(t){let{isNativeToken:o,allowance:e,quantity:n,maxQuantity:r}=t;return react.useMemo(()=>{let i=o?Number.MAX_VALUE:Number(e);if(i<=0)return 1;let u=Number(n),s=Number(r);return i<u&&u<=s?2:0},[o,e,n,r])}function We(){let{t}=i18n.useTranslation(),o=hooks.useConfig("networkId"),[e]=hooks.useLocalStorage("orderly_link_device",{}),{connectedChain:n,settingChain:r,setChain:a}=hooks.useWalletConnector(),[i,{findByChainId:u}]=hooks.useChains(o,{pick:"network_infos",filter:d=>d.network_infos?.bridge_enable||d.network_infos?.bridgeless}),s=react.useMemo(()=>{let d=n?utils.praseChainIdToNumber(n.id):parseInt(e?.chainId);if(!d)return null;let l=u(d);return {...n,id:d,info:l}},[u,n,e]),c=react.useCallback(async d=>{let l=u(d.chain_id);if(n)return !l||l.network_infos?.chain_id===s?.id?Promise.resolve():a({chainId:utils.int2hex(Number(l.network_infos?.chain_id))}).then(m=>{m?ui.toast.success(t("connector.networkSwitched")):ui.toast.error(t("connector.switchChain.failed"));}).catch(m=>{m&&m.message&&ui.toast.error(`${t("connector.switchChain.failed")}: ${m.message}`);})},[s,a,u]);return {chains:i,currentChain:s,settingChain:r,onChainChange:c}}function Me(t){let{quantity:o,allowance:e,approve:n,deposit:r,enableCustomDeposit:a,customDeposit:i,onSuccess:u}=t,[s,c]=react.useState(false),d=hooks.useEventEmitter(),{t:l}=i18n.useTranslation(),m=react.useCallback(async()=>{if(!s)return c(true),n(o).then(p=>{ui.toast.success(l("transfer.deposit.approve.success"));}).catch(p=>{ui.toast.error(p.message||p.errorCode||l("transfer.deposit.approve.failed"));}).finally(()=>{c(false);})},[n,s,o,e,l]),x=react.useCallback(async()=>r().then(p=>{ui.toast.success(l("transfer.deposit.requested")),d.emit("deposit:requested"),u?.();}).catch(p=>{ui.toast.error(p.message||p.errorCode||l("transfer.deposit.failed"));}),[r,u,l]),h=react.useCallback(()=>{let p=Number(o);if(isNaN(p)||p<=0){ui.toast.error(l("transfer.quantity.invalid"));return}if(s)return;c(true),(a?i:x)?.()?.finally(()=>{c(false);});},[o,s,x,a,i,l]);return {submitting:s,onApprove:m,onDeposit:h}}function _e(t){let{quantity:o,maxQuantity:e}=t,{t:n}=i18n.useTranslation(),[r,a]=react.useState("default"),[i,u]=react.useState();return react.useEffect(()=>{if(!o){a("default"),u("");return}new utils.Decimal(o).gt(e)?(a("error"),u(n("transfer.insufficientBalance"))):(a("default"),u(""));},[o,e]),{inputStatus:r,hintMessage:i}}function Dt(t){let{currentChain:o,tokensFilter:e}=t,[n,r]=react.useState(),[a,i]=react.useState([]),u=react.useCallback(s=>{if(s&&s?.token_infos?.length>0){let c=typeof e=="function"?e(s):s.token_infos;i(c);let d=wo(c);if(!d)return;r(d);}},[e]);return react.useEffect(()=>{u(o?.info);},[o?.id,u]),{token:n,tokens:a,onTokenChange:r}}var ze=t=>{let{wrongNetwork:o}=reactApp.useAppContext(),e=hooks.useConfig("networkId"),{chains:n,currentChain:r,settingChain:a,onChainChange:i}=We(),{token:u,tokens:s,onTokenChange:c}=Dt({currentChain:r}),{dst:d,balance:l,allowance:m,depositFeeRevalidating:x,depositFee:h,quantity:p,setQuantity:f,approve:w,deposit:P,isNativeToken:A,balanceRevalidating:S,fetchBalance:M}=hooks.useDeposit({address:u?.address,decimals:u?.decimals,srcChainId:r?.id,srcToken:u?.symbol}),N=react.useMemo(()=>new utils.Decimal(l||0).todp(u?.precision??2,utils.Decimal.ROUND_DOWN).toString(),[l,u]),{inputStatus:y,hintMessage:T}=_e({quantity:p,maxQuantity:N}),D=()=>{f("");},W=react.useCallback(()=>{D(),t.onClose?.();},[t.onClose]),{submitting:k,onApprove:L,onDeposit:_}=Me({quantity:p,allowance:m,approve:w,deposit:P,onSuccess:W}),C=k||x,E=!p||Number(p)===0||!u||y==="error"||x,G=react.useMemo(()=>new utils.Decimal(p||0).mul(1).toNumber(),[p]),ut=Ne({isNativeToken:A,allowance:m,quantity:p,maxQuantity:N}),ct=vr({nativeToken:r?.info?.nativeToken,depositFee:h});return react.useEffect(()=>{D();},[u,r?.id]),{token:u,tokens:s,onTokenChange:c,amount:G,quantity:p,maxQuantity:N,onQuantityChange:f,hintMessage:T,inputStatus:y,chains:n,currentChain:r,settingChain:a,onChainChange:i,actionType:ut,onDeposit:_,onApprove:L,fetchBalance:M,dst:d,wrongNetwork:o,balanceRevalidating:S,loading:C,disabled:E,networkId:e,fee:ct}};function vr(t){let{nativeToken:o,depositFee:e=0}=t,{account:n}=hooks.useAccount(),r=o?.symbol,{data:a}=hooks.useIndexPrice(`SPOT_${r}_USDC`);return {...react.useMemo(()=>{let u=new utils.Decimal(e.toString()).div(new utils.Decimal(10).pow(n.walletAdapter?.chainNamespace===types.ChainNamespace.solana?9:18)).toString(),s=new utils.Decimal(u).mul(a||0).toString();return {dstGasFee:u,feeQty:u,feeAmount:s,dp:bo(4)}},[e,a]),nativeSymbol:r}}var Xt=t=>{let o=ze(t);return jsxRuntime.jsx(Pe,{...o})};var Ao=t=>{let{value:o,onChange:e,status:n,hintMessage:r,placeholder:a,label:i}=t,u=react.useRef(null),s=l=>{e?.(l.target.value);let m=u.current;m&&(m.style.height="auto",m.style.height=`${m.scrollHeight}px`);};react.useEffect(()=>{let l=u.current;l&&(l.style.height="auto",l.style.height=`${l.scrollHeight}px`);},[o]);let c=jsxRuntime.jsx("div",{className:"oui-absolute oui-left-3 oui-top-0.5 oui-z-[1]",children:jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:i})}),d=jsxRuntime.jsxs(ui.Flex,{mt:1,gapX:1,px:1,children:[jsxRuntime.jsx(ui.Box,{width:4,height:4,r:"full",className:ui.cn(n==="error"&&"oui-bg-danger-light",n==="warning"&&"oui-bg-warning-light")}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:ui.cn(n==="error"&&"oui-text-danger-light",n==="warning"&&"oui-text-warning-light"),children:r})]});return jsxRuntime.jsxs("div",{className:"oui-relative",children:[c,jsxRuntime.jsx("textarea",{ref:u,placeholder:a,className:ui.cn("oui-resize-none oui-overflow-y-hidden","oui-relative oui-min-h-[54px] oui-px-3 oui-pb-2 oui-pt-5","oui-w-full oui-bg-base-5 oui-text-sm oui-text-base-contrast","oui-rounded-lg oui-outline-none","oui-border oui-border-line focus:oui-border-primary-light",n==="error"&&"oui-border-danger-light focus-within:oui-border-danger-light focus:oui-border-danger-light",n==="warning"&&"oui-border-warning-light focus-within:oui-border-warning-light focus:oui-border-warning-light",t.className),rows:1,value:o,onChange:s}),r&&d]})};var Zt=t=>{let{hasPositions:o,unsettledPnl:e,onSettlePnl:n,tooltipContent:r,dialogContent:a}=t,{t:i}=i18n.useTranslation();if(e===0&&!o)return jsxRuntime.jsx(jsxRuntime.Fragment,{});let u=()=>{ui.modal.confirm({title:i("settle.settlePnl"),content:a,onOk:()=>n()});};return jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-text-2xs oui-text-base-contrast-36",children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"start",gap:1,children:[jsxRuntime.jsx(ui.Tooltip,{className:"oui-max-w-[274px] oui-font-semibold",content:r,children:jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"start",gap:1,children:[jsxRuntime.jsx(ui.ExclamationFillIcon,{size:14,className:"oui-text-warning-darken"}),jsxRuntime.jsx(ui.Text,{className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",children:`${i("settle.unsettled")}:`})]})}),jsxRuntime.jsx(ui.Text.numeral,{showIdentifier:true,coloring:true,weight:"semibold",dp:6,"data-testid":"oui-testid-withdraw-dialog-unsettledPnl-value",children:e}),jsxRuntime.jsx(ui.Text,{children:"USDC"})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gap:1,className:"oui-cursor-pointer",children:[jsxRuntime.jsx(oo,{className:"oui-text-primary"}),jsxRuntime.jsx(ui.Text,{"data-testid":"oui-testid-withdraw-dialog-settle-text",size:"2xs",color:"primary",className:" oui-select-none",onClick:u,children:i("common.settle")})]})]})};var So=({address:t,amount:o,currentChain:e})=>{let{t:n}=i18n.useTranslation(),r=react.useMemo(()=>{if(e&&e.info&&e.info.network_infos)return e.info.network_infos.name},[e]);return jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",justify:"start",className:"oui-gap-1 lg:oui-gap-3",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",mb:5,className:"oui-gap-3 lg:oui-gap-4",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",justify:"start",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:n("transfer.withdraw.crossChain.recipientAddress")}),jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,className:"oui-break-all",children:t})]}),jsxRuntime.jsxs(ui.Flex,{direction:"column",justify:"start",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:n("transfer.withdraw.crossChain.recipientNetwork")}),jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.ChainIcon,{className:"oui-h-[18px] oui-w-[18px]",size:"sm",chainId:e.id}),jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,children:r})]})]}),jsxRuntime.jsxs(ui.Flex,{direction:"column",justify:"start",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:`${n("transfer.withdraw.crossChain.withdrawAmount")} (USDC)`}),jsxRuntime.jsx(ui.Text.numeral,{size:"sm",intensity:98,dp:2,children:o})]})]}),jsxRuntime.jsx(ui.Flex,{justify:"center",className:"oui-text-warning-darken oui-text-2xs lg:oui-text-xs oui-text-center",mb:3,children:n("transfer.withdraw.crossChain.warning")})]})};function Re(t){let{t:o}=i18n.useTranslation(),e=()=>{ui.modal.show(uiChainSelector.ChainSelectorDialogId,{networkId:t.networkId,bridgeLessOnly:true}).then(n=>{ui.toast.success(o("connector.networkSwitched"));},n=>{});};return jsxRuntime.jsx(ui.Flex,{direction:"column",children:jsxRuntime.jsx(ui.Button,{color:"warning",size:t.size,fullWidth:true,onClick:()=>{e();},children:o("connector.switchNetwork")})})}var Po=t=>{let{disabled:o,loading:e,onWithdraw:n,networkId:r,crossChainWithdraw:a,address:i,currentChain:u,quantity:s,fee:c,checkIsBridgeless:d,onTransfer:l}=t,{t:m}=i18n.useTranslation(),x=react.useMemo(()=>s?new utils.Decimal(s).minus(c??0).toNumber():0,[s,c]),h=()=>{if(a){ui.modal.confirm({title:m("transfer.withdraw.crossChain.confirmWithdraw"),content:jsxRuntime.jsx(So,{address:i,amount:x,currentChain:u}),classNames:{content:"oui-font-semibold",body:"!oui-pb-0",footer:"!oui-pt-0"},onOk:async()=>{n();}});return}n();},p={initial:"md",lg:"lg"},f=()=>t.withdrawTo==="accountId"?jsxRuntime.jsx(ui.Button,{fullWidth:true,disabled:o,loading:e,onClick:l,size:p,children:m("common.withdraw")}):d?jsxRuntime.jsx(ui.Button,{"data-testid":"oui-testid-withdraw-dialog-withdraw-btn",fullWidth:true,disabled:o,loading:e,onClick:h,size:p,children:m("common.withdraw")}):jsxRuntime.jsx(Re,{networkId:r,size:p});return jsxRuntime.jsx(ui.Box,{className:"oui-w-full lg:oui-w-auto lg:oui-min-w-[184px]",children:jsxRuntime.jsx(uiConnector.AuthGuard,{status:types.AccountStatusEnum.EnableTrading,networkId:r,bridgeLessOnly:true,buttonProps:{fullWidth:true,size:p},children:f()})})};var Bo=({checkIsBridgeless:t,quantity:o,chainVaultBalance:e,currentChain:n,maxAmount:r,crossChainTrans:a})=>{let{t:i}=i18n.useTranslation(),{wrongNetwork:u}=reactApp.useAppContext(),{state:s}=hooks.useAccount(),c=react.useMemo(()=>{if(n&&n.info&&n.info.network_infos)return n.info.network_infos.name},[n]),d=react.useMemo(()=>!e||!r||!o||new utils.Decimal(o).gt(r)?false:!!new utils.Decimal(o).gt(e),[o,e]),m=(()=>{if(s.status!==types.AccountStatusEnum.NotConnected){if(u||!t)return jsxRuntime.jsx(ui.Box,{children:c?i("transfer.withdraw.unsupported.networkName",{networkName:c}):i("transfer.withdraw.unsupported.chain")});if(a)return i("transfer.withdraw.crossChain.process");if(d)return i("transfer.withdraw.crossChain.vaultWarning",{networkName:c,chainVaultBalance:e})}})();return m?jsxRuntime.jsx(ui.Flex,{className:"oui-text-warning-darken oui-text-xs oui-justify-center oui-text-center",mb:3,children:m}):null};var Qe=t=>{let{address:o,loading:e,disabled:n,quantity:r,onQuantityChange:a,token:i,amount:u,maxQuantity:s,chains:c,currentChain:d,fee:l,settingChain:m,chainVaultBalance:x,crossChainTrans:h,checkIsBridgeless:p,withdrawTo:f}=t,{t:w}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Box,{id:"oui-withdraw-form",className:ui.textVariants({weight:"semibold"}),children:[jsxRuntime.jsxs(ui.Box,{className:"oui-mb-6 lg:oui-mb-8",children:[jsxRuntime.jsx(Ft,{}),jsxRuntime.jsx(ui.Box,{mt:3,mb:1,children:jsxRuntime.jsx($,{value:r,onValueChange:a,token:i,onTokenChange:()=>{},status:t.inputStatus,hintMessage:t.hintMessage,testId:"oui-testid-withdraw-dialog-quantity-input"})}),jsxRuntime.jsx(et,{token:i,amount:u,maxQuantity:s.toString(),loading:t.balanceRevalidating,onClick:()=>{a(s.toString());}}),jsxRuntime.jsx(ui.Box,{mx:2,mt:1,children:jsxRuntime.jsx(Zt,{unsettledPnl:t.unsettledPnL,hasPositions:t.hasPositions,onSettlePnl:t.onSettlePnl,tooltipContent:w("settle.unsettled.tooltip"),dialogContent:jsxRuntime.jsx(i18n.Trans,{i18nKey:"settle.settlePnl.description"})})}),jsxRuntime.jsx(rt,{}),jsxRuntime.jsxs(ui.Tabs,{value:f,onValueChange:t.setWithdrawTo,variant:"contained",size:"lg",classNames:{tabsList:"oui-px-0",tabsContent:"oui-pt-3"},children:[jsxRuntime.jsxs(ui.TabPanel,{title:w("transfer.web3Wallet.my"),icon:jsxRuntime.jsx(ui.WalletIcon,{size:"xs",name:t.walletName??""}),value:"wallet",children:[jsxRuntime.jsx(Pt,{chains:c,value:d,onValueChange:t.onChainChange,wrongNetwork:t.wrongNetwork,loading:m}),jsxRuntime.jsx($,{classNames:{root:"oui-mt-[2px] oui-rounded-t-sm oui-rounded-b-xl"},token:i,value:t.showQty,readOnly:true})]}),jsxRuntime.jsxs(ui.TabPanel,{title:w("transfer.withdraw.otherAccount",{brokerName:t.brokerName}),value:"accountId",children:[jsxRuntime.jsx(Ao,{label:w("common.accountId"),value:t.toAccountId,onChange:t.setToAccountId,status:t.toAccountIdInputStatus,hintMessage:t.toAccountIdHintMessage}),jsxRuntime.jsx(ui.Box,{my:2,children:jsxRuntime.jsx(ui.Text,{size:"xs",intensity:54,children:w("transfer.withdraw.accountId.tips")})})]})]}),jsxRuntime.jsx(ui.Flex,{direction:"column",mt:1,gapY:1,itemAlign:"start",children:jsxRuntime.jsxs(ui.Text,{size:"xs",intensity:36,children:[w("common.fee"),f==="wallet"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[" \u2248 ",jsxRuntime.jsx(ui.Text,{size:"xs",intensity:80,children:l})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[" = ",jsxRuntime.jsx(ui.Text,{size:"xs",intensity:80,children:"0"})]}),jsxRuntime.jsx(ui.Text,{children:" USDC"})]})})]}),jsxRuntime.jsx(Bo,{checkIsBridgeless:p,chainVaultBalance:x,currentChain:d,quantity:r,maxAmount:s,crossChainTrans:h}),jsxRuntime.jsx(ui.Flex,{justify:"center",children:jsxRuntime.jsx(Po,{checkIsBridgeless:p,networkId:t.networkId,disabled:n,loading:e,onWithdraw:t.onWithdraw,crossChainWithdraw:t.crossChainWithdraw,currentChain:d,address:o,quantity:r,fee:l,withdrawTo:f,onTransfer:t.onTransfer})})]})};var te=t=>{let{subAccountId:o}=t||{},{t:e}=i18n.useTranslation(),n=hooks.useEventEmitter(),{account:r}=hooks.useAccount(),[a]=hooks.usePositionStream();return {hasPositions:react.useMemo(()=>!!a?.rows?.length,[a]),onSettlePnl:async()=>(o?r.settleSubAccount({subAccountId:o}):r.settle()).then(c=>(ui.toast.success(e("settle.settlement.requested")),Promise.resolve(c))).catch(c=>{if(c.code==-1104)ui.toast.error(e("settle.settlement.error"));else if(c.message.indexOf("Signing off chain messages with Ledger is not yet supported")!==-1)n.emit("wallet:sign-message-with-ledger-error",{message:c.message,userAddress:r.address});else if(c.message.indexOf("user rejected")!==-1)ui.toast.error(e("transfer.rejectTransaction"));else return ui.toast.error(c.message),Promise.reject(c)})}};var zo=1,Ve=t=>{let{t:o}=i18n.useTranslation(),[e,n]=react.useState(false),[r,a]=react.useState(false),{data:i}=hooks.usePrivateQuery("/v1/asset/history",{revalidateOnMount:true}),u=hooks.useConfig(),s=u.get("brokerName"),c=u.get("networkId"),d=hooks.useEventEmitter(),[l,m]=react.useState(""),[x,h]=react.useState("default"),[p,f]=react.useState(),{wrongNetwork:w}=reactApp.useAppContext(),{account:P}=hooks.useAccount(),[A,{findByChainId:S}]=hooks.useChains(c,{pick:"network_infos",filter:g=>g.network_infos?.bridge_enable||g.network_infos?.bridgeless}),[M]=hooks.useLocalStorage("orderly_link_device",{}),{data:N}=hooks.useQuery("/v1/public/vault_balance",{revalidateOnMount:true}),{connectedChain:y,wallet:T,setChain:D,settingChain:W}=hooks.useWalletConnector(),k=react.useMemo(()=>{let g=y?utils.praseChainIdToNumber(y.id):parseInt(M?.chainId);if(!g)return null;let O=S(g);return {...y,id:g,info:O}},[S,y,M]),{token:L}=Dt({currentChain:k}),_=react.useMemo(()=>({...L,precision:L?.precision??6}),[L]),{walletName:C,address:E}=react.useMemo(()=>({walletName:T?.label,address:T?.accounts?.[0].address}),[T]),G=g=>{m(g);},ut=react.useMemo(()=>new utils.Decimal(l||0).mul(zo).toNumber(),[l,zo]),{dst:ct,withdraw:kt,isLoading:re,maxAmount:U,availableBalance:Ke,availableWithdraw:Ye,unsettledPnL:lt}=hooks.useWithdraw({decimals:_?.decimals}),zt=Wi({symbol:_.symbol,quantity:l,setQuantity:m,close:t.onClose,setLoading:a}),{withdrawTo:ie,toAccountId:se}=zt,mt=react.useMemo(()=>c==="mainnet"?A.filter(g=>g.bridgeless):A,[A,c]),{configStore:ae}=react.useContext(hooks.OrderlyContext),ue=ae.get("apiBaseUrl"),b=react.useMemo(()=>w||!k?false:c==="testnet"?true:!(!k.info||!k.info.network_infos||!k.info.network_infos.bridgeless),[k,w]),B=()=>{m("");},It=react.useCallback(async g=>{let O=S(g.chain_id);return !O||O.network_infos?.chain_id===k?.id?Promise.resolve():D?.({chainId:utils.int2hex(Number(O.network_infos?.chain_id))}).then(At=>{At?(ui.toast.success(o("connector.networkSwitched")),B()):ui.toast.error(o("connector.switchChain.failed"));}).catch(At=>{ui.toast.error(`${o("connector.switchChain.failed")}: ${At.message}`);})},[k,D,S,o]),Et=react.useMemo(()=>{if(!N||!k)return null;let g=N.find(O=>parseInt(O.chain_id)===k?.id);return g?g.balance:null},[mt,k,N]),ce=react.useMemo(()=>{if(Et!==null){let g=parseFloat(l);return g>Et&&g<=U}return false},[l,U,Et]),Ze=react.useMemo(()=>mt.minimum_withdraw_amount??1,[mt]),Yo=async()=>{if(!r&&x==="default"){if(new utils.Decimal(l).lt(Ze)){ui.toast.error(o("transfer.withdraw.minAmount.error",{minAmount:Ze}));return}return a(true),kt({amount:l,token:"USDC",chainId:k?.id,allowCrossChainWithdraw:ce}).then(g=>{ui.toast.success(o("transfer.withdraw.requested")),d.emit("withdraw:requested"),t.onClose?.(),m("");}).catch(g=>{if(g.message.indexOf("user rejected")!==-1){ui.toast.error(o("transfer.rejectTransaction"));return}if(g.message.indexOf("Signing off chain messages with Ledger is not yet supported")!==-1){d.emit("wallet:sign-message-with-ledger-error",{message:g.message,userAddress:P.address});return}ui.toast.error(g.message);}).finally(()=>{a(false);})}},le=Bi({apiBaseUrl:ue,crossChainWithdraw:ce,currentChain:k,token:_.symbol}),Zo=react.useMemo(()=>{if(!l)return "";let g=new utils.Decimal(l).sub(le??0);return g.isNegative()?"":g.toNumber()},[le,l]);react.useEffect(()=>{if(!l){h("default"),f("");return}let g=new utils.Decimal(l??0);lt<0?g.gt(U)?(h("error"),f(o("transfer.insufficientBalance"))):(h("default"),f("")):g.gt(U)?(h("error"),f(o("transfer.insufficientBalance"))):g.gt(new utils.Decimal(U).minus(lt))&&g.lessThanOrEqualTo(U)?(h("warning"),f(o("settle.settlePnl.warning"))):(h("default"),f(""));},[l,U,lt,e]);let Jo=e||!l||Number(l)===0||["error","warning"].includes(x)||ie==="accountId"&&!se;react.useEffect(()=>{let g=i?.find(O=>O.trans_status==="pending_rebalance".toUpperCase());n(!!g);},[i]),hooks.useWalletSubscription({onMessage(g){if(!e)return;let{trxId:O,transStatus:At}=g;O===e&&At==="COMPLETED"&&n(false);}});let{hasPositions:tn,onSettlePnl:en}=te();return {walletName:C,address:E,quantity:l,onQuantityChange:G,token:_,inputStatus:x,hintMessage:p,dst:ct,amount:ut,balanceRevalidating:false,maxQuantity:U,disabled:Jo,loading:r,unsettledPnL:lt,wrongNetwork:w,settingChain:W,chains:mt,currentChain:k,onChainChange:It,onWithdraw:Yo,chainVaultBalance:Et,fee:le,crossChainWithdraw:ce,crossChainTrans:e,showQty:Zo,networkId:c,checkIsBridgeless:b,hasPositions:tn,onSettlePnl:en,brokerName:s,...zt}};function Wi(t){let{symbol:o,quantity:e,setQuantity:n,close:r,setLoading:a}=t,{t:i}=i18n.useTranslation(),[u,s]=react.useState("wallet"),[c,d]=react.useState(""),[l,m]=react.useState("default"),[x,h]=react.useState(),{transfer:p,submitting:f}=hooks.useTransfer(),w=react.useCallback(()=>{let P=Number(e);if(isNaN(P)||P<=0){ui.toast.error(i("transfer.quantity.invalid"));return}f||!c||(a(true),p(o,{account_id:c,amount:new utils.Decimal(e).toNumber()}).then(()=>{ui.toast.success(i("transfer.internalTransfer.success")),n(""),r?.();}).catch(A=>{let S=$t(A.code);ui.toast.error(S);}).finally(()=>{a(false);}));},[i,e,o,f,c,p]);return react.useEffect(()=>{if(!c){m("default"),h("");return}yo(c)?(m("default"),h("")):(m("error"),h(i("transfer.withdraw.accountId.invalid")));},[c]),{withdrawTo:u,setWithdrawTo:s,toAccountId:c,setToAccountId:d,onTransfer:w,internalWithdrawSubmitting:f,toAccountIdInputStatus:l,toAccountIdHintMessage:x}}function Bi(t){let{apiBaseUrl:o,crossChainWithdraw:e,currentChain:n,token:r}=t,{data:a}=hooks.useQuery(`${o}/v1/public/token?t=withdraw`,{revalidateIfStale:false,revalidateOnFocus:false,revalidateOnReconnect:false,revalidateOnMount:true,dedupingInterval:36e5});return react.useMemo(()=>{if(!n)return 0;let s=a?.find(c=>c.token===r)?.chain_details?.find(c=>parseInt(c.chain_id)===n.id);return s?e?(s.withdrawal_fee||0)+(s.cross_chain_withdrawal_fee||0):s.withdrawal_fee||0:0},[a,r,n,e])}var qe=t=>{let o=Ve({onClose:t.close});return jsxRuntime.jsx(Qe,{...o})};function zi(){ui.installExtension({name:"deposit-form",scope:["*"],positions:[ui.ExtensionPositionEnum.DepositForm],__isInternal:true})(t=>jsxRuntime.jsx(Xt,{onClose:t.onClose}));}var Vo=t=>jsxRuntime.jsx(ui.ExtensionSlot,{position:ui.ExtensionPositionEnum.DepositForm,defaultWidget:Xt,...t});var Gi="DepositAndWithdrawWithDialogId",Hi="DepositAndWithdrawWithSheetId",Go=t=>{let[o,e]=react.useState(t.activeTab||"deposit"),{t:n}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Tabs,{value:o,onValueChange:e,variant:"contained",size:"lg",classNames:{tabsList:"oui-px-0",tabsContent:"oui-pt-5"},children:[jsxRuntime.jsx(ui.TabPanel,{title:n("common.deposit"),icon:jsxRuntime.jsx(ui.ArrowDownSquareFillIcon,{}),value:"deposit",children:jsxRuntime.jsx(Vo,{onClose:t.close})}),jsxRuntime.jsx(ui.TabPanel,{title:n("common.withdraw"),icon:jsxRuntime.jsx(ui.ArrowUpSquareFillIcon,{}),value:"withdraw",children:jsxRuntime.jsx(qe,{...t})})]})};ui.registerSimpleDialog(Gi,Go,{size:"md",classNames:{content:"oui-border oui-border-line-6"}});ui.registerSimpleSheet(Hi,Go);var Ge=t=>{let{subAccounts:o=[],value:e}=t,[n,r]=react.useState(false),a=o.length>1,i=jsxRuntime.jsxs(ui.Flex,{intensity:500,className:ui.cn("oui-rounded-b-sm oui-rounded-t-xl oui-border oui-border-line",a?"oui-cursor-pointer":"oui-cursor-auto oui-bg-base-6"),height:54,px:3,justify:"between",itemAlign:"center",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text.formatted,{size:"xs",intensity:80,rule:e?.description?void 0:"address",children:e?.description||e?.id}),jsxRuntime.jsxs(ui.Text,{intensity:36,size:"2xs",children:["ID: ",jsxRuntime.jsx(ui.Text.formatted,{rule:"address",children:e?.id})]})]}),a&&jsxRuntime.jsx(Vt,{className:"oui-text-base-contrast-54"})]}),u=o.map((s,c)=>{let d=s.id===e?.id,l=s?.holding?.find(m=>m.token==="USDC")?.holding;return jsxRuntime.jsxs(ui.Flex,{px:2,r:"base",justify:"between",className:ui.cn("oui-transfer-form-account-select-item","oui-cursor-pointer oui-py-[6px] hover:oui-bg-base-5",d&&"oui-bg-base-5",c!==0&&"oui-mt-[2px]"),onClick:async()=>{r(false),t.onValueChange?.(s);},children:[jsxRuntime.jsx(ui.Flex,{gapX:1,itemAlign:"center",children:jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-text-2xs",children:[jsxRuntime.jsx(ui.Text.formatted,{rule:s?.description?void 0:"address",intensity:80,children:s?.description||s?.id}),jsxRuntime.jsxs(ui.Text,{intensity:36,size:"2xs",children:["ID: ",jsxRuntime.jsx(ui.Text.formatted,{rule:"address",children:s?.id})]})]})}),jsxRuntime.jsxs(ui.Flex,{gapX:3,children:[jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",intensity:54,unit:" USDC",children:l||0}),d&&jsxRuntime.jsx(ui.Box,{width:4,height:4,r:"full",className:"oui-transfer-form-account-select-active-dot oui-bg-[linear-gradient(270deg,#59B0FE_0%,#26FEFE_100%)]"})]})]},s.id)});return jsxRuntime.jsxs(ui.DropdownMenuRoot,{open:a?n:false,onOpenChange:r,children:[jsxRuntime.jsx(ui.DropdownMenuTrigger,{asChild:true,children:i}),jsxRuntime.jsx(ui.DropdownMenuPortal,{children:jsxRuntime.jsx(ui.DropdownMenuContent,{onCloseAutoFocus:s=>s.preventDefault(),align:"start",sideOffset:2,className:ui.cn("oui-transfer-form-account-select-dropdown-menu-content","oui-font-semibold","oui-bg-base-8 oui-p-1","oui-w-[var(--radix-dropdown-menu-trigger-width)]","oui-select-none oui-rounded-md"),children:jsxRuntime.jsx(ui.ScrollArea,{children:jsxRuntime.jsxs("div",{className:"oui-max-h-[254px]",children:[u," "]})})})})]})};var He=t=>{let{networkId:o,disabled:e,onTransfer:n,quantity:r,onQuantityChange:a,amount:i,tokens:u,token:s,onTokenChange:c,maxQuantity:d,submitting:l,hintMessage:m,inputStatus:x,hasPositions:h,onSettlePnl:p,unsettledPnL:f,toAccountAsset:w,fromAccounts:P,toAccounts:A,fromAccount:S,onFromAccountChange:M,toAccount:N,onToAccountChange:y,onExchange:T}=t,{t:D}=i18n.useTranslation(),W={initial:"md",lg:"lg"};return jsxRuntime.jsxs(ui.Box,{id:"oui-deposit-form",className:ui.textVariants({weight:"semibold"}),children:[jsxRuntime.jsxs(ui.Box,{className:"oui-mb-6 lg:oui-mb-8",children:[jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,children:D("transfer.internalTransfer.from")}),jsxRuntime.jsxs(ui.Box,{mt:1,mb:1,children:[jsxRuntime.jsx(Ge,{subAccounts:P,value:S,onValueChange:M}),jsxRuntime.jsx($,{classNames:{root:"oui-mt-[2px] oui-rounded-t-sm oui-rounded-b-xl"},value:r,onValueChange:a,tokens:u,token:s,onTokenChange:c,hintMessage:m,status:x})]}),jsxRuntime.jsx(et,{token:s,amount:i,maxQuantity:d,onClick:()=>{a(d.toString());}}),jsxRuntime.jsx(ui.Box,{mx:2,mt:1,children:jsxRuntime.jsx(Zt,{unsettledPnl:f,hasPositions:h,onSettlePnl:p,tooltipContent:D("transfer.internalTransfer.unsettled.tooltip"),dialogContent:jsxRuntime.jsx(i18n.Trans,{i18nKey:"transfer.internalTransfer.settlePnl.description"})})}),jsxRuntime.jsx(rt,{icon:jsxRuntime.jsx(no,{className:"oui-cursor-pointer oui-text-primary",onClick:T})}),jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,children:D("transfer.internalTransfer.to")}),jsxRuntime.jsxs(ui.Box,{mt:1,children:[jsxRuntime.jsx(Ge,{subAccounts:A,value:N,onValueChange:y}),jsxRuntime.jsxs(ui.Flex,{className:ui.cn("oui-mt-[2px] oui-h-[31px] oui-text-base-contrast-54","oui-rounded-b-xl oui-rounded-t-sm"),justify:"between",itemAlign:"center",px:3,intensity:600,children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:D("transfer.internalTransfer.currentAssetValue")}),jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",intensity:54,unit:" USDC",children:w})]})]})]}),jsxRuntime.jsx(ui.Flex,{justify:"center",children:jsxRuntime.jsx(ui.Box,{className:"oui-w-full lg:oui-w-auto lg:oui-min-w-[184px]",children:jsxRuntime.jsx(uiConnector.AuthGuard,{networkId:o,buttonProps:{fullWidth:true,size:W},children:jsxRuntime.jsx(ui.Button,{fullWidth:true,disabled:e,loading:l,size:W,onClick:n,children:D("common.transfer")})})})})]})};var Xe={symbol:"USDC"},je=t=>{let{t:o}=i18n.useTranslation(),[e,n]=react.useState(""),[r,a]=react.useState(),[i,u]=react.useState(),[s,c]=react.useState(),[d,l]=react.useState([Xe]),[m,x]=react.useState(Xe),h=hooks.useConfig("networkId"),{state:p,isMainAccount:f,subAccount:w}=hooks.useAccount(),{transfer:P,submitting:A,maxAmount:S,unsettledPnL:M,holding:N}=hooks.useTransfer({fromAccountId:r?.id}),y=p.subAccounts,T=p.mainAccountId,D=p.accountId,W=f?r?.id!==T?r?.id:void 0:r?.id,{hasPositions:k,onSettlePnl:L}=te({subAccountId:W}),{portfolio:_,positions:C}=hooks.useSubAccountDataObserver(W),E=react.useMemo(()=>!!C?.rows?.length,[C]),G=react.useMemo(()=>W?E:k,[W,E,k]),{unsettledPnL:ut,holding:ct,maxQuantity:kt}=react.useMemo(()=>W?{unsettledPnL:_?.unsettledPnL,holding:_?.holding,maxQuantity:_?.freeCollateral.toDecimalPlaces(6).toNumber()||0}:{holding:N,unsettledPnL:M,maxQuantity:S},[W,_,N,M,S]),{inputStatus:re,hintMessage:U}=ms({quantity:e,maxQuantity:kt,unsettledPnL:ut}),Ke=react.useCallback(()=>{let b=Number(e);if(isNaN(b)||b<=0){ui.toast.error(o("transfer.quantity.invalid"));return}A||!i||P(m.symbol,{account_id:i.id,amount:new utils.Decimal(e).toNumber()}).then(()=>{ui.toast.success(o("transfer.internalTransfer.success")),n(""),t.close?.();}).catch(B=>{let It=$t(B.code);ui.toast.error(It);});},[o,m,e,A,P,i]),Ye=A||!e||re==="error",lt=react.useMemo(()=>new utils.Decimal(e||0).mul(1).toNumber(),[e]),zt=react.useMemo(()=>i?.holding?.find(B=>B.token===m.symbol)?.holding||0,[i,m]),{fromAccounts:ie,toAccounts:se}=react.useMemo(()=>f?{fromAccounts:s?[s,...y||[]]:[],toAccounts:r?.id===T?y:[]}:{fromAccounts:[],toAccounts:[]},[f,T,s,y,r]);react.useEffect(()=>{if(!T)return;let b={id:T,description:o("common.mainAccount"),holding:[]};c(b),w.refresh().then(B=>{c({...b,holding:B[T]});});},[o,T]),react.useEffect(()=>{a(f?s:y?.find(b=>b.id===D));},[f,s,y,D]),react.useEffect(()=>{if(f){let b=y?.[0],B=t.toAccountId&&y?.find(It=>It.id===t.toAccountId)||b;B&&u(B);}else u(s);},[t?.toAccountId,f,s,y]),react.useEffect(()=>{let b=ct?.map(B=>({symbol:B.token}));b?.length&&(l(b),x(b?.[0]||Xe));},[ct]);let mt=react.useCallback(b=>{a(b);let B=y?.[0];if(b?.id===T){u(B);return}if(b?.id&&b?.id!==T){u(s);return}},[T,s,y]),ae=react.useCallback(b=>{u(b);},[]),ue=react.useCallback(()=>{a(i),u(r);},[r,i]);return {networkId:h,onTransfer:Ke,quantity:e,amount:lt,onQuantityChange:n,maxQuantity:kt,tokens:d,token:m,onTokenChange:x,disabled:Ye,submitting:A,hintMessage:U,inputStatus:re,hasPositions:G,onSettlePnl:L,unsettledPnL:ut,toAccountAsset:zt,fromAccount:r,toAccount:i,fromAccounts:ie,onFromAccountChange:mt,toAccounts:se,onToAccountChange:ae,onExchange:ue,isMainAccount:f}};function ms(t){let{quantity:o,maxQuantity:e,unsettledPnL:n=0}=t,{t:r}=i18n.useTranslation(),[a,i]=react.useState("default"),[u,s]=react.useState();return react.useEffect(()=>{if(!o){i("default"),s("");return}let c=new utils.Decimal(o);n<0?c.gt(e)?(i("error"),s(r("transfer.insufficientBalance"))):(i("default"),s("")):c.gt(e)?(i("error"),s(r("transfer.insufficientBalance"))):c.gt(new utils.Decimal(e).minus(n))&&c.lessThanOrEqualTo(e)?(i("warning"),s(r("settle.settlePnl.warning"))):(i("default"),s(""));},[o,e]),{inputStatus:a,hintMessage:u}}var fs="TransferDialogId",gs="TransferSheetId",hs=t=>{let o=je({toAccountId:t.toAccountId,close:t.close});return jsxRuntime.jsx(He,{...o})},jo=t=>jsxRuntime.jsx(hs,{close:t.close,toAccountId:t.toAccountId});ui.registerSimpleDialog(fs,jo,{size:"md",classNames:{content:"oui-border oui-border-line-6"},title:()=>i18n.i18n.t("common.transfer")});ui.registerSimpleSheet(gs,jo,{title:()=>i18n.i18n.t("common.transfer")});
22
+ var Wn=()=>{let{data:e,error:t,isLoading:n}=hooks.useQuery("/v1/public/auto_convert_threshold",{errorRetryCount:3});return {ltv_threshold:ei.useMemo(()=>!e||n?"-":`${new utils.Decimal(e.ltv_threshold).mul(100).toNumber()}%`,[]),negative_usdc_threshold:e?.negative_usdc_threshold,isLoading:n,error:t}};var oi=ei__default.default.forwardRef((e,t)=>jsxRuntime.jsx("svg",{width:12,height:12,viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",focusable:false,ref:t,...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"})})),Vn=e=>e>=0&&e<50?"oui-text-success":e>=50&&e<80?"oui-text-warning":e>=80?"oui-text-danger":"",ri=e=>{let{isLoading:t,ltv_threshold:n}=e,{t:o}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Box,{className:"oui-w-72 oui-max-w-72",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:80,children:o("transfer.LTV.description",{threshold:t?"-":n})})," ",jsxRuntime.jsx("a",{href:"https://orderly.network/docs/introduction/trade-on-orderly/multi-collateral",target:"_blank",rel:"noreferrer",className:"oui-border-b oui-border-dashed oui-border-line-12 oui-text-2xs oui-text-primary",children:o("tradingLeaderboard.learnMore")})]})},Ko=e=>{let{t}=i18n.useTranslation(),{currentLtv:n,nextLTV:o,showDiff:a,ltv_threshold:i,isLoading:s}=e;return jsxRuntime.jsxs(ui.Flex,{width:"100%",itemAlign:"center",justify:"between",children:[jsxRuntime.jsxs(ui.Flex,{justify:"start",itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:t("transfer.LTV")}),jsxRuntime.jsx(ui.Tooltip,{className:"oui-p-2",content:jsxRuntime.jsx(ri,{isLoading:s,ltv_threshold:i}),children:jsxRuntime.jsx(oi,{className:"oui-ml-[2px] oui-cursor-pointer oui-text-base-contrast-36"})})]}),a?jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"between",gap:1,children:[jsxRuntime.jsxs(ui.Text,{size:"2xs",className:ui.cn("oui-font-semibold",Vn(n)),children:[n,"%"]}),"\u2192",jsxRuntime.jsxs(ui.Text,{size:"2xs",className:ui.cn("oui-font-semibold",Vn(o)),children:[o,"%"]})]}):jsxRuntime.jsxs(ui.Text,{size:"2xs",className:ui.cn("oui-font-semibold",Vn(n)),children:[n,"%"]})]})};var gt=e=>{let t=Wn();return jsxRuntime.jsx(Ko,{...e,...t})};var zn=(o=>(o[o.Deposit=0]="Deposit",o[o.Approve=1]="Approve",o[o.Increase=2]="Increase",o))(zn||{}),Ot=(n=>(n.Wallet="wallet",n.Account="accountId",n))(Ot||{});var wt=e=>{let{disabled:t,loading:n,actionType:o,symbol:a="USDC",onDeposit:i,onApprove:s,networkId:c}=e,{t:r}=i18n.useTranslation(),l=ei.useMemo(()=>({1:{children:r("transfer.deposit.approve.symbol",{symbol:a}),onClick:s,disabled:false,"data-testid":"oui-testid-deposit-dialog-approve-btn"},2:{children:r("transfer.deposit.increase.symbol",{symbol:a}),onClick:s,"data-testid":"oui-testid-deposit-dialog-increase-btn"},0:{children:r("common.deposit"),onClick:i,"data-testid":"oui-testid-deposit-dialog-deposit-btn"}})[o],[s,i,o,a,r]),p={initial:"md",lg:"lg"};return jsxRuntime.jsx(ui.Box,{className:"oui-w-full lg:oui-w-auto lg:oui-min-w-[184px]",children:jsxRuntime.jsx(uiConnector.AuthGuard,{status:types.AccountStatusEnum.EnableTrading,networkId:c,buttonProps:{fullWidth:true,size:p},children:jsxRuntime.jsx(ui.Button,{fullWidth:true,disabled:t,loading:n,size:p,...l})})})};var de=e=>{let{amount:t,maxQuantity:n,token:o,loading:a}=e,{t:i}=i18n.useTranslation(),s=o?.display_name||o?.symbol||"",c=o?.precision??o?.decimals??2;return jsxRuntime.jsxs(ui.Flex,{justify:"between",px:2,children:[jsxRuntime.jsxs(ui.Text,{size:"2xs",intensity:36,children:["$",jsxRuntime.jsx(ui.Text.numeral,{dp:2,padding:false,rm:utils.Decimal.ROUND_DOWN,children:t})]}),jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[jsxRuntime.jsxs(ui.Text,{size:"2xs",intensity:36,children:[`${i("common.available")}: `,jsxRuntime.jsx(ui.Text.numeral,{rm:utils.Decimal.ROUND_DOWN,dp:c,padding:false,"data-testid":"oui-testid-withdraw_deposit-dialog-available-value",children:n}),` ${s}`]}),a&&jsxRuntime.jsx(ui.Spinner,{size:"sm"}),jsxRuntime.jsx(ui.Text,{size:"2xs",color:"primary",className:"oui-cursor-pointer oui-select-none",onClick:e.onClick,children:i("common.max")})]})]})};var ze=()=>{let{t:e}=i18n.useTranslation(),{appIcons:t}=reactApp.useAppConfig(),n=hooks.useConfig("brokerName"),o=ei.useMemo(()=>{let{secondary:a}=t||{};if(!a?.img&&a?.component)return null;if(a?.img)return jsxRuntime.jsx("img",{src:a?.img,className:"oui-w-5 oui-h-5"});if(a?.component)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:a.component})},[t]);return jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,children:e("transfer.brokerAccount",{brokerName:n})}),o]})};var zt=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:"M10.997 8.004a.5.5 0 0 0-.14-.36l-1.86-1.843-.703.703.984 1h-7.28a.5.5 0 0 0 0 1h7.28l-.984 1 .703.703 1.86-1.844a.5.5 0 0 0 .14-.36m-.5-4a.5.5 0 0 0-.5-.5H2.716l.984-1-.703-.703-1.859 1.843a.515.515 0 0 0 0 .719l1.86 1.844.702-.703-.984-1h7.281a.5.5 0 0 0 .5-.5"})}),tr=e=>jsxRuntime.jsx("svg",{width:"20",height:"21",viewBox:"0 0 20 21",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:jsxRuntime.jsx("path",{d:"M9.994 5.51a.83.83 0 0 0-.832.833v6.295l-2.498-2.471-1.17 1.17 3.902 3.929a.84.84 0 0 0 .599.244.84.84 0 0 0 .597-.244l3.903-3.928-1.171-1.171-2.498 2.471V6.343a.83.83 0 0 0-.832-.833"})});var nr=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:"M6.00342 1.49561C4.97642 1.49561 3.99542 1.84011 3.20642 2.46461C2.98992 2.63561 2.95692 2.9511 3.12842 3.1676C3.29992 3.3841 3.61492 3.4171 3.83142 3.2456C4.44492 2.7601 5.20392 2.4956 6.00342 2.4956C7.93642 2.4956 9.50342 4.0626 9.50342 5.9956H8.50342L10.0034 7.9956L11.5034 5.9956H10.5034C10.5034 3.5101 8.48892 1.49561 6.00342 1.49561ZM2.00342 3.9956L0.503418 5.9956H1.50342C1.50342 8.4811 3.51792 10.4956 6.00342 10.4956C7.03092 10.4956 8.01142 10.1516 8.80042 9.52659C9.01692 9.35559 9.04992 9.0401 8.87842 8.8236C8.70692 8.6071 8.39191 8.5741 8.17542 8.7456C7.56142 9.2316 6.80342 9.4956 6.00342 9.4956C4.07042 9.4956 2.50342 7.9286 2.50342 5.9956H3.50342L2.00342 3.9956Z"})}),or=e=>jsxRuntime.jsx("svg",{width:"20",height:"21",viewBox:"0 0 20 21",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:jsxRuntime.jsx("path",{d:"M12.385 4.565a.6.6 0 0 0-.427.167L9.764 6.944l.837.837 1.19-1.17v8.66a.595.595 0 0 0 1.19 0v-8.66l1.189 1.17.836-.837-2.193-2.212a.6.6 0 0 0-.428-.167m-4.758.595a.595.595 0 0 0-.595.595v8.661l-1.19-1.17-.836.836L7.2 16.294a.61.61 0 0 0 .855 0l2.194-2.212-.837-.836-1.19 1.17V5.755a.595.595 0 0 0-.594-.595"})});var Ue=e=>{let{chains:t,value:n,wrongNetwork:o,loading:a}=e,[i,s]=ei.useState(false),{t:c}=i18n.useTranslation(),r=o||t?.length>1,l=o?jsxRuntime.jsx(ui.Flex,{width:18,height:18,intensity:100,r:"full",justify:"center",itemAlign:"center",children:jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:80,children:"U"})}):jsxRuntime.jsx(ui.ChainIcon,{className:"oui-size-[18px]",chainId:n?.id}),p=o?"Unknown":n?.info?.network_infos?.name,u=()=>{if(a)return jsxRuntime.jsx(ui.Spinner,{size:"sm"});if(r)return jsxRuntime.jsx(zt,{className:"oui-text-base-contrast-54"})},m=jsxRuntime.jsxs(ui.Flex,{intensity:500,className:ui.cn("oui-rounded-t-xl oui-rounded-b-sm oui-border oui-border-line",r?"oui-cursor-pointer":"oui-cursor-auto"),height:54,px:3,justify:"between",itemAlign:"center",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.Flex,{children:jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:54,children:c("transfer.network")})}),jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[l,jsxRuntime.jsx(ui.Text,{size:"sm",intensity:80,children:p})]})]}),u()]}),g=t.map((w,d)=>{let k=w.chain_id===n?.id;return jsxRuntime.jsxs(ui.Flex,{px:2,r:"base",justify:"between",className:ui.cn("oui-deposit-network-select-item","hover:oui-bg-base-5 oui-h-[30px] oui-cursor-pointer",k&&"oui-bg-base-5",d!==0&&"oui-mt-[2px]"),onClick:async()=>{s(false),await e.onValueChange(w);},children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,itemAlign:"center",children:[jsxRuntime.jsx(ui.ChainIcon,{className:"oui-size-[18px]",chainId:w.chain_id}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:54,children:w.name})]}),k&&jsxRuntime.jsx(ui.Box,{width:4,height:4,r:"full",className:"oui-deposit-network-select-active-dot oui-bg-[linear-gradient(270deg,#59B0FE_0%,#26FEFE_100%)]"})]},w.chain_id)});return jsxRuntime.jsxs(ui.DropdownMenuRoot,{open:r?i:false,onOpenChange:s,children:[jsxRuntime.jsx(ui.DropdownMenuTrigger,{asChild:true,children:m}),jsxRuntime.jsx(ui.DropdownMenuPortal,{children:jsxRuntime.jsx(ui.DropdownMenuContent,{onCloseAutoFocus:w=>w.preventDefault(),align:"start",sideOffset:2,className:ui.cn("oui-deposit-token-select-dropdown-menu-content","oui-bg-base-8 oui-p-1","oui-w-[var(--radix-dropdown-menu-trigger-width)]","oui-rounded-md oui-select-none"),children:jsxRuntime.jsx(ui.ScrollArea,{children:jsxRuntime.jsx("div",{className:"oui-max-h-[254px]",children:g})})})})]})};var ir=e=>{let{t}=i18n.useTranslation(),{value:n,precision:o}=e;return jsxRuntime.jsxs(ui.Flex,{width:"100%",itemAlign:"center",justify:"between",children:[jsxRuntime.jsx(ui.Flex,{itemAlign:"center",justify:"start",children:jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:t("transfer.deposit.collateralContribution")})}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"end",gap:1,children:[jsxRuntime.jsx(ui.Text.numeral,{dp:o,size:"2xs",rm:utils.Decimal.ROUND_DOWN,className:ui.cn("oui-font-semibold"),padding:false,children:n}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,className:"oui-select-none",children:"USDC"})]})]})};var Oi=ei__default.default.forwardRef((e,t)=>jsxRuntime.jsx("svg",{width:12,height:12,viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",focusable:false,ref:t,...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"})})),Li=()=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Box,{className:"oui-w-72 oui-max-w-72",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:80,children:e("portfolio.overview.column.collateralRatio.explain")})," ",jsxRuntime.jsx("a",{href:"https://orderly.network/docs/introduction/trade-on-orderly/multi-collateral",target:"_blank",rel:"noreferrer",className:"oui-border-b oui-border-dashed oui-border-line-12 oui-text-2xs oui-text-primary",children:e("tradingLeaderboard.learnMore")})]})},lr=e=>{let{t}=i18n.useTranslation(),{value:n}=e;return jsxRuntime.jsxs(ui.Flex,{width:"100%",itemAlign:"center",justify:"between",children:[jsxRuntime.jsxs(ui.Flex,{justify:"start",itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:t("portfolio.overview.column.collateralRatio")}),jsxRuntime.jsx(ui.Tooltip,{className:"oui-p-2",content:jsxRuntime.jsx(Li,{}),children:jsxRuntime.jsx(Oi,{className:"oui-ml-[2px] oui-cursor-pointer oui-text-base-contrast-36"})})]}),jsxRuntime.jsx(ui.Text.numeral,{dp:2,rm:utils.Decimal.ROUND_DOWN,coloring:true,className:"oui-font-semibold",rule:"percentages",children:n})]})};var Xn=e=>jsxRuntime.jsx(lr,{...e});var fe=({icon:e})=>jsxRuntime.jsxs(ui.Flex,{height:40,gapX:3,children:[jsxRuntime.jsx(ui.Flex,{height:1,className:"oui-flex-1 oui-bg-base-contrast-12"}),e||jsxRuntime.jsx(tr,{className:"oui-text-primary-light"}),jsxRuntime.jsx(ui.Flex,{height:1,className:"oui-flex-1 oui-bg-base-contrast-12"})]});var bt=e=>{let{dstGasFee:t,feeQty:n,feeAmount:o,dp:a,nativeSymbol:i}=e,{t:s}=i18n.useTranslation(),c=()=>{let l=jsxRuntime.jsxs("div",{className:"oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:54,children:`${s("transfer.deposit.destinationGasFee")}: `}),jsxRuntime.jsx(ui.Text.numeral,{intensity:80,dp:a,rm:utils.Decimal.ROUND_UP,padding:false,children:n}),jsxRuntime.jsx(ui.Text,{intensity:54,children:i})]}),jsxRuntime.jsx(ui.Box,{mt:2,children:jsxRuntime.jsx(ui.Text,{intensity:36,children:s("transfer.deposit.destinationGasFee.description")})})]});ui.modal.alert({title:s("common.fee"),message:l});},r=!!t&&t!=="0";return jsxRuntime.jsxs(ui.Text,{size:"2xs",intensity:36,className:"oui-border-dashed oui-border-b oui-border-line-12 oui-cursor-pointer",onClick:c,children:[`${s("common.fee")} \u2248 `,jsxRuntime.jsxs(ui.Text,{size:"2xs",intensity:80,children:["$",jsxRuntime.jsx(ui.Text.numeral,{dp:2,padding:false,rm:utils.Decimal.ROUND_UP,children:o})," "]}),r&&jsxRuntime.jsxs("span",{children:["(",jsxRuntime.jsxs(ui.Text,{intensity:54,children:[jsxRuntime.jsx(ui.Text.numeral,{dp:a,padding:false,rm:utils.Decimal.ROUND_UP,children:n}),i]}),")"]})]})};var Gt=e=>{let{t}=i18n.useTranslation(),{value:n,symbol:o,precision:a=6}=e;return jsxRuntime.jsxs(ui.Flex,{width:"100%",itemAlign:"center",justify:"between",children:[jsxRuntime.jsx(ui.Flex,{itemAlign:"center",justify:"start",children:jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:t("transfer.swapDeposit.minimumReceived")})}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"end",gap:1,children:[jsxRuntime.jsx(ui.Text.numeral,{dp:a,size:"2xs",className:"oui-select-none",intensity:80,children:n}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-select-none",intensity:36,children:o})]})]})};function pr(e,t){let[n,o]=ei.useState(""),[a,i]=ei.useState(false);return ei.useEffect(()=>{a||typeof t!="function"||!e.address||(i(true),t(e.address,e.decimals).then(s=>{o(s);}).catch(s=>{}).finally(()=>{i(false);}));},[e]),{balance:n,loading:a}}var fr=e=>{let{token:t,isActive:n,displayType:o,onTokenChange:a,fetchBalance:i}=e,{symbol:s,precision:c,insufficientBalance:r}=t,{balance:l,loading:p}=pr(t,i),u=typeof i=="function",{t:m}=i18n.useTranslation();if(o==="vaultBalance"&&r)return jsxRuntime.jsx(ui.Flex,{itemAlign:"center",justify:"between",px:2,r:"base",className:ui.cn("group","oui-h-[30px]","oui-text-2xs oui-font-semibold",n&&"oui-bg-base-5",e.index!==0&&"oui-mt-[2px]","oui-cursor-not-allowed"),children:jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gapX:1,children:[jsxRuntime.jsx(ui.TokenIcon,{name:s,className:"oui-size-[16px] oui-opacity-50"}),jsxRuntime.jsx(ui.Text,{intensity:36,children:s}),jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"xs",children:m("transfer.withdraw.InsufficientVaultBalance")})]})},s);let g=()=>u?p?jsxRuntime.jsx(ui.Spinner,{size:"sm"}):jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:c??2,rm:utils.Decimal.ROUND_DOWN,className:ui.cn("oui-text-base-contrast-80 group-hover:oui-text-base-contrast-54",n&&"oui-text-base-contrast-54"),children:l}):null;return jsxRuntime.jsxs(ui.Flex,{justify:"between",px:2,r:"base",className:ui.cn("group","oui-h-[30px] hover:oui-bg-base-5","oui-text-2xs oui-font-semibold","oui-cursor-pointer",n&&"oui-bg-base-5",e.index!==0&&"oui-mt-[2px]"),onClick:()=>{a?.(t);},children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.TokenIcon,{name:s,className:"oui-size-[16px]"}),jsxRuntime.jsx(ui.Text,{className:ui.cn("oui-text-base-contrast-54 group-hover:oui-text-base-contrast-80",n&&"oui-text-base-contrast-80"),children:s})]}),g()]},s)};var Z=ei.forwardRef(e=>{let{token:t,tokens:n=[],classNames:o,label:a,status:i,hintMessage:s,value:c,onValueChange:r,fetchBalance:l,onTokenChange:p,loading:u,placeholder:m,formatters:g,vaultBalanceList:w,displayType:d,...k}=e,{t:v}=i18n.useTranslation(),y=ei.useRef(null),[I,f]=ei.useState(false),[T,x]=ei.useState(0),D=ei.useMemo(()=>n.map(S=>{let O=w?.find(q=>q.token===S.symbol),B=new utils.Decimal(O?.balance??0).lt(c?Number(c):0);return {...S,name:S.display_name||S.symbol,insufficientBalance:B}}),[n,c,w]);ei.useEffect(()=>{let S=y?.current?.getBoundingClientRect();x(S?.width||0);},[y]);let h=S=>{let O=n.find(B=>B.symbol===S);O&&p?.(O);},F=S=>{let O=S.symbol===t?.symbol;return jsxRuntime.jsx(fr,{token:S,isActive:O,fetchBalance:l,displayType:d,onTokenChange:B=>{p?.(B),f(false);}})},b=jsxRuntime.jsxs(ui.Box,{children:[jsxRuntime.jsx(ui.Box,{className:"oui-absolute oui-top-0",children:jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:a||v("common.quantity")})}),u&&jsxRuntime.jsx(ui.Box,{className:"oui-absolute oui-bottom-1",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})]}),C=n.length>1,N=jsxRuntime.jsx("div",{className:"oui-absolute oui-right-0",children:jsxRuntime.jsx(ui.Select.tokens,{open:C?I:false,onOpenChange:f,disabled:k.disabled,variant:"text",tokens:D,value:t?.display_name||t?.symbol,size:k.size,onValueChange:h,showIcon:true,optionRenderer:F,contentProps:{onCloseAutoFocus:S=>{S.preventDefault(),y.current?.focus();},onClick:S=>{S.preventDefault(),y.current?.focus();},style:{width:T},align:"end",sideOffset:5,className:"oui-border oui-border-line-6"}})}),$=jsxRuntime.jsxs(ui.Flex,{mt:1,gapX:1,px:1,children:[jsxRuntime.jsx(ui.Box,{width:4,height:4,r:"full",className:ui.cn(i==="error"&&"oui-bg-danger-light",i==="warning"&&"oui-bg-warning-light")}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:ui.cn(i==="error"&&"oui-text-danger-light",i==="warning"&&"oui-text-warning-light"),children:s})]});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Input,{ref:y,autoComplete:"off",placeholder:m??(u?"":"0"),prefix:b,suffix:N,value:c,onValueChange:S=>{r?.(S);},formatters:g||[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(t?.precision??2),ui.inputFormatter.currencyFormatter],...k,classNames:{...o,root:ui.cn("oui-relative oui-h-[54px] oui-px-3","oui-rounded-lg oui-border oui-border-line",i==="error"&&"oui-outline-danger-light focus-within:oui-outline-danger-light",i==="warning"&&"oui-outline-warning-light focus-within:oui-outline-warning-light",e.readOnly?"oui-border-none oui-bg-base-6 focus-within:oui-outline-0":"oui-bg-base-5",o?.root),input:ui.cn("oui-absolute oui-bottom-0",o?.input)}}),s&&$]})});var io=[.5,1,2],Je=e=>{let{min:t=.2,max:n=10}=e,[o,a]=ei.useState(),[i,s]=ei.useState(""),[c,r]=ei.useState(false),{t:l}=i18n.useTranslation();ei.useEffect(()=>{e.value&&!io.includes(e.value)?s(e.value.toString()):a(e.value);},[e.value,c]);let p=()=>{r(true);},u=()=>{r(false);},m=y=>{a(y),s("");},g=y=>{if(!y||Number(y)===0){s(y);return}let I=new utils.Decimal(y);a(void 0),I.lt(t)?s(t.toString()):I.gt(n)?s(n.toString()):s(y);},w=()=>i?new utils.Decimal(i)?.toNumber():o,d=()=>{let y=w();return y&&(e.onValueChange?.(y),u(),io.includes(y)&&s("")),Promise.resolve(true)},k=!w(),v=jsxRuntime.jsxs("div",{className:"oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[io.map(y=>jsxRuntime.jsx(ya,{value:y,isActive:o===y,onClick:()=>{m(y);}},y)),jsxRuntime.jsx(ui.Input,{suffix:"%",formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(2)],value:i,onValueChange:g,classNames:{root:ui.cn("oui-rounded-md oui-bg-base-6","oui-h-[40px] oui-w-[74px]"),input:"oui-text-base-contrast",additional:"oui-pl-1"}})]}),jsxRuntime.jsx(ui.Box,{mt:5,children:jsxRuntime.jsx(ui.Text,{intensity:54,children:l("transfer.slippage.slippageTolerance.description")})})]});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.AlertDialog,{open:c,onOpenChange:r,title:l("transfer.slippage.slippageTolerance"),okLabel:l("common.confirm"),message:v,onOk:d,actions:{primary:{disabled:k}}}),jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",className:"oui-cursor-pointer oui-select-none",onClick:p,children:[jsxRuntime.jsx(ui.Text,{intensity:36,size:"2xs",children:l("transfer.slippage")}),jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsxs(ui.Text,{size:"2xs",color:"primaryLight",children:[e.value,"%"]}),jsxRuntime.jsx(ui.EditIcon,{className:"oui-size-3 oui-text-primary-light"})]})]})]})},ya=({value:e,isActive:t,onClick:n})=>jsxRuntime.jsx(ui.Flex,{intensity:600,justify:"center",itemAlign:"center",r:"md",width:74,height:40,className:ui.cn("oui-cursor-pointer oui-select-none",t&&"oui-bg-primary-light"),onClick:n,children:jsxRuntime.jsxs(ui.Text,{size:"sm",intensity:80,children:[e,"%"]})});var Jt=e=>{let{message:t,needSwap:n,needCrossSwap:o,wrongNetwork:a,networkId:i}=e,{t:s}=i18n.useTranslation(),c=()=>{ui.modal.show(uiChainSelector.ChainSelectorDialogId,{networkId:i});},r=ei.useMemo(()=>{if(a)return s("connector.wrongNetwork.tooltip");if(t)return t;if(o)return jsxRuntime.jsx(ui.Text,{children:jsxRuntime.jsx(i18n.Trans,{i18nKey:"transfer.swapDeposit.crossSwap.notice",components:[jsxRuntime.jsx(ui.Text,{className:"oui-cursor-pointer",color:"primaryLight",onClick:c},"0")]})});if(n)return s("transfer.swapDeposit.swap.notice")},[t,n,o,a,s]);return r?jsxRuntime.jsx(ui.Box,{mb:3,className:"oui-text-center oui-text-xs oui-text-warning-darken",children:r}):null};var tn=e=>{let{feeQtys:t,feeAmount:n,feeDetails:o,nativeSymbol:a}=e,{t:i}=i18n.useTranslation(),s=()=>{let r=jsxRuntime.jsx(ui.Box,{className:"oui-text-2xs",children:o?.map((l,p)=>{let u=p===o?.length-1;return jsxRuntime.jsxs(ui.Box,{children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsxs(ui.Text,{intensity:54,children:[l.title,":"]}),jsxRuntime.jsx(ui.Text,{intensity:80,children:l.value}),jsxRuntime.jsx(ui.Text,{intensity:54,children:l.symbol})]}),jsxRuntime.jsx(ui.Box,{mt:2,children:jsxRuntime.jsx(ui.Text,{intensity:36,children:l.description})}),!u&&jsxRuntime.jsx(ui.Box,{my:3,children:jsxRuntime.jsx(ui.Divider,{intensity:8})})]},p)})});ui.modal.alert({title:i("common.fee"),message:r});},c=()=>{let r=t?.length;if(!r)return;let l=t.map((p,u)=>jsxRuntime.jsxs(ui.Text,{intensity:54,children:[jsxRuntime.jsx(ui.Text.numeral,{dp:p.dp,padding:false,rm:utils.Decimal.ROUND_UP,children:p.value}),` ${p.symbol||a}`]},u));if(r===1)return jsxRuntime.jsxs("span",{children:["(",l,")"]});if(r===2)return jsxRuntime.jsxs("span",{children:["(",l[0]," + ",l[1],")"]})};return jsxRuntime.jsxs(ui.Text,{size:"xs",intensity:36,className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",onClick:s,children:[`${i("common.fee")} \u2248 `,jsxRuntime.jsxs(ui.Text,{size:"xs",intensity:80,children:["$",jsxRuntime.jsx(ui.Text.numeral,{dp:2,padding:false,rm:utils.Decimal.ROUND_UP,children:n})," "]}),c()]})};var xt=e=>{let{sourceSymbol:t,targetSymbol:n,indexPrice:o,precision:a=6}=e;return jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gap:1,className:ui.cn(e.className,"oui-text-2xs"),children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:80,children:"1"}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:t}),"=",jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",intensity:80,dp:a,padding:false,children:o}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:n})]})};var sn=e=>jsxRuntime.jsx("svg",{width:"24",height:"25",viewBox:"0 0 24 25",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:jsxRuntime.jsx("path",{d:"M6.012 12.493a1 1 0 0 1 .999-1h7.555L11.6 8.498l1.405-1.405 4.714 4.683c.196.195.293.457.293.719 0 .26-.098.522-.293.717l-4.714 4.683L11.6 16.49l2.966-2.997H7.011a1 1 0 0 1-.999-1"})}),kr=e=>jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:jsxRuntime.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4 2.67v10.663h4.667V2.667H4zm6-.003v2.666h1c.218 0 .53.06.806.26.31.223.527.59.527 1.074V12h1V6.667c0-.045 0-.154-.027-.277a.5.5 0 0 0-.11-.252l-1.668-1.667a.667.667 0 0 1 .943-.942l1.667 1.666c.294.294.417.658.472.915.057.264.057.486.057.555V12c0 .484-.217.85-.527 1.074-.277.2-.589.26-.807.26h-1c-.484 0-.85-.217-1.074-.528a1.4 1.4 0 0 1-.26-.806V6.667H10v6.666h.667a.667.667 0 0 1 0 1.334H2a.667.667 0 0 1 0-1.334h.667V2.667c0-.218.06-.53.259-.807.223-.31.59-.527 1.074-.527h4.667c.217 0 .53.06.806.26.31.223.527.59.527 1.074m-4.667 2a.667.667 0 0 0 0 1.333h2a.667.667 0 0 0 0-1.333z"})}),Cr=e=>jsxRuntime.jsx("svg",{width:"13",height:"12",viewBox:"0 0 13 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:jsxRuntime.jsx("path",{d:"M8.996 10.496a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2h-5a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2zm-4-2.5a.5.5 0 0 1-.36-.14.515.515 0 0 1 0-.72l2-2-1.14-1.14h3v3l-1.14-1.14-2 2a.5.5 0 0 1-.36.14"})}),Sr=e=>jsxRuntime.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[jsxRuntime.jsx("rect",{width:"24",height:"24",rx:"12",fill:"#07080A"}),jsxRuntime.jsx("path",{d:"M5.077 7.385h2.269l1.604 5.28c.106.348.196.73.196.73s.138-.413.28-.742l.885-2.052a1.8 1.8 0 0 1 .66-.782 1.81 1.81 0 0 1 1.974 0c.293.191.523.463.662.782l2.143 4.91v1.095h-1.402c-.235 0-.464-.07-.66-.2a1.17 1.17 0 0 1-.434-.53l-1.303-3.16-1.243 3.152a1.19 1.19 0 0 1-1.105.747h-.848c-.235 0-.465-.075-.654-.214a1.1 1.1 0 0 1-.4-.556z",fill:"#FEFEFE"}),jsxRuntime.jsx("path",{d:"m18.146 10.846 1.066-3.461h-2.396l-1.066 3.461z",fill:"url(#a)"}),jsxRuntime.jsx("path",{d:"m15.371 12-1.208 3.865v.009c-.073.216-.194.529-.514.51a.33.33 0 0 1-.207-.058c.211.186.482.29.763.29h1.428a1.065 1.065 0 0 0 .928-.75L17.769 12z",fill:"url(#b)"}),jsxRuntime.jsxs("defs",{children:[jsxRuntime.jsxs("linearGradient",{id:"a",x1:"14.618",y1:"16.592",x2:"17.597",y2:"7.455",gradientUnits:"userSpaceOnUse",children:[jsxRuntime.jsx("stop",{stopColor:"#59B0FE"}),jsxRuntime.jsx("stop",{offset:"1",stopColor:"#26FEFE"})]}),jsxRuntime.jsxs("linearGradient",{id:"b",x1:"16.192",y1:"16.587",x2:"18.206",y2:"7.458",gradientUnits:"userSpaceOnUse",children:[jsxRuntime.jsx("stop",{stopColor:"#59B0FE"}),jsxRuntime.jsx("stop",{offset:"1",stopColor:"#26FEFE"})]})]})]});var Fr=e=>{let{sourceToken:t,targetToken:n,className:o}=e;return t===n?null:jsxRuntime.jsx(ui.Flex,{width:"100%",itemAlign:"center",justify:"center",className:o,children:jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"center",gap:1,children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"center",gap:1,children:[jsxRuntime.jsx(ui.TokenIcon,{className:"oui-size-[18px]",name:t}),jsxRuntime.jsx(ui.Text,{weight:"semibold",intensity:80,size:"sm",children:t})]}),jsxRuntime.jsx(sn,{className:"oui-size-4"}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"center",gap:1,children:[jsxRuntime.jsx(ui.TokenIcon,{className:"oui-size-[18px]",name:n}),jsxRuntime.jsx(ui.Text,{weight:"semibold",intensity:80,size:"sm",children:n})]})]})})};var Tt=()=>{let{t:e}=i18n.useTranslation(),{wallet:t,connectedChain:n}=hooks.useWalletConnector(),{state:o,account:a}=hooks.useAccount(),i=ei.useMemo(()=>{let s=o.address;return n?.id&&types.ABSTRACT_CHAIN_ID_MAP.has(parseInt(n?.id))&&(s=a.getAdditionalInfo()?.AGWAddress),s},[t,o,a,n]);return jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,children:e("transfer.web3Wallet.your")}),jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.WalletIcon,{size:"xs",name:t?.label??""}),jsxRuntime.jsx(ui.Text.formatted,{size:"sm",intensity:54,rule:"address",children:i})]})]})};function un(e){let{srcToken:t,dstToken:n,srcChainId:o,dstChainId:a}=e,[i,s]=ei.useState(false),[c,r]=ei.useState(false);return ei.useEffect(()=>{if(!o||!a||!t||!n)return;let l=o!==a;if(t?.symbol==="USDC"&&!l||t.is_collateral&&t.symbol===n?.symbol){s(false),r(false);return}s(t?.symbol!=="USDC"),l?(r(true),s(true)):r(false);},[t,n,o,a]),{needSwap:i,needCrossSwap:c}}var kt=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:false,inputs:[{indexed:false,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"previousOwner",type:"address"},{indexed:true,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"uint16",name:"srcChainId",type:"uint16"},{indexed:true,internalType:"uint256",name:"nonce",type:"uint256"},{indexed:true,internalType:"address",name:"sender",type:"address"},{indexed:true,internalType:"address",name:"to",type:"address"},{indexed:false,internalType:"address",name:"bridgedToken",type:"address"},{indexed:false,internalType:"uint256",name:"bridgedAmount",type:"uint256"},{indexed:false,internalType:"address",name:"toToken",type:"address"},{indexed:false,internalType:"uint256",name:"minToAmount",type:"uint256"},{indexed:false,internalType:"address",name:"realToToken",type:"address"},{indexed:false,internalType:"uint256",name:"realToAmount",type:"uint256"},{indexed:false,internalType:"uint256",name:"orderlyNativeFees",type:"uint256"},{indexed:false,internalType:"bytes32",name:"accountId",type:"bytes32"},{indexed:false,internalType:"bytes32",name:"brokerHash",type:"bytes32"},{indexed:false,internalType:"bytes32",name:"tokenHash",type:"bytes32"},{indexed:false,internalType:"uint128",name:"tokenAmount",type:"uint128"}],name:"WOOFiDexCrossSwapOnDstChain",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"uint16",name:"dstChainId",type:"uint16"},{indexed:true,internalType:"uint256",name:"nonce",type:"uint256"},{indexed:true,internalType:"address",name:"sender",type:"address"},{indexed:true,internalType:"address",name:"to",type:"address"},{indexed:false,internalType:"address",name:"fromToken",type:"address"},{indexed:false,internalType:"uint256",name:"fromAmount",type:"uint256"},{indexed:false,internalType:"address",name:"bridgeToken",type:"address"},{indexed:false,internalType:"uint256",name:"minBridgeAmount",type:"uint256"},{indexed:false,internalType:"uint256",name:"bridgeAmount",type:"uint256"}],name:"WOOFiDexCrossSwapOnSrcChain",type:"event"},{inputs:[],name:"MAX_BRIDGE_SLIPPAGE",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"NATIVE_PLACEHOLDER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"addDirectBridgeToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"allDirectBridgeTokens",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"allDirectBridgeTokensLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"bridgeSlippage",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{components:[{internalType:"address",name:"fromToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"address",name:"bridgeToken",type:"address"},{internalType:"uint256",name:"minBridgeAmount",type:"uint256"}],internalType:"struct IWOOFiDexCrossChainRouter.SrcInfos",name:"srcInfos",type:"tuple"},{components:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"address",name:"bridgedToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"uint256",name:"orderlyNativeFees",type:"uint256"}],internalType:"struct IWOOFiDexCrossChainRouter.DstInfos",name:"dstInfos",type:"tuple"},{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"}],internalType:"struct IWOOFiDexCrossChainRouter.DstVaultDeposit",name:"dstVaultDeposit",type:"tuple"}],name:"crossSwap",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"dstGasForNoSwapCall",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"dstGasForSwapCall",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"stuckToken",type:"address"}],name:"inCaseTokenGotStuck",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_nonceCounter",type:"address"},{internalType:"address",name:"_wooRouter",type:"address"},{internalType:"address",name:"_sgRouter",type:"address"},{internalType:"uint16",name:"_sgChainIdLocal",type:"uint16"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nonceCounter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"orderlyFeeToggle",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{components:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"address",name:"bridgedToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"uint256",name:"orderlyNativeFees",type:"uint256"}],internalType:"struct IWOOFiDexCrossChainRouter.DstInfos",name:"dstInfos",type:"tuple"},{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"}],internalType:"struct IWOOFiDexCrossChainRouter.DstVaultDeposit",name:"dstVaultDeposit",type:"tuple"}],name:"quoteLayerZeroFee",outputs:[{internalType:"uint256",name:"nativeAmount",type:"uint256"},{internalType:"uint256",name:"zroAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"removeDirectBridgeToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_bridgeSlippage",type:"uint256"}],name:"setBridgeSlippage",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_dstGasForNoSwapCall",type:"uint256"}],name:"setDstGasForNoSwapCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_dstGasForSwapCall",type:"uint256"}],name:"setDstGasForSwapCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_nonceCounter",type:"address"}],name:"setNonceCounter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_orderlyFeeToggle",type:"bool"}],name:"setOrderlyFeeToggle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"_sgChainIdLocal",type:"uint16"}],name:"setSgChainIdLocal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"address",name:"token",type:"address"}],name:"setSgETH",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"poolId",type:"uint256"}],name:"setSgPoolId",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_sgRouter",type:"address"}],name:"setSgRouter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"address",name:"woofiDexCrossChainRouter",type:"address"}],name:"setWOOFiDexCrossChainRouter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"woofiDexVault",type:"address"}],name:"setWOOFiDexVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_wooRouter",type:"address"}],name:"setWooRouter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"sgChainIdLocal",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"",type:"uint16"}],name:"sgETHs",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"",type:"uint16"},{internalType:"address",name:"",type:"address"}],name:"sgPoolIds",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"address",name:"bridgedToken",type:"address"},{internalType:"uint256",name:"bridgedAmount",type:"uint256"},{internalType:"bytes",name:"payload",type:"bytes"}],name:"sgReceive",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"sgRouter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"wooRouter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"",type:"uint16"}],name:"woofiDexCrossChainRouters",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"",type:"uint16"},{internalType:"address",name:"",type:"address"}],name:"woofiDexVaults",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],_r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:false,inputs:[{indexed:false,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"previousOwner",type:"address"},{indexed:true,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"sender",type:"address"},{indexed:true,internalType:"address",name:"to",type:"address"},{indexed:false,internalType:"address",name:"fromToken",type:"address"},{indexed:false,internalType:"uint256",name:"fromAmount",type:"uint256"},{indexed:false,internalType:"address",name:"toToken",type:"address"},{indexed:false,internalType:"uint256",name:"minToAmount",type:"uint256"},{indexed:false,internalType:"uint256",name:"toAmount",type:"uint256"},{indexed:false,internalType:"uint256",name:"orderlyNativeFees",type:"uint256"},{indexed:false,internalType:"bytes32",name:"accountId",type:"bytes32"},{indexed:false,internalType:"bytes32",name:"brokerHash",type:"bytes32"},{indexed:false,internalType:"bytes32",name:"tokenHash",type:"bytes32"},{indexed:false,internalType:"uint128",name:"tokenAmount",type:"uint128"}],name:"WOOFiDexSwap",type:"event"},{inputs:[],name:"NATIVE_PLACEHOLDER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"stuckToken",type:"address"}],name:"inCaseTokenGotStuck",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_wooRouter",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"orderlyFeeToggle",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_orderlyFeeToggle",type:"bool"}],name:"setOrderlyFeeToggle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"woofiDexVault",type:"address"}],name:"setWOOFiDexVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_wooRouter",type:"address"}],name:"setWooRouter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{components:[{internalType:"address",name:"fromToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"uint256",name:"orderlyNativeFees",type:"uint256"}],internalType:"struct IWOOFiDexDepositor.Infos",name:"infos",type:"tuple"},{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"}],internalType:"struct IWOOFiDexDepositor.VaultDeposit",name:"vaultDeposit",type:"tuple"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"wooRouter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"woofiDexVaults",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Wa="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",ln=e=>e===Wa,cn="https://fi-api.woo.org";var Er=()=>{let[e,{setTrue:t,setFalse:n}]=hooks.useBoolean(false),[o,a]=ei.useState("WAITTING"),i=hooks.useEventEmitter(),[s,c]=ei.useState(),[r,l]=ei.useState(types.WS_WalletStatusEnum.NO),p=ei.useRef(),u=ei.useRef(),m=hooks.useAccountInstance(),g=hooks.useConfig(),w=g.get("brokerId"),d=g.get("networkId"),k=ei.useRef(scanClient.createClient(d)).current,v=ei.useRef();ei.useEffect(()=>{let T=x=>{let{side:D,transStatus:h,trxId:F}=x;D==="DEPOSIT"&&F===p.current&&l(h);};return i.on("wallet:changed",T),()=>{i.off("wallet:changed",T);}},[p.current]);let y=ei.useCallback(T=>{u.current&&clearTimeout(u.current),u.current=setTimeout(async()=>{try{let{messages:x}=await k.getMessagesBySrcTxHash(T);if(x.length>0){let{status:D}=x[0];a(D),D==="DELIVERED"?(c(x[0]),p.current=x[0].dstTxHash):D==="FAILED"?c(x[0]):y(T);}else y(T);}catch{y(T);}},1e3);},[]);ei.useEffect(()=>()=>{v.current&&clearTimeout(v.current);},[]);let I=ei.useCallback(()=>({accountId:m.accountIdHashStr,brokerHash:core.utils.parseBrokerHash(w),tokenHash:core.utils.parseTokenHash("USDC")}),[m,w]);return {swap:async T=>{if(!m.walletAdapter)throw new Error("walletAdapter is undefined");if(!m.address)throw new Error("account.address is undefined");if(!T.crossChainRouteAddress)throw new Error("crossChainRouteAddress is undefined");let{address:x,src:D,dst:h,crossChainRouteAddress:F}=T;if(!e){t();try{let b=await m.walletAdapter.call(F,"quoteLayerZeroFee",[m.address,h,I()],{abi:kt}),C=await m.walletAdapter.sendTransaction(F,"crossSwap",{from:m.address,to:F,data:[m.address,D,h,I()],value:ln(T.src.fromToken)?BigInt(T.src.fromAmount)+b[0]:b[0]},{abi:kt});return n(),y(C.hash),ramda.pick(["from","to","hash","value"],C)}catch(b){throw n(),new Error(b.errorCode)}}},loading:e,bridgeStatus:o,status:r,message:s}};var fn=e=>{let{status:t,mode:n,statusUrl:o,brokerName:a}=e,{t:i}=i18n.useTranslation(),s=ei.useMemo(()=>{let u=eu(t),m=tu(t),g=[{title:i(u==="pending"?"transfer.swapDeposit.bridging":"transfer.swapDeposit.bridge"),description:i("transfer.swapDeposit.bridge.description"),state:u},{title:i(m==="pending"?"transfer.swapDeposit.depositing":"transfer.swapDeposit.deposit"),description:i("transfer.swapDeposit.deposit.description",{brokerName:a}),state:m}];return n===0?g.slice(1,2):g},[n,a,t,i]),c=()=>{e.onComplete?.(t===4);},r=t===3||t===1,l=t===0||t===2,p=s.length>1;return jsxRuntime.jsxs("div",{className:"oui-font-semibold",children:[jsxRuntime.jsxs(ui.Box,{intensity:600,p:4,r:"lg",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",gapY:4,className:"oui-relative",children:[s.map(u=>ei.createElement(Ka,{...u,key:u.title})),p&&jsxRuntime.jsx("div",{className:ui.cn("oui-absolute oui-left-[10px] oui-top-[20px] oui-bottom-[38px]","oui-w-[1px] oui-h-[34px]","oui-border-r oui-border-dashed oui-border-r-line-16")})]}),jsxRuntime.jsx(ui.Box,{my:3,children:jsxRuntime.jsx(ui.Divider,{intensity:8})}),jsxRuntime.jsxs(ui.Flex,{gapX:1,justify:"center",itemAlign:"center",className:ui.cn(o?"oui-text-primary-light":"oui-text-base-contrast-20",o?"oui-cursor-pointer":"oui-cursor-not-allowed"),onClick:()=>{o&&window.open(o);},children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:i("transfer.swapDeposit.viewStatus")}),jsxRuntime.jsx(Cr,{})]})]}),jsxRuntime.jsxs(ui.Flex,{direction:"column",justify:"center",itemAlign:"center",mt:8,gapY:3,children:[r&&jsxRuntime.jsx(ui.Text,{size:"xs",className:"oui-text-danger-light",children:i("transfer.swapDeposit.depositFailed")}),jsxRuntime.jsx(ui.Button,{className:"oui-w-full lg:oui-w-[184px]",disabled:l,onClick:c,children:i("common.ok")})]})]})},Ka=({title:e,description:t,state:n})=>jsxRuntime.jsxs(ui.Flex,{itemAlign:"start",gapX:2,children:[jsxRuntime.jsx(ui.Flex,{width:20,height:20,justify:"center",children:jsxRuntime.jsx(Ja,{state:n})}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text,{size:"sm",className:ui.cn(n==="pending"||n==="failed"?"oui-text-base-contrast":"oui-text-base-contrast-54"),children:e}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:ui.cn(n==="pending"?"oui-text-base-contrast-54":"oui-text-base-contrast-20"),children:t})]})]},e),Ja=({state:e})=>e==="pending"?jsxRuntime.jsx(ui.Spinner,{size:"sm"}):e==="failed"?jsxRuntime.jsx(ui.CloseCircleFillIcon,{size:20,opacity:1,className:"oui-text-danger-light"}):e==="success"?jsxRuntime.jsx(ui.CheckedCircleFillIcon,{size:20,opacity:1,className:"oui-text-primary-light"}):jsxRuntime.jsx(ui.Box,{r:"full",width:10,height:10,intensity:200});function eu(e){if(e===0)return "pending";if(e===1)return "failed";if(e===4||e===2)return "success"}function tu(e){if(e===2)return "pending";if(e===3)return "failed";if(e===4)return "success"}var yn=(e=[])=>{let t=e.reduce((n,o)=>(n[o.symbol]=o,n),{});return t.USDC||t.USDbC||e[0]},He=e=>(e??2)+3;function Or(e){return /^0x[a-fA-F0-9]{64}$/.test(e)}function gn(e){return e===34?i18n.i18n.t("transfer.internalTransfer.error.transferInProgress"):e===17?i18n.i18n.t("transfer.internalTransfer.error.withdrawalInProgress"):e===35?i18n.i18n.t("transfer.internalTransfer.error.accountIdNotExist"):e===37?i18n.i18n.t("transfer.internalTransfer.error.transferToSelf"):e===46?i18n.i18n.t("transfer.internalTransfer.error.transferToSubAccount"):i18n.i18n.t("transfer.internalTransfer.error.default")}var wn=e=>{let{info:t,mode:n,nativePrice:o,markPrice:a,src:i,dst:s,nativeToken:c,viewMode:r}=e,{t:l}=i18n.useTranslation(),p=jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(Vr,{primary:i?.token,chainId:i.chain,amount:i?.amount,dp:i?.displayDecimals,symbol:i?.token}),jsxRuntime.jsx(sn,{className:"oui-text-primary-light"}),jsxRuntime.jsx(Vr,{primary:s?.token,component:jsxRuntime.jsx(Sr,{className:"oui-size-4"}),amount:s?.amount,dp:s?.displayDecimals,symbol:s?.token,reverse:true})]}),u=jsxRuntime.jsx(ui.Box,{my:5,children:jsxRuntime.jsx(ui.Divider,{intensity:12})}),m=[{label:l("transfer.deposit.destinationGasFee"),value:jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(kr,{className:"oui-text-primary-light"}),jsxRuntime.jsx(ui.Text.numeral,{color:"primaryLight",padding:false,rm:utils.Decimal.ROUND_UP,dp:He(c?.precision),children:t.dstGasFee}),jsxRuntime.jsx(ui.Text,{color:"primaryLight",children:c?.symbol}),jsxRuntime.jsxs(ui.Text,{className:"oui-text-primary-light/60",children:["($",jsxRuntime.jsx(ui.Text.numeral,{color:"primaryLight",padding:false,rm:utils.Decimal.ROUND_UP,dp:2,children:new utils.Decimal(t.dstGasFee?.toString()).mul(o||0).toString()}),")"]})]})},{label:l("transfer.swapDeposit.swapFee"),value:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Text.numeral,{intensity:80,dp:He(i?.displayDecimals),rm:utils.Decimal.ROUND_UP,padding:false,children:t.swapFee}),` ${i?.token} `,jsxRuntime.jsxs(ui.Text,{className:"oui-text-[#63666D]",children:["($",jsxRuntime.jsx(ui.Text.numeral,{padding:false,rm:utils.Decimal.ROUND_UP,dp:2,children:new utils.Decimal(t.swapFee).mul(a||0).toString()}),")"]})]})},{label:l("transfer.swapDeposit.bridgeFee"),value:n===1&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Text.numeral,{intensity:80,dp:He(i?.displayDecimals),rm:utils.Decimal.ROUND_UP,padding:false,children:t.bridgeFee}),` ${i?.token} `,jsxRuntime.jsxs(ui.Text,{className:"oui-text-[#63666D]",children:["($",jsxRuntime.jsx(ui.Text.numeral,{padding:false,rm:utils.Decimal.ROUND_UP,dp:2,children:new utils.Decimal(t.bridgeFee).mul(a||0).toString()}),")"]})]})},{label:l("transfer.swapDeposit.minimumReceived"),value:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Text.numeral,{dp:s?.displayDecimals,rm:utils.Decimal.ROUND_DOWN,padding:false,children:t.received}),` ${s?.token}`]})},{label:l("common.price"),value:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[`1 ${i?.token} = `,jsxRuntime.jsx(ui.Text.numeral,{dp:3,padding:false,children:t.price}),` ${s?.token}`]})},{label:l("transfer.slippage"),value:`${t.slippage}%`}],g=jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",gapY:3,children:m?.map(d=>{if(d.value)return ei.createElement(lu,{...d,key:d.label})})}),w=jsxRuntime.jsx(ui.Flex,{justify:"center",mt:8,children:jsxRuntime.jsx(ui.Button,{className:"oui-w-full lg:oui-w-[184px]",onClick:e.onConfirm,children:l("transfer.swapDeposit.confirmSwap")})});return jsxRuntime.jsxs(ui.Box,{intensity:800,children:[p,jsxRuntime.jsx(cu,{time:t.time??0}),u,r==="details"&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[g,w]})]})},lu=e=>jsxRuntime.jsxs(ui.Flex,{gapX:2,justify:"between",width:"100%",children:[jsxRuntime.jsx(ui.Text,{size:"sm",intensity:54,children:e.label}),jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,as:"div",children:e.value})]}),Vr=e=>jsxRuntime.jsxs(ui.Flex,{gapX:2,direction:e.reverse?"rowReverse":"row",children:[jsxRuntime.jsx(ui.Icon.combine,{secondary:{chainId:e.chainId,component:e.component,className:"oui-w-4 oui-h-4 oui-outline-base-8 oui-rounded-full"},children:jsxRuntime.jsx(ui.TokenIcon,{name:e.primary,size:"md"})}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:e.reverse?"end":"start",children:[jsxRuntime.jsx(ui.Text.numeral,{intensity:98,size:"lg",dp:e.dp,children:e.amount}),jsxRuntime.jsx(ui.Text,{intensity:54,size:"xs",children:e.symbol})]})]}),cu=e=>jsxRuntime.jsx(ui.Flex,{justify:"center",children:jsxRuntime.jsx(ui.Flex,{intensity:600,r:"full",gapX:2,justify:"center",py:1,mt:2,width:210,children:jsxRuntime.jsx(ui.Text,{size:"sm",intensity:54,children:jsxRuntime.jsx(i18n.Trans,{i18nKey:"transfer.swapDeposit.averageSwapTime",values:{time:e.time},components:[jsxRuntime.jsx(ui.Text,{color:"primaryLight"},"0")]})})})});var hn=()=>jsxRuntime.jsx(ui.Flex,{justify:"center",gapX:1,mt:3,children:jsxRuntime.jsx(i18n.Trans,{i18nKey:"transfer.swapDeposit.viewFAQs",components:[jsxRuntime.jsx(ui.Text,{size:"xs",color:"primaryLight",onClick:()=>{window.open("https://learn.woo.org/woofi/faqs/woofi-pro");},className:"oui-cursor-pointer"},"0")]})});var qr=e=>{let{transactionData:t,slippage:n,mode:o,dst:a,src:i,chain:s,nativeToken:c,depositFee:r}=e,{t:l}=i18n.useTranslation(),[p,u]=ei.useState(-1),[m,g]=ei.useState("details"),[w,d]=ei.useState(),k=hooks.useEventEmitter(),{swap:v,bridgeStatus:y,message:I,status:f}=Er(),T=ei.useMemo(()=>({price:t.price,slippage:n,time:s?.est_txn_mins,received:a.amount,bridgeFee:t.fees_from.stargate,swapFee:t.fees_from.woofi,dstGasFee:t.dst_infos.gas_fee}),[t,s?.est_txn_mins,o,a]);ei.useEffect(()=>{y==="DELIVERED"&&u(2),y==="FAILED"&&u(1),f===types.WS_WalletStatusEnum.COMPLETED&&u(4),f===types.WS_WalletStatusEnum.FAILED&&u(3);},[y,f]);let x=ei.useCallback(()=>(g("processing"),t?(u(0),v({address:"",crossChainRouteAddress:s?.cross_chain_router,src:{fromToken:t.src_infos.from_token,fromAmount:BigInt(t.src_infos.from_amount),bridgeToken:t.src_infos.bridge_token,minBridgeAmount:BigInt(t.src_infos.min_bridge_amount)},dst:{chainId:t.dst_infos.chain_id,bridgedToken:t.dst_infos.bridged_token,toToken:t.dst_infos.to_token,minToAmount:BigInt(t.dst_infos.min_to_amount),orderlyNativeFees:r}}).then(h=>{d(h),ui.toast.success(l("transfer.deposit.requested")),k.emit("deposit:requested");}).catch(h=>{u(1),ui.toast.error(h?.message||"Error");})):Promise.reject("No transaction data")),[t,o,a,i,k]),D=ei.useMemo(()=>{if(!(p<2||!I))return `https://layerzeroscan.com/tx/${I.srcTxHash}`},[p,I]);return jsxRuntime.jsxs(ui.Box,{intensity:800,children:[jsxRuntime.jsx(wn,{viewMode:m,onConfirm:x,info:T,src:e.src,dst:e.dst,mode:o,markPrice:t.mark_prices?.from_token??1,nativePrice:t.mark_prices.native_token,nativeToken:c}),m==="processing"&&jsxRuntime.jsx(fn,{mode:1,status:p,statusUrl:D,onComplete:e.onComplete,brokerName:e.brokerName}),jsxRuntime.jsx(hn,{})]})};var $r=()=>{let[e,{setTrue:t,setFalse:n}]=hooks.useBoolean(false),o=hooks.useAccountInstance(),a=hooks.useConfig("brokerId"),[i,s]=ei.useState(types.WS_WalletStatusEnum.NO),c=ei.useRef(),r=hooks.useEventEmitter();ei.useEffect(()=>{let u=m=>{let{side:g,transStatus:w,trxId:d}=m;g==="DEPOSIT"&&d===c.current&&s(w);};return r.on("wallet:changed",u),()=>{r.off("wallet:changed",u);}},[c.current]);let l=ei.useCallback(()=>({accountId:o.accountIdHashStr,brokerHash:core.utils.parseBrokerHash(a),tokenHash:core.utils.parseTokenHash("USDC")}),[o,a]);return {swap:ei.useCallback(async(u,m,g)=>{if(!o.walletAdapter)throw new Error("walletAdapter is undefined");if(!o.address)throw new Error("account.address is undefined");if(e)return;t();let w={from:o.address,to:u,data:[o.address,m,l()],value:ln(m.fromToken)?BigInt(m.fromAmount)+m.orderlyNativeFees:m.orderlyNativeFees};try{let d=await o.walletAdapter.sendTransaction(u,"swap",w,{abi:_r});return n(),c.current=d.hash,ramda.pick(["from","to","hash","value"],d)}catch(d){throw new Error(d.errorCode)}},[e,o]),loading:e,status:i}};var Kr=e=>{let{transactionData:t,slippage:n,mode:o,dst:a,src:i,chain:s,nativeToken:c,depositFee:r}=e,{t:l}=i18n.useTranslation(),[p,u]=ei.useState(-1),[m,g]=ei.useState("details"),[w,d]=ei.useState(),k=hooks.useEventEmitter(),{swap:v,status:y}=$r(),I=ei.useMemo(()=>({price:t.price,slippage:n,time:s?.est_txn_mins,received:a.amount,dstGasFee:new utils.Decimal(r.toString())?.div(new utils.Decimal(10).pow(18))?.toString(),swapFee:t.fees_from}),[t,s?.est_txn_mins,o,a,r]);ei.useEffect(()=>{y===types.WS_WalletStatusEnum.COMPLETED&&u(4),y===types.WS_WalletStatusEnum.FAILED&&u(3);},[y]);let f=ei.useCallback(()=>(g("processing"),t?!s||!s.depositor?Promise.reject("No chain data"):(u(2),v(s.depositor,{fromToken:t.infos.from_token,fromAmount:t.infos.from_amount,toToken:t.infos.to_token,minToAmount:t.infos.min_to_amount,orderlyNativeFees:r},{dst:a,src:i}).then(x=>{d(x),ui.toast.success(l("transfer.deposit.requested")),k.emit("deposit:requested");}).catch(x=>{u(3),ui.toast.error(x?.message||"Error");})):Promise.reject("No transaction data")),[t,o,a,i,k]),T=ei.useMemo(()=>{if(!(p<2||!w))return `${s?.explorer_base_url}/tx/${w.hash}`},[p,w,s]);return jsxRuntime.jsxs(ui.Box,{intensity:800,children:[jsxRuntime.jsx(wn,{viewMode:m,onConfirm:f,info:I,src:e.src,dst:e.dst,mode:o,markPrice:t.mark_prices?.from_token??1,nativePrice:t.mark_prices.native_token,nativeToken:c}),m==="processing"&&jsxRuntime.jsx(fn,{mode:0,status:p,statusUrl:T,onComplete:e.onComplete,brokerName:e.brokerName}),jsxRuntime.jsx(hn,{})]})};var es=e=>{let{mode:t}=e;return t===1?jsxRuntime.jsx(qr,{...e}):jsxRuntime.jsx(Kr,{...e})};var bn=ui.modal.create(e=>{let{isMobile:t}=ui.useScreen(),{t:n}=i18n.useTranslation(),{visible:o,hide:a,resolve:i,reject:s,onOpenChange:c}=ui.useModal(),r=u=>{i(u),a();},l=()=>{s(),a();},p={title:n("transfer.swapDeposit.swapDialog.title"),open:o,onOpenChange:c,classNames:{content:"oui-font-semibold"},children:jsxRuntime.jsx(es,{...e,onComplete:r,onCancel:l})};return t?jsxRuntime.jsx(ui.SimpleSheet,{...p}):jsxRuntime.jsx(ui.SimpleDialog,{...p,size:"md"})});var ts=()=>{let[e,{setTrue:t,setFalse:n}]=hooks.useBoolean(false),o=hooks.useConfig("brokerId"),a=hooks.useAccountInstance(),i=ei.useCallback(()=>({accountId:a.accountIdHashStr,brokerHash:core.utils.parseBrokerHash(o),tokenHash:core.utils.parseTokenHash("USDC")}),[a,o]),s=ei.useCallback(async(r,l)=>{if(!a.walletAdapter)throw new Error("walletAdapter is not ready");let p=await a.walletAdapter.call(r,"quoteLayerZeroFee",[a.address,l,i()],{abi:kt});return core.utils.formatByUnits(p[0])},[]);return {query:ei.useCallback(r=>{if(e)return Promise.resolve();t();let l={src_network:r.srcNetwork,dst_network:"arbitrum",src_token:r.srcToken,dst_token:r.dstToken,src_amount:r.amount,slippage:r.slippage||1},p=Object.entries(l).map(([u,m])=>`${u}=${encodeURIComponent(m)}`).join("&");return fetch(`${cn}/woofi_dex/cross_chain_swap?${p}`).then(u=>u.ok?u.json():u.json().then(m=>{throw new Error(m.error.message)})).then(u=>{if(u.status==="ok")return u.data;throw new Error(u.message)}).then(u=>s(r.crossChainRouteAddress,{chainId:u.dst_infos.chain_id,bridgedToken:u.dst_infos.bridged_token,toToken:u.dst_infos.to_token,minToAmount:BigInt(u.dst_infos.min_to_amount),orderlyNativeFees:0n}).then(m=>({...u,dst_infos:{...u.dst_infos,gas_fee:m}})).catch(m=>{})).finally(()=>n())},[e,a]),loading:e}};var ns=()=>{let e=hooks.useAccountInstance(),[t,{setTrue:n,setFalse:o}]=hooks.useBoolean(false);return {query:ei.useCallback(i=>{if(t)return Promise.resolve();n();let s={network:i.srcNetwork,from_token:i.srcToken,to_token:i.dstToken,from_amount:i.amount,slippage:i.slippage||1},c=Object.entries(s).map(([r,l])=>`${r}=${encodeURIComponent(l)}`).join("&");return fetch(`${cn}/woofi_dex/swap?${c}`).then(r=>r.ok?r.json():r.json().then(l=>{throw new Error(l.error.message)})).then(r=>{if(r.status==="ok")return r.data;throw new Error(r.message)}).finally(()=>o())},[e]),loading:t}};function xn(e){let{quantity:t,dst:n,queryParams:o,needSwap:a,needCrossSwap:i}=e,{t:s}=i18n.useTranslation(),{query:c}=ns(),{query:r}=ts(),l=ei.useRef(o);l.current=o;let[p,u]=ei.useState(""),[m,g]=ei.useState(""),[w,{setTrue:d,setFalse:k}]=hooks.useBoolean(false),[v,y]=ei.useState({price:0,markPrices:{from_token:0,native_token:0},fee:""}),I=ei.useCallback(()=>i?r(l.current):a?c(l.current):Promise.reject("no need to enquiry"),[a,i]),f=h=>{if(h.mark_prices){let F=i?h.dst_infos.gas_fee:"0",b=i?h.fees_from.woofi:h.fees_from,C=i?h.fees_from.stargate:void 0,N=i?h.fees_from.total:h.fees_from;y({price:h.price,markPrices:h.mark_prices,dstGasFee:F,swapFee:b,bridgeFee:C,fee:N});}if(h.route_infos){let F=i?h.route_infos.dst.amounts[1]:h.route_infos.amounts[1];u(new utils.Decimal(F).div(Math.pow(10,n.decimals)).toString());}return g(""),h},T=h=>{y({fee:"0",markPrices:{from_token:0,native_token:0},price:0,swapFee:"0",bridgeFee:"0",dstGasFee:"0",...h}),u("");},x=h=>{h.message==="contract call failed"?(g(s("transfer.swapDeposit.notEnoughLiquidity")),T()):(g(""),h?.message&&ui.toast.error(h.message));},D=hooks.useDebouncedCallback(()=>(d(),I().then(f,x).finally(()=>{k();})),300);return ei.useEffect(()=>{if(!a&&!i){T({price:1}),u(t);return}let h=Number(t);if(isNaN(h)||h<=0){T();return}D();},[a,i,t]),{enquiry:I,querying:w,warningMessage:m,transactionInfo:v,amount:p,cleanTransactionInfo:T}}function Tn(e){let{nativeToken:t,isNativeToken:n,src:o,depositFee:a=0,transactionInfo:i,needSwap:s,needCrossSwap:c}=e,r=t?.symbol,l=o?.symbol,{fee:p="0",swapFee:u="0",bridgeFee:m="0",dstGasFee:g="0",markPrices:w}=i,{from_token:d,native_token:k}=w,{data:v}=hooks.useIndexPrice(`SPOT_${r}_USDC`),{t:y}=i18n.useTranslation();return {...ei.useMemo(()=>{let f="",T=[],x=He(t?.precision),D=He(o?.precision),h=c?g:new utils.Decimal(a.toString()).div(new utils.Decimal(10).pow(18)).toString();if(!s&&!c&&(T=[{value:h,dp:x}],f=new utils.Decimal(h).mul(v||0).toString()),s||c)if(n){let b=new utils.Decimal(h).plus(p);T=[{value:b.toString(),dp:x}],f=b.mul(k??1).toString();}else T=[{value:h,dp:x,symbol:r},{value:p,dp:D,symbol:l}],f=new utils.Decimal(h).mul(k??1).plus(new utils.Decimal(p).mul(d??1)).toString();T=T.filter(b=>!!b.value&&Number(b.value)!==0);let F=[{title:y("transfer.deposit.destinationGasFee"),description:y("transfer.deposit.destinationGasFee.description"),value:h,dp:x,symbol:r},{title:y("transfer.swapDeposit.swapFee"),description:y("transfer.swapDeposit.swapFee.description"),value:u,dp:D,symbol:l},{title:y("transfer.swapDeposit.bridgeFee"),description:y("transfer.swapDeposit.bridgeFee.description"),value:m,dp:D,symbol:l}].filter((b,C)=>C===0||!!b.value&&Number(b.value)!==0).map(b=>{let C=new utils.Decimal(b.value||0).todp(b.dp).toNumber();return {...b,value:utils.toNonExponential(C)}});return {feeAmount:f,feeQtys:T,feeDetails:F}},[a,v,r,l,i,s,c]),nativeSymbol:r}}var ll="orderly_swap_deposit_slippage",is=e=>{let{srcToken:t,currentChain:n,dst:o,quantity:a,isNativeToken:i,depositFee:s,setQuantity:c,needSwap:r,needCrossSwap:l}=e,[p,u]=hooks.useLocalStorage(ll,1),g=hooks.useConfig().get("brokerName")||"",{enquiry:w,transactionInfo:d,amount:k,querying:v,warningMessage:y,cleanTransactionInfo:I}=xn({quantity:a,dst:o,queryParams:{network:o.network,srcNetwork:n?.info?.network_infos?.shortName,srcToken:t?.address,dstToken:o.address,crossChainRouteAddress:n?.info?.network_infos?.cross_chain_router,amount:new utils.Decimal(a||0).mul(10**(t?.decimals||0)).toString(),slippage:p},needSwap:r,needCrossSwap:l}),f=ei.useCallback(()=>{c(""),I();},[c]),T=ei.useCallback(async()=>w().then(b=>{let C=l?b.route_infos?.dst.amounts[1]:b.route_infos?.amounts[1],N={mode:l?1:0,src:{chain:n?.id,token:t.symbol,displayDecimals:t?.precision,amount:a,decimals:t.decimals},dst:{chain:o.chainId,token:o.symbol,displayDecimals:2,amount:new utils.Decimal(C).div(Math.pow(10,o.decimals)).toString(),decimals:o.decimals},chain:n?.info?.network_infos,nativeToken:n?.info?.nativeToken,depositFee:s,transactionData:b,slippage:p,brokerName:g};return ui.modal.show(bn,N)}).then(b=>{b&&f();}).catch(b=>{}),[a,l,o,n,p,s]),x=ei.useMemo(()=>l||r?d.price:1,[d]),D=ei.useMemo(()=>l||r?i?d.markPrices.native_token:d.markPrices.from_token:1,[r,l,i,d]),h=r||l?k:a,F=Tn({nativeToken:n?.info?.nativeToken,isNativeToken:i,src:t,depositFee:s,transactionInfo:d,needSwap:r,needCrossSwap:l});return {cleanTransactionInfo:I,onSwapDeposit:T,swapPrice:x,markPrice:D,swapQuantity:h,swapFee:F,swapRevalidating:v,warningMessage:y,needSwap:r,needCrossSwap:l,slippage:p,onSlippageChange:u}};function St(e){let{isNativeToken:t,allowance:n,quantity:o,maxQuantity:a}=e;return ei.useMemo(()=>{let s=t?Number.MAX_VALUE:Number(n);if(s<=0)return 1;let c=Number(o),r=Number(a);return s<c&&c<=r?2:0},[t,n,o,a])}function vt(){let{t:e}=i18n.useTranslation(),t=hooks.useConfig("networkId"),[n]=hooks.useLocalStorage("orderly_link_device",{}),{connectedChain:o,settingChain:a,setChain:i}=hooks.useWalletConnector(),[s,{findByChainId:c}]=hooks.useChains(t,{pick:"network_infos",filter:p=>p.network_infos?.bridge_enable||p.network_infos?.bridgeless}),r=ei.useMemo(()=>{let p=o?utils.praseChainIdToNumber(o.id):parseInt(n?.chainId);if(!p)return null;let u=c(p);return {...o,id:p,info:u}},[c,o,n]),l=ei.useCallback(async p=>{let u=c(p.chain_id);if(o)return !u||u.network_infos?.chain_id===r?.id?Promise.resolve():i({chainId:utils.int2hex(Number(u.network_infos?.chain_id))}).then(m=>{m?ui.toast.success(e("connector.networkSwitched")):ui.toast.error(e("connector.switchChain.failed"));}).catch(m=>{m&&m.message&&ui.toast.error(`${e("connector.switchChain.failed")}: ${m.message}`);})},[r,i,c]);return {chains:s,currentChain:r,settingChain:a,onChainChange:l}}function Ft(e){let{quantity:t,allowance:n,approve:o,deposit:a,enableCustomDeposit:i,customDeposit:s,onSuccess:c}=e,[r,l]=ei.useState(false),p=hooks.useEventEmitter(),{t:u}=i18n.useTranslation(),m=ei.useCallback(async()=>{if(!r)return l(true),o(t).then(d=>{ui.toast.success(u("transfer.deposit.approve.success"));}).catch(d=>{ui.toast.error(d.message||d.errorCode||u("transfer.deposit.approve.failed"));}).finally(()=>{l(false);})},[o,r,t,n,u]),g=ei.useCallback(async()=>a().then(d=>{ui.toast.success(u("transfer.deposit.requested")),p.emit("deposit:requested"),c?.();}).catch(d=>{ui.toast.error(d.message||u("transfer.deposit.failed"));}),[a,c,u]),w=ei.useCallback(()=>{let d=Number(t);if(isNaN(d)||d<=0){ui.toast.error(u("transfer.quantity.invalid"));return}if(r)return;l(true),(i?s:g)?.()?.finally(()=>{l(false);});},[t,r,g,i,s,u]);return {submitting:r,onApprove:m,onDeposit:w}}function At(e){let{quantity:t,maxQuantity:n}=e,{t:o}=i18n.useTranslation(),[a,i]=ei.useState("default"),[s,c]=ei.useState();return ei.useEffect(()=>{if(!t){i("default"),c("");return}new utils.Decimal(t).gt(n)?(i("error"),c(o("transfer.insufficientBalance"))):(i("default"),c(""));},[t,n]),{inputStatus:a,hintMessage:s}}var Cn=(e,t=()=>true)=>{let[n,o]=ei.useState(),[a,i]=ei.useState(),[s,c]=ei.useState([]),[r,l]=ei.useState([]),p=hooks.useConfig("networkId"),u=ei.useCallback(m=>{if(m&&m?.token_infos?.length>0){let g=m.token_infos?.filter(t),w=yn(g);if(!w)return;o(w),i(w),c(g),l([w]);}},[]);return ei.useEffect(()=>{u(e?.info);},[e,u]),ei.useEffect(()=>{if(!n||!s.length)return;if(n.symbol==="USDC"){i(n),l([n]);return}let m=s.find(g=>g.symbol==="USDC");if(n.is_collateral){p==="mainnet"?(i(m),l([m,n])):(i(n),l([n]));return}i(m),l([m]);},[p,n,s]),{sourceToken:n,targetToken:a,sourceTokens:s,targetTokens:r,onSourceTokenChange:o,onTargetTokenChange:i}};var {collateralRatio:Vl,collateralContribution:zl,calcMinimumReceived:Ul}=perp.account,Sn=3,Co=e=>{let{wrongNetwork:t}=reactApp.useAppContext(),{t:n}=i18n.useTranslation(),o=hooks.useConfig("networkId"),{chains:a,currentChain:i,settingChain:s,onChainChange:c}=vt(),{sourceToken:r,targetToken:l,sourceTokens:p,targetTokens:u,onSourceTokenChange:m,onTargetTokenChange:g}=Cn(i),w=ei.useMemo(()=>p?.find(Yo=>Yo.symbol==="USDC"),[p]),{dst:d,balance:k,allowance:v,depositFeeRevalidating:y,depositFee:I,quantity:f,setQuantity:T,approve:x,deposit:D,isNativeToken:h,balanceRevalidating:F,fetchBalance:b}=hooks.useDeposit({address:r?.address,decimals:r?.decimals,srcChainId:i?.id,srcToken:r?.symbol,dstToken:l?.symbol,crossChainRouteAddress:i?.info?.network_infos?.cross_chain_router,depositorAddress:i?.info?.network_infos?.depositor}),C=ei.useMemo(()=>new utils.Decimal(k||0).todp(r?.precision??2,utils.Decimal.ROUND_DOWN).toString(),[k,r?.precision]),{inputStatus:N,hintMessage:$}=At({quantity:f,maxQuantity:C}),{needSwap:M,needCrossSwap:S}=un({srcToken:r,dstToken:l,srcChainId:i?.id,dstChainId:d?.chainId}),{cleanTransactionInfo:O,onSwapDeposit:B,swapRevalidating:q,swapPrice:J,markPrice:se,swapQuantity:E,swapFee:W,warningMessage:j,slippage:ne,onSlippageChange:le}=is({srcToken:r,currentChain:i,dst:d,quantity:f,isNativeToken:h,depositFee:I,setQuantity:T,needSwap:M,needCrossSwap:S}),oe=ei.useCallback(()=>{T(""),O();},[T]),ce=ei.useCallback(()=>{oe(),e.onClose?.();},[oe,e.onClose]),{submitting:xe,onApprove:ie,onDeposit:me}=Ft({quantity:f,allowance:v,approve:x,deposit:D,enableCustomDeposit:M||S,customDeposit:B,onSuccess:ce}),_=ei.useMemo(()=>r?.symbol==="USDC"||r?.symbol!==l?.symbol||!r?.is_collateral||!f||isNaN(Number(f))?"":new utils.Decimal(f).gt(r?.user_max_qty)?n("transfer.deposit.userMaxQty.error",{maxQty:r?.user_max_qty,token:r?.symbol}):"",[r,l,f,n]),pe=xe||y,P=!f||Number(f)===0||!r||N==="error"||y||q||!!_,L=ei.useMemo(()=>new utils.Decimal(f||0).mul(1).toNumber(),[f]),X=St({isNativeToken:h,allowance:v,quantity:f,maxQuantity:C}),Y=Ql({nativeToken:i?.info?.nativeToken,depositFee:I}),{collateralRatio:Ne,collateralContributionQuantity:A,currentLTV:G,nextLTV:Le,indexPrice:Qs}=ql({sourceToken:r,targetToken:l,qty:f}),{ltv_threshold:qs,negative_usdc_threshold:Gs,isLoading:Hs}=Gl();ei.useEffect(()=>{oe();},[r,i?.id]);let $s=ei.useMemo(()=>{if(h&&C===f)return n("transfer.deposit.gasFee.error",{token:r?.symbol})},[C,f,r?.symbol,n]),js=j||_||$s,Xs=ei.useMemo(()=>M?E&&new utils.Decimal(E)?.todp(Sn,utils.Decimal.ROUND_DOWN).toString():f,[M,E,f]),Ys=ei.useMemo(()=>E?Ul({amount:Number(E),slippage:ne}):"-",[E,ne]);return {sourceToken:r,targetToken:l,sourceTokens:p,targetTokens:u,onSourceTokenChange:m,onTargetTokenChange:g,amount:L,isNativeToken:h,quantity:f,collateralContributionQuantity:A,maxQuantity:C,indexPrice:Qs,onQuantityChange:T,hintMessage:$,inputStatus:N,chains:a,currentChain:i,settingChain:s,onChainChange:c,actionType:X,onDeposit:me,onApprove:ie,fetchBalance:b,dst:d,wrongNetwork:t,balanceRevalidating:F,loading:pe,disabled:P,networkId:o,fee:Y,collateralRatio:Ne,currentLTV:G,nextLTV:Le,ltv_threshold:qs,negative_usdc_threshold:Gs,isConvertThresholdLoading:Hs,slippage:ne,onSlippageChange:le,minimumReceived:Ys,usdcToken:w,needSwap:M,needCrossSwap:S,swapPrice:J,markPrice:se,swapFee:W,warningMessage:js,targetQuantity:Xs,targetQuantityLoading:q}};function Ql(e){let{nativeToken:t,depositFee:n=0}=e,{account:o}=hooks.useAccount(),a=t?.symbol,i=hooks.useTokenInfo(a),{data:s}=hooks.useIndexPrice(`SPOT_${a}_USDC`);return {...ei.useMemo(()=>{let r=new utils.Decimal(n.toString()).div(new utils.Decimal(10).pow(o.walletAdapter?.chainNamespace===types.ChainNamespace.solana?9:18)).toString(),l=new utils.Decimal(r).mul(s||0).toString();return {dstGasFee:r,feeQty:r,feeAmount:l,dp:i?.decimals||8}},[n,s]),nativeSymbol:a}}var ql=e=>{let{sourceToken:t,targetToken:n}=e,o=Number(e.qty),{data:a}=hooks.useIndexPricesStream(),i=ei.useMemo(()=>{if(t?.symbol==="USDC")return 1;let p=`PERP_${t?.symbol}_USDC`;return a[p]??0},[t?.symbol,a]),s=ei.useMemo(()=>Vl({baseWeight:n?.base_weight??0,discountFactor:n?.discount_factor??0,collateralQty:o,collateralCap:t?.user_max_qty??o,indexPrice:i}),[n,o,t?.user_max_qty,i]),c=zl({collateralQty:o,collateralCap:t?.user_max_qty??o,collateralRatio:s,indexPrice:i}),r=hooks.useComputedLTV(),l=hooks.useComputedLTV({input:o,token:t?.symbol});return {collateralRatio:s,collateralContributionQuantity:c,currentLTV:r,nextLTV:l,indexPrice:i}},Gl=()=>{let{data:e,error:t,isLoading:n}=hooks.useQuery("/v1/public/auto_convert_threshold",{errorRetryCount:3});return {ltv_threshold:e?.ltv_threshold,negative_usdc_threshold:e?.negative_usdc_threshold,isLoading:n,error:t}};var vo=e=>{let{sourceToken:t,targetToken:n,sourceTokens:o,targetTokens:a,onSourceTokenChange:i,onTargetTokenChange:s,amount:c,quantity:r,collateralContributionQuantity:l,maxQuantity:p,onQuantityChange:u,hintMessage:m,inputStatus:g,chains:w,currentChain:d,settingChain:k,onChainChange:v,actionType:y,onDeposit:I,onApprove:f,fetchBalance:T,wrongNetwork:x,balanceRevalidating:D,loading:h,disabled:F,networkId:b,fee:C,collateralRatio:N,currentLTV:$,nextLTV:M,slippage:S,onSlippageChange:O,minimumReceived:B,needSwap:q,needCrossSwap:J,swapPrice:se,swapFee:E,warningMessage:W,usdcToken:j,targetQuantity:ne,targetQuantityLoading:le}=e,{t:oe}=i18n.useTranslation(),ce=()=>q||J?jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",mt:1,gapY:1,children:[jsxRuntime.jsxs(ui.Flex,{width:"100%",itemAlign:"center",justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:oe("transfer.deposit.convertRate")}),jsxRuntime.jsx(xt,{sourceSymbol:t?.display_name||t?.symbol,targetSymbol:n?.display_name||n?.symbol,precision:Sn,indexPrice:se})]}),jsxRuntime.jsx(Je,{value:S,onValueChange:O}),jsxRuntime.jsx(Gt,{value:B,symbol:n?.symbol??"",precision:Sn}),jsxRuntime.jsx(tn,{...E})]}):jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",mt:2,gap:1,children:[jsxRuntime.jsx(Xn,{value:N}),jsxRuntime.jsx(ir,{precision:j?.precision??6,value:l}),jsxRuntime.jsx(gt,{showDiff:typeof r<"u"&&Number(r)>0,currentLtv:$,nextLTV:M}),jsxRuntime.jsx(bt,{...C})]});return jsxRuntime.jsxs(ui.Box,{id:"oui-deposit-form",className:ui.textVariants({weight:"semibold"}),children:[jsxRuntime.jsxs(ui.Box,{className:"oui-mb-6 lg:oui-mb-8",children:[jsxRuntime.jsx(Tt,{}),jsxRuntime.jsxs(ui.Box,{mt:3,mb:1,children:[jsxRuntime.jsx(Ue,{chains:w,value:d,onValueChange:v,wrongNetwork:x,loading:k}),jsxRuntime.jsx(Z,{classNames:{root:"oui-mt-[2px] oui-rounded-t-sm oui-rounded-b-xl"},value:r,onValueChange:u,token:t,tokens:o,onTokenChange:i,status:g,hintMessage:m,fetchBalance:T,"data-testId":"oui-testid-deposit-dialog-quantity-input"})]}),jsxRuntime.jsx(de,{token:t,amount:c,maxQuantity:p,loading:D,onClick:()=>{u(p);}}),jsxRuntime.jsx(fe,{}),jsxRuntime.jsx(ze,{}),jsxRuntime.jsx(Z,{readOnly:true,token:n,tokens:a,onTokenChange:s,value:ne,loading:le,classNames:{root:"oui-mt-3 oui-border-transparent focus-within:oui-outline-transparent"}}),ce()]}),jsxRuntime.jsx(Fr,{sourceToken:t?.symbol,targetToken:n?.symbol,className:"oui-mb-3"}),jsxRuntime.jsx(Jt,{message:W,needSwap:q,needCrossSwap:J,wrongNetwork:x,networkId:b}),jsxRuntime.jsx(ui.Flex,{justify:"center",children:jsxRuntime.jsx(wt,{actionType:y,symbol:t?.symbol,disabled:F,loading:h,onDeposit:I,onApprove:f,networkId:b})})]})};var Dt=e=>{let t=Co(e);return jsxRuntime.jsx(vo,{...t})};var ds=e=>{let{value:t,onChange:n,status:o,hintMessage:a,placeholder:i,label:s}=e,c=ei.useRef(null),r=u=>{n?.(u.target.value);let m=c.current;m&&(m.style.height="auto",m.style.height=`${m.scrollHeight}px`);};ei.useEffect(()=>{let u=c.current;u&&(u.style.height="auto",u.style.height=`${u.scrollHeight}px`);},[t]);let l=jsxRuntime.jsx("div",{className:"oui-absolute oui-left-3 oui-top-0.5 oui-z-[1]",children:jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:s})}),p=jsxRuntime.jsxs(ui.Flex,{mt:1,gapX:1,px:1,children:[jsxRuntime.jsx(ui.Box,{width:4,height:4,r:"full",className:ui.cn(o==="error"&&"oui-bg-danger-light",o==="warning"&&"oui-bg-warning-light")}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:ui.cn(o==="error"&&"oui-text-danger-light",o==="warning"&&"oui-text-warning-light"),children:a})]});return jsxRuntime.jsxs("div",{className:"oui-relative",children:[l,jsxRuntime.jsx("textarea",{ref:c,placeholder:i,className:ui.cn("oui-resize-none oui-overflow-y-hidden","oui-relative oui-min-h-[54px] oui-px-3 oui-pb-2 oui-pt-5","oui-w-full oui-bg-base-5 oui-text-sm oui-text-base-contrast","oui-rounded-lg oui-outline-none","oui-border oui-border-line focus:oui-border-primary-light",o==="error"&&"oui-border-danger-light focus-within:oui-border-danger-light focus:oui-border-danger-light",o==="warning"&&"oui-border-warning-light focus-within:oui-border-warning-light focus:oui-border-warning-light",e.className),rows:1,value:t,onChange:r}),a&&p]})};var Dn=e=>{let{hasPositions:t,unsettledPnl:n,onSettlePnl:o,tooltipContent:a,dialogContent:i}=e,{t:s}=i18n.useTranslation();if(n===0&&!t)return jsxRuntime.jsx(jsxRuntime.Fragment,{});let c=()=>{ui.modal.confirm({title:s("settle.settlePnl"),content:i,onOk:()=>o()});};return jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-text-2xs oui-text-base-contrast-36",children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"start",gap:1,children:[jsxRuntime.jsx(ui.Tooltip,{className:"oui-max-w-[274px] oui-font-semibold",content:a,children:jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"start",gap:1,children:[jsxRuntime.jsx(ui.ExclamationFillIcon,{size:14,className:"oui-text-warning-darken"}),jsxRuntime.jsx(ui.Text,{className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",children:`${s("settle.unsettled")}:`})]})}),jsxRuntime.jsx(ui.Text.numeral,{showIdentifier:true,coloring:true,weight:"semibold",dp:6,"data-testid":"oui-testid-withdraw-dialog-unsettledPnl-value",children:n}),jsxRuntime.jsx(ui.Text,{children:"USDC"})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gap:1,className:"oui-cursor-pointer",children:[jsxRuntime.jsx(nr,{className:"oui-text-primary"}),jsxRuntime.jsx(ui.Text,{"data-testid":"oui-testid-withdraw-dialog-settle-text",size:"2xs",color:"primary",className:" oui-select-none",onClick:c,children:s("common.settle")})]})]})};var fs=({address:e,amount:t,currentChain:n})=>{let{t:o}=i18n.useTranslation(),a=ei.useMemo(()=>{if(n&&n.info&&n.info.network_infos)return n.info.network_infos.name},[n]);return jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",justify:"start",className:"oui-gap-1 lg:oui-gap-3",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",mb:5,className:"oui-gap-3 lg:oui-gap-4",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",justify:"start",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:o("transfer.withdraw.crossChain.recipientAddress")}),jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,className:"oui-break-all",children:e})]}),jsxRuntime.jsxs(ui.Flex,{direction:"column",justify:"start",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:o("transfer.withdraw.crossChain.recipientNetwork")}),jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.ChainIcon,{className:"oui-h-[18px] oui-w-[18px]",size:"sm",chainId:n.id}),jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,children:a})]})]}),jsxRuntime.jsxs(ui.Flex,{direction:"column",justify:"start",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:`${o("transfer.withdraw.crossChain.withdrawAmount")} (USDC)`}),jsxRuntime.jsx(ui.Text.numeral,{size:"sm",intensity:98,dp:2,children:t})]})]}),jsxRuntime.jsx(ui.Flex,{justify:"center",className:"oui-text-warning-darken oui-text-2xs lg:oui-text-xs oui-text-center",mb:3,children:o("transfer.withdraw.crossChain.warning")})]})};function Fo(e){let{t}=i18n.useTranslation(),n=()=>{ui.modal.show(uiChainSelector.ChainSelectorDialogId,{networkId:e.networkId,bridgeLessOnly:true}).then(o=>{ui.toast.success(t("connector.networkSwitched"));},o=>{});};return jsxRuntime.jsx(ui.Flex,{direction:"column",children:jsxRuntime.jsx(ui.Button,{color:"warning",size:e.size,fullWidth:true,onClick:()=>{n();},children:t("connector.switchNetwork")})})}var ws=e=>{let{disabled:t,loading:n,onWithdraw:o,networkId:a,crossChainWithdraw:i,address:s,currentChain:c,quantity:r,fee:l,checkIsBridgeless:p,onTransfer:u}=e,{t:m}=i18n.useTranslation(),g=ei.useMemo(()=>r?new utils.Decimal(r).minus(l??0).toNumber():0,[r,l]),w=()=>{if(i){ui.modal.confirm({title:m("transfer.withdraw.crossChain.confirmWithdraw"),content:jsxRuntime.jsx(fs,{address:s,amount:g,currentChain:c}),classNames:{content:"oui-font-semibold",body:"!oui-pb-0",footer:"!oui-pt-0"},onOk:async()=>{o();}});return}o();},d={initial:"md",lg:"lg"},k=()=>e.withdrawTo==="accountId"?jsxRuntime.jsx(ui.Button,{fullWidth:true,disabled:t,loading:n,onClick:u,size:d,children:m("common.withdraw")}):p?jsxRuntime.jsx(ui.Button,{"data-testid":"oui-testid-withdraw-dialog-withdraw-btn",fullWidth:true,disabled:t,loading:n,onClick:w,size:d,children:m("common.withdraw")}):jsxRuntime.jsx(Fo,{networkId:a,size:d});return jsxRuntime.jsx(ui.Box,{className:"oui-w-full lg:oui-w-auto lg:oui-min-w-[184px]",children:jsxRuntime.jsx(uiConnector.AuthGuard,{status:types.AccountStatusEnum.EnableTrading,networkId:a,bridgeLessOnly:true,buttonProps:{fullWidth:true,size:d},children:k()})})};var xs=({checkIsBridgeless:e,quantity:t,chainVaultBalance:n,currentChain:o,maxAmount:a,crossChainTrans:i})=>{let{t:s}=i18n.useTranslation(),{wrongNetwork:c}=reactApp.useAppContext(),{state:r}=hooks.useAccount(),l=ei.useMemo(()=>{if(o&&o.info&&o.info.network_infos)return o.info.network_infos.name},[o]),p=ei.useMemo(()=>!n||!a||!t||new utils.Decimal(t).gt(a)?false:!!new utils.Decimal(t).gt(n),[t,n]),m=(()=>{if(r.status!==types.AccountStatusEnum.NotConnected){if(i)return s("transfer.withdraw.crossChain.process");if(p)return s("transfer.withdraw.crossChain.vaultWarning",{networkName:l,chainVaultBalance:n})}})();return m?jsxRuntime.jsx(ui.Flex,{className:"oui-text-warning-darken oui-text-xs oui-justify-center oui-text-center",mb:3,children:m}):null};var Ao=e=>{let{address:t,loading:n,disabled:o,quantity:a,onQuantityChange:i,sourceToken:s,amount:c,maxQuantity:r,tokenChains:l,currentChain:p,fee:u,settingChain:m,chainVaultBalance:g,crossChainTrans:w,checkIsBridgeless:d,withdrawTo:k,sourceTokens:v,onSourceTokenChange:y,vaultBalanceList:I}=e,{t:f}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Box,{id:"oui-withdraw-form",className:ui.textVariants({weight:"semibold"}),children:[jsxRuntime.jsxs(ui.Box,{className:"oui-mb-6 lg:oui-mb-8",children:[jsxRuntime.jsx(ze,{}),jsxRuntime.jsx(ui.Box,{mt:3,mb:1,children:jsxRuntime.jsx(Z,{value:a,onValueChange:i,token:s,tokens:v,onTokenChange:y,status:e.inputStatus,hintMessage:e.hintMessage,vaultBalanceList:I,testId:"oui-testid-withdraw-dialog-quantity-input",displayType:"vaultBalance"})}),jsxRuntime.jsx(de,{token:s,amount:c,maxQuantity:r.toString(),loading:e.balanceRevalidating,onClick:()=>{i(r.toString());}}),jsxRuntime.jsx(ui.Box,{mx:2,mt:1,children:jsxRuntime.jsx(Dn,{unsettledPnl:e.unsettledPnL,hasPositions:e.hasPositions,onSettlePnl:e.onSettlePnl,tooltipContent:f("settle.unsettled.tooltip"),dialogContent:jsxRuntime.jsx(i18n.Trans,{i18nKey:"settle.settlePnl.description"})})}),jsxRuntime.jsx(fe,{}),jsxRuntime.jsxs(ui.Tabs,{value:k,onValueChange:e.setWithdrawTo,variant:"contained",size:"lg",classNames:{tabsList:"oui-px-0",tabsContent:"oui-pt-3"},children:[jsxRuntime.jsxs(ui.TabPanel,{title:f("transfer.web3Wallet.my"),icon:jsxRuntime.jsx(ui.WalletIcon,{size:"xs",name:e.walletName??""}),value:"wallet",children:[jsxRuntime.jsx(Ue,{chains:l,value:p,onValueChange:e.onChainChange,wrongNetwork:e.wrongNetwork,loading:m}),jsxRuntime.jsx(Z,{classNames:{root:"oui-mt-[2px] oui-rounded-t-sm oui-rounded-b-xl"},token:s,value:e.showQty,readOnly:true})]}),jsxRuntime.jsxs(ui.TabPanel,{title:f("transfer.withdraw.otherAccount",{brokerName:e.brokerName}),value:"accountId",children:[jsxRuntime.jsx(ds,{label:f("common.accountId"),value:e.toAccountId,onChange:e.setToAccountId,status:e.toAccountIdInputStatus,hintMessage:e.toAccountIdHintMessage}),jsxRuntime.jsx(ui.Box,{my:2,children:jsxRuntime.jsx(ui.Text,{size:"xs",intensity:54,children:f("transfer.withdraw.accountId.tips")})})]})]}),jsxRuntime.jsx(ui.Flex,{direction:"column",mt:1,gapY:1,itemAlign:"start",children:jsxRuntime.jsxs(ui.Text,{size:"xs",intensity:36,children:[f("common.fee"),k==="wallet"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[" \u2248 ",jsxRuntime.jsx(ui.Text,{size:"xs",intensity:80,children:u})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[" = ",jsxRuntime.jsx(ui.Text,{size:"xs",intensity:80,children:"0"})]})]})})]}),jsxRuntime.jsx(xs,{checkIsBridgeless:d,chainVaultBalance:g,currentChain:p,quantity:a,maxAmount:r,crossChainTrans:w}),jsxRuntime.jsx(ui.Flex,{justify:"center",children:jsxRuntime.jsx(ws,{checkIsBridgeless:d,networkId:e.networkId,disabled:o,loading:n,onWithdraw:e.onWithdraw,crossChainWithdraw:e.crossChainWithdraw,currentChain:p,address:t,quantity:a,fee:u,withdrawTo:k,onTransfer:e.onTransfer})})]})};var ut=e=>{let{accountId:t}=e||{},{t:n}=i18n.useTranslation(),o=hooks.useEventEmitter(),{account:a,state:i}=hooks.useAccount(),[s]=hooks.usePositionStream();return {hasPositions:ei.useMemo(()=>!!s?.rows?.length,[s]),onSettlePnl:async()=>(t&&i.mainAccountId!==t?a.settleSubAccount({subAccountId:t}):a.settle({accountId:t})).then(u=>(ui.toast.success(n("settle.settlement.requested")),Promise.resolve(u))).catch(u=>{if(u.code==-1104)ui.toast.error(n("settle.settlement.error"));else if(u.message.indexOf("Signing off chain messages with Ledger is not yet supported")!==-1)o.emit("wallet:sign-message-with-ledger-error",{message:u.message,userAddress:a.address});else if(u.message.indexOf("user rejected")!==-1)ui.toast.error(n("transfer.rejectTransaction"));else return ui.toast.error(u.message),Promise.reject(u)})}};var Ss=1,No=e=>{let{t}=i18n.useTranslation(),[n,o]=ei.useState(false),[a,i]=ei.useState(false),{data:s}=hooks.usePrivateQuery("/v1/asset/history",{revalidateOnMount:true}),c=hooks.useConfig(),r=c.get("brokerName"),l=c.get("networkId"),p=hooks.useEventEmitter(),[u,m]=ei.useState(""),[g,w]=ei.useState("default"),[d,k]=ei.useState(),{wrongNetwork:v}=reactApp.useAppContext(),{account:y}=hooks.useAccount(),[I,{findByChainId:f}]=hooks.useChains(l,{filter:A=>A.network_infos?.bridge_enable||A.network_infos?.bridgeless}),[T]=hooks.useLocalStorage("orderly_link_device",{}),{data:x}=hooks.useQuery("/v1/public/vault_balance",{revalidateOnMount:true,errorRetryCount:3}),{connectedChain:D,wallet:h,setChain:F,settingChain:b}=hooks.useWalletConnector(),C=ei.useMemo(()=>{let A=D?utils.praseChainIdToNumber(D.id):Number.parseInt(T?.chainId);if(!A)return null;let G=f(A);return {...D,id:A,info:G}},[f,D,T]),{sourceToken:N,onSourceTokenChange:$,sourceTokens:M}=Cn(C,A=>A.symbol==="USDC"||A.is_collateral),S=ei.useMemo(()=>I.filter(A=>A.token_infos?.some(G=>G.symbol===N?.symbol)).map(A=>A.network_infos),[I,l,N]),{walletName:O,address:B}=ei.useMemo(()=>({walletName:h?.label,address:h?.accounts?.[0].address}),[h]),q=A=>{m(A);},J=ei.useMemo(()=>new utils.Decimal(u||0).mul(Ss).toNumber(),[u,Ss]),{withdraw:se,maxAmount:E,unsettledPnL:W}=hooks.useWithdraw({token:N?.symbol,decimals:N?.token_decimal}),j=Kc({token:N?.symbol,quantity:u,setQuantity:m,close:e.onClose,setLoading:i}),{withdrawTo:ne,toAccountId:le}=j,oe=ei.useMemo(()=>v||!C?false:l==="testnet"?true:!(!C.info||!C.info.network_infos||!C.info.network_infos.bridgeless),[C,v]),ce=()=>{m("");},xe=ei.useCallback(async A=>{let G=f(A.chain_id);return !G||G.network_infos?.chain_id===C?.id?Promise.resolve():F?.({chainId:utils.int2hex(Number(G.network_infos?.chain_id))}).then(Le=>{Le?(ui.toast.success(t("connector.networkSwitched")),ce()):ui.toast.error(t("connector.switchChain.failed"));}).catch(Le=>{ui.toast.error(`${t("connector.switchChain.failed")}: ${Le.message}`);})},[C,F,f,t]),ie=ei.useMemo(()=>{if(!Array.isArray(x)||!C)return null;let A=x.find(G=>Number.parseInt(G.chain_id)===C?.id);return A?A.balance:null},[I,C,x]),me=ei.useMemo(()=>{if(ie!==null){let A=Number.parseFloat(u);return A>ie&&A<=E}return false},[u,E,ie]),_=ei.useMemo(()=>N?.minimum_withdraw_amount??0,[N]),pe=async()=>{if(!a&&g==="default"){if(new utils.Decimal(u).lt(_)){ui.toast.error(t("transfer.withdraw.minAmount.error",{minAmount:_}));return}return i(true),se({amount:u,token:N?.symbol,chainId:C?.id,allowCrossChainWithdraw:me}).then(A=>{ui.toast.success(t("transfer.withdraw.requested")),p.emit("withdraw:requested"),e.onClose?.(),m("");}).catch(A=>{if(A.message.indexOf("user rejected")!==-1){ui.toast.error(t("transfer.rejectTransaction"));return}if(A.message.indexOf("Signing off chain messages with Ledger is not yet supported")!==-1){p.emit("wallet:sign-message-with-ledger-error",{message:A.message,userAddress:y.address});return}ui.toast.error(A.message);}).finally(()=>{i(false);})}},P=Jc({crossChainWithdraw:me,currentChain:C,token:N?.symbol}),L=ei.useMemo(()=>{if(!u)return "";let A=new utils.Decimal(u).sub(P??0);return A.isNegative()?"":A.toNumber()},[P,u]);ei.useEffect(()=>{if(!u){w("default"),k("");return}let A=new utils.Decimal(u??0);W<0&&(A.gt(E)?(w("error"),k(t("transfer.insufficientBalance"))):(w("default"),k("")));},[u,E,W,n]);let X=n||!u||Number(u)===0||["error","warning"].includes(g)||ne==="accountId"&&!le;ei.useEffect(()=>{let A=s?.find(G=>G.trans_status==="pending_rebalance".toUpperCase());o(!!A);},[s]),hooks.useWalletSubscription({onMessage(A){if(!n)return;let{trxId:G,transStatus:Le}=A;G===n&&Le==="COMPLETED"&&o(false);}});let{hasPositions:Y,onSettlePnl:Ne}=ut();return {walletName:O,address:B,quantity:u,onQuantityChange:q,sourceToken:N,onSourceTokenChange:$,sourceTokens:M,inputStatus:g,hintMessage:d,amount:J,balanceRevalidating:false,maxQuantity:E,disabled:X,loading:a,unsettledPnL:W,wrongNetwork:v,settingChain:b,tokenChains:S,currentChain:C,onChainChange:xe,onWithdraw:pe,chainVaultBalance:ie,fee:P,crossChainWithdraw:me,crossChainTrans:n,showQty:L,networkId:l,checkIsBridgeless:oe,hasPositions:Y,onSettlePnl:Ne,brokerName:r,vaultBalanceList:x?.filter(A=>Number.parseInt(A.chain_id)===C?.id),...j}};function Kc(e){let{token:t,quantity:n,setQuantity:o,close:a,setLoading:i}=e,{t:s}=i18n.useTranslation(),[c,r]=ei.useState("wallet"),[l,p]=ei.useState(""),[u,m]=ei.useState("default"),[g,w]=ei.useState(),{transfer:d,submitting:k}=hooks.useTransfer(),v=ei.useCallback(()=>{let y=Number(n);if(isNaN(y)||y<=0){ui.toast.error(s("transfer.quantity.invalid"));return}k||!l||(i(true),d(t,{account_id:l,amount:new utils.Decimal(n).toNumber()}).then(()=>{ui.toast.success(s("transfer.internalTransfer.success")),o(""),a?.();}).catch(I=>{let f=gn(I.code);ui.toast.error(f);}).finally(()=>{i(false);}));},[s,n,t,k,l,d]);return ei.useEffect(()=>{if(!l){m("default"),w("");return}Or(l)?(m("default"),w("")):(m("error"),w(s("transfer.withdraw.accountId.invalid")));},[l]),{withdrawTo:c,setWithdrawTo:r,toAccountId:l,setToAccountId:p,onTransfer:v,internalWithdrawSubmitting:k,toAccountIdInputStatus:u,toAccountIdHintMessage:g}}function Jc(e){let{crossChainWithdraw:t,currentChain:n,token:o}=e,a=hooks.useTokenInfo(o);return ei.useMemo(()=>{if(!n)return 0;let s=a?.chain_details?.find(c=>Number.parseInt(c.chain_id)===n.id);return s?t?(s.withdrawal_fee||0)+(s.cross_chain_withdrawal_fee||0):s.withdrawal_fee||0:0},[a,o,n,t])}var Po=e=>{let t=No({onClose:e.close});return jsxRuntime.jsx(Ao,{...t})};var um="DepositAndWithdrawWithDialogId",lm="DepositAndWithdrawWithSheetId",As=e=>{let[t,n]=ei.useState(e.activeTab||"deposit"),{t:o}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Tabs,{value:t,onValueChange:n,variant:"contained",size:"lg",classNames:{tabsList:"oui-px-0",tabsContent:"oui-pt-5"},children:[jsxRuntime.jsx(ui.TabPanel,{title:o("common.deposit"),icon:jsxRuntime.jsx(ui.ArrowDownSquareFillIcon,{}),value:"deposit",children:jsxRuntime.jsx(Dt,{onClose:e.close})}),jsxRuntime.jsx(ui.TabPanel,{title:o("common.withdraw"),icon:jsxRuntime.jsx(ui.ArrowUpSquareFillIcon,{}),value:"withdraw",children:jsxRuntime.jsx(Po,{...e})})]})};ui.registerSimpleDialog(um,As,{size:"md",classNames:{content:"oui-border oui-border-line-6"}});ui.registerSimpleSheet(lm,As);var Mo=e=>{let{token:t,tokens:n,onTokenChange:o,amount:a,quantity:i,maxQuantity:s,swapQuantity:c,onQuantityChange:r,hintMessage:l,inputStatus:p,chains:u,currentChain:m,settingChain:g,onChainChange:w,actionType:d,onDeposit:k,onApprove:v,fetchBalance:y,dst:I,wrongNetwork:f,balanceRevalidating:T,loading:x,disabled:D,networkId:h,slippage:F,onSlippageChange:b,needSwap:C,needCrossSwap:N,swapPrice:$,swapRevalidating:M,warningMessage:S,fee:O}=e;return jsxRuntime.jsxs(ui.Box,{id:"oui-swap-deposit-form",className:ui.textVariants({weight:"semibold"}),children:[jsxRuntime.jsxs(ui.Box,{className:"oui-mb-6 lg:oui-mb-8",children:[jsxRuntime.jsx(Tt,{}),jsxRuntime.jsxs(ui.Box,{mt:3,mb:1,children:[jsxRuntime.jsx(Ue,{chains:u,value:m,onValueChange:w,wrongNetwork:f,loading:g}),jsxRuntime.jsx(Z,{classNames:{root:"oui-mt-[2px] oui-rounded-t-sm oui-rounded-b-xl"},value:i,onValueChange:r,tokens:n,token:t,onTokenChange:o,status:p,hintMessage:l,fetchBalance:y,"data-testid":"oui-testid-swap-deposit-dialog-quantity-input"})]}),jsxRuntime.jsx(de,{token:t,amount:a,maxQuantity:s,loading:T,onClick:()=>{r(s);}}),jsxRuntime.jsx(fe,{}),jsxRuntime.jsx(ze,{}),jsxRuntime.jsx(Z,{readOnly:true,token:I,value:c,loading:M,classNames:{root:"oui-mt-3 oui-border-transparent focus-within:oui-outline-transparent"}}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",mt:1,gapY:1,children:[jsxRuntime.jsx(ui.Flex,{justify:"between",width:"100%",children:(C||N)&&jsxRuntime.jsx(Je,{value:F,onValueChange:b})}),jsxRuntime.jsx(tn,{...O})]})]}),jsxRuntime.jsx(Jt,{message:S,needSwap:C,needCrossSwap:N,wrongNetwork:f,networkId:h}),jsxRuntime.jsx(ui.Flex,{justify:"center",children:jsxRuntime.jsx(wt,{actionType:d,symbol:t?.symbol,disabled:D,loading:x,onDeposit:k,onApprove:v,networkId:h})})]})};function Ns(e){let{currentChain:t,tokensFilter:n}=e,[o,a]=ei.useState(),[i,s]=ei.useState([]),c=ei.useCallback(r=>{if(r&&r?.token_infos?.length>0){let l=typeof n=="function"?n(r):r.token_infos;s(l);let p=yn(l);if(!p)return;a(p);}},[n]);return ei.useEffect(()=>{c(t?.info);},[t?.id,c]),{token:o,tokens:i,onTokenChange:a}}var Eo=e=>{let[t,n]=hooks.useLocalStorage("orderly_swap_deposit_slippage",1),o=hooks.useConfig(),a=o.get("brokerName")||"",i=o.get("networkId"),{wrongNetwork:s}=reactApp.useAppContext(),{chains:c,currentChain:r,settingChain:l,onChainChange:p}=vt(),u=ei.useCallback(Y=>Y.token_infos.filter(Ne=>Y.network_infos.bridgeless&&Ne.symbol==="USDC"?true:!!Ne.swap_enable)??[],[]),{token:m,tokens:g,onTokenChange:w}=Ns({currentChain:r,tokensFilter:u}),{dst:d,balance:k,allowance:v,depositFeeRevalidating:y,depositFee:I,quantity:f,setQuantity:T,approve:x,deposit:D,isNativeToken:h,balanceRevalidating:F,fetchBalance:b}=hooks.useDeposit({address:m?.address,decimals:m?.decimals,srcChainId:r?.id,srcToken:m?.symbol,crossChainRouteAddress:r?.info?.network_infos?.cross_chain_router,depositorAddress:r?.info?.network_infos?.depositor}),C=ei.useMemo(()=>new utils.Decimal(k||0).todp(m?.precision??2,utils.Decimal.ROUND_DOWN).toString(),[k,m]),{inputStatus:N,hintMessage:$}=At({quantity:f,maxQuantity:C}),{needSwap:M,needCrossSwap:S}=un({srcToken:m,srcChainId:r?.id,dstChainId:d?.chainId}),{enquiry:O,transactionInfo:B,amount:q,querying:J,warningMessage:se,cleanTransactionInfo:E}=xn({quantity:f,dst:d,queryParams:{network:d.network,srcToken:m?.address,srcNetwork:r?.info?.network_infos?.shortName,dstToken:d.address,crossChainRouteAddress:r?.info?.network_infos?.cross_chain_router,amount:new utils.Decimal(f||0).mul(10**(m?.decimals||0)).toString(),slippage:t},needSwap:M,needCrossSwap:S}),W=()=>{E(),T("");},j=ei.useCallback(()=>{W(),e.onClose?.();},[e.onClose]),ne=ei.useCallback(async()=>O().then(Y=>{let Ne=S?Y.route_infos?.dst.amounts[1]:Y.route_infos?.amounts[1],A={mode:S?1:0,src:{chain:r?.id,token:m.symbol,displayDecimals:m?.precision,amount:f,decimals:m.decimals},dst:{chain:d.chainId,token:d.symbol,displayDecimals:2,amount:new utils.Decimal(Ne).div(Math.pow(10,d.decimals)).toString(),decimals:d.decimals},chain:r?.info?.network_infos,nativeToken:r?.info?.nativeToken,depositFee:I,transactionData:Y,slippage:t,brokerName:a};return ui.modal.show(bn,A)}).then(Y=>{Y&&W();}).catch(Y=>{}),[f,S,d,r,t,I]),{submitting:le,onApprove:oe,onDeposit:ce}=Ft({quantity:f,allowance:v,approve:x,deposit:D,enableCustomDeposit:M||S,customDeposit:ne,onSuccess:j}),xe=le||y||J,ie=!f||Number(f)===0||N==="error"||y||J,me=ei.useMemo(()=>S||M?B.price:1,[B]),_=ei.useMemo(()=>S||M?h?B.markPrices.native_token:B.markPrices.from_token:1,[M,S,h,B]),pe=ei.useMemo(()=>new utils.Decimal(f||0).mul(_).toNumber(),[f,_]),P=M||S?q:f,L=St({isNativeToken:h,allowance:v,quantity:f,maxQuantity:C}),X=Tn({nativeToken:r?.info?.nativeToken,isNativeToken:h,src:m,depositFee:I,transactionInfo:B,needSwap:M,needCrossSwap:S});return ei.useEffect(()=>{W();},[m,r?.id]),{token:m,tokens:g,onTokenChange:w,amount:pe,quantity:f,maxQuantity:C,swapQuantity:P,onQuantityChange:T,hintMessage:$,inputStatus:N,chains:c,currentChain:r,settingChain:l,onChainChange:p,actionType:L,onDeposit:ce,onApprove:oe,fetchBalance:b,dst:d,wrongNetwork:s,balanceRevalidating:F,loading:xe,disabled:ie,networkId:i,slippage:t,onSlippageChange:n,needSwap:M,needCrossSwap:S,swapPrice:me,swapRevalidating:J,warningMessage:se,fee:X}};var xm=e=>{let t=Eo(e);return jsxRuntime.jsx(Mo,{...t})};function Sm(){ui.installExtension({name:"deposit-form",scope:["*"],positions:[ui.ExtensionPositionEnum.DepositForm],__isInternal:true})(e=>jsxRuntime.jsx(Dt,{onClose:e.onClose}));}var Oo=e=>{let{subAccounts:t=[],value:n}=e,[o,a]=ei.useState(false),i=t.length>1,s=jsxRuntime.jsxs(ui.Flex,{intensity:500,className:ui.cn("oui-rounded-b-sm oui-rounded-t-xl oui-border oui-border-line",i?"oui-cursor-pointer":"oui-cursor-auto oui-bg-base-6"),height:54,px:3,justify:"between",itemAlign:"center",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text.formatted,{size:"xs",intensity:80,rule:n?.description?void 0:"address",children:n?.description||n?.id}),jsxRuntime.jsxs(ui.Text,{intensity:36,size:"2xs",children:["ID: ",jsxRuntime.jsx(ui.Text.formatted,{rule:"address",children:n?.id})]})]}),i&&jsxRuntime.jsx(zt,{className:"oui-text-base-contrast-54"})]}),c=t.map((r,l)=>{let p=r.id===n?.id,u=r?.holding?.find(m=>m.token==="USDC")?.holding;return jsxRuntime.jsxs(ui.Flex,{px:2,r:"base",justify:"between",className:ui.cn("oui-transfer-form-account-select-item","oui-cursor-pointer oui-py-[6px] hover:oui-bg-base-5",p&&"oui-bg-base-5",l!==0&&"oui-mt-[2px]"),onClick:async()=>{a(false),e.onValueChange?.(r);},children:[jsxRuntime.jsx(ui.Flex,{gapX:1,itemAlign:"center",children:jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-text-2xs",children:[jsxRuntime.jsx(ui.Text.formatted,{rule:r?.description?void 0:"address",intensity:80,children:r?.description||r?.id}),jsxRuntime.jsxs(ui.Text,{intensity:36,size:"2xs",children:["ID: ",jsxRuntime.jsx(ui.Text.formatted,{rule:"address",children:r?.id})]})]})}),jsxRuntime.jsxs(ui.Flex,{gapX:3,children:[jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",intensity:54,unit:" USDC",children:u||0}),p&&jsxRuntime.jsx(ui.Box,{width:4,height:4,r:"full",className:"oui-transfer-form-account-select-active-dot oui-bg-[linear-gradient(270deg,#59B0FE_0%,#26FEFE_100%)]"})]})]},r.id)});return jsxRuntime.jsxs(ui.DropdownMenuRoot,{open:i?o:false,onOpenChange:a,children:[jsxRuntime.jsx(ui.DropdownMenuTrigger,{asChild:true,children:s}),jsxRuntime.jsx(ui.DropdownMenuPortal,{children:jsxRuntime.jsx(ui.DropdownMenuContent,{onCloseAutoFocus:r=>r.preventDefault(),align:"start",sideOffset:2,className:ui.cn("oui-transfer-form-account-select-dropdown-menu-content","oui-font-semibold","oui-bg-base-8 oui-p-1","oui-w-[var(--radix-dropdown-menu-trigger-width)]","oui-select-none oui-rounded-md"),children:jsxRuntime.jsx(ui.ScrollArea,{children:jsxRuntime.jsxs("div",{className:"oui-max-h-[254px]",children:[c," "]})})})})]})};var Lo=e=>{let{networkId:t,disabled:n,onTransfer:o,quantity:a,onQuantityChange:i,amount:s,tokens:c,token:r,onTokenChange:l,maxQuantity:p,submitting:u,hintMessage:m,inputStatus:g,hasPositions:w,onSettlePnl:d,unsettledPnL:k,toAccountAsset:v,fromAccounts:y,toAccounts:I,fromAccount:f,onFromAccountChange:T,toAccount:x,onToAccountChange:D,onExchange:h}=e,{t:F}=i18n.useTranslation(),b={initial:"md",lg:"lg"};return jsxRuntime.jsxs(ui.Box,{id:"oui-deposit-form",className:ui.textVariants({weight:"semibold"}),children:[jsxRuntime.jsxs(ui.Box,{className:"oui-mb-6 lg:oui-mb-8",children:[jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,children:F("transfer.internalTransfer.from")}),jsxRuntime.jsxs(ui.Box,{mt:1,mb:1,children:[jsxRuntime.jsx(Oo,{subAccounts:y,value:f,onValueChange:T}),jsxRuntime.jsx(Z,{classNames:{root:"oui-mt-[2px] oui-rounded-t-sm oui-rounded-b-xl"},value:a,onValueChange:i,tokens:c,token:r,onTokenChange:l,hintMessage:m,status:g})]}),jsxRuntime.jsx(de,{token:r,amount:s,maxQuantity:p,onClick:()=>{i(p.toString());}}),jsxRuntime.jsx(ui.Box,{mx:2,mt:1,children:jsxRuntime.jsx(Dn,{unsettledPnl:k,hasPositions:w,onSettlePnl:d,tooltipContent:F("transfer.internalTransfer.unsettled.tooltip"),dialogContent:jsxRuntime.jsx(i18n.Trans,{i18nKey:"transfer.internalTransfer.settlePnl.description"})})}),jsxRuntime.jsx(fe,{icon:jsxRuntime.jsx(or,{className:"oui-cursor-pointer oui-text-primary",onClick:h})}),jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,children:F("transfer.internalTransfer.to")}),jsxRuntime.jsxs(ui.Box,{mt:1,children:[jsxRuntime.jsx(Oo,{subAccounts:I,value:x,onValueChange:D}),jsxRuntime.jsxs(ui.Flex,{className:ui.cn("oui-mt-[2px] oui-h-[31px] oui-text-base-contrast-54","oui-rounded-b-xl oui-rounded-t-sm"),justify:"between",itemAlign:"center",px:3,intensity:600,children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:F("transfer.internalTransfer.currentAssetValue")}),jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",intensity:54,unit:` ${r.symbol}`,dp:r?.precision,padding:false,children:v})]})]})]}),jsxRuntime.jsx(ui.Flex,{justify:"center",children:jsxRuntime.jsx(ui.Box,{className:"oui-w-full lg:oui-w-auto lg:oui-min-w-[184px]",children:jsxRuntime.jsx(uiConnector.AuthGuard,{networkId:t,buttonProps:{fullWidth:true,size:b},children:jsxRuntime.jsx(ui.Button,{fullWidth:true,disabled:n,loading:u,size:b,onClick:o,children:F("common.transfer")})})})})]})};var zo={symbol:"USDC"},Uo=e=>{let{t}=i18n.useTranslation(),[n,o]=ei.useState(""),[a,i]=ei.useState(),[s,c]=ei.useState(),[r,l]=ei.useState(),[p,u]=ei.useState([zo]),[m,g]=ei.useState(zo),[w,d]=ei.useState({}),k=hooks.useConfig("networkId"),{state:v,isMainAccount:y,subAccount:I}=hooks.useAccount(),f=hooks.useTokensInfo(),{transfer:T,submitting:x,maxAmount:D,unsettledPnL:h}=hooks.useTransfer({fromAccountId:a?.id,token:m.symbol}),F=v.subAccounts,b=v.mainAccountId,C=v.accountId,N=y?a?.id!==b?a?.id:void 0:a?.id,{hasPositions:$,onSettlePnl:M}=ut({accountId:a?.id}),{portfolio:S,positions:O}=hooks.useSubAccountDataObserver(N),B=hooks.useSubAccountMaxWithdrawal({token:m.symbol,unsettledPnL:S?.unsettledPnL,freeCollateral:S?.freeCollateral?.todp(m?.precision).toNumber()||0,holdings:S?.holding}),q=ei.useMemo(()=>!!O?.rows?.length,[O]),J=ei.useMemo(()=>N?q:$,[N,q,$]),{unsettledPnL:se,maxQuantity:E}=ei.useMemo(()=>N?{unsettledPnL:S?.unsettledPnL,maxQuantity:B}:{unsettledPnL:h,maxQuantity:D},[N,h,D,S?.unsettledPnL,B]),{inputStatus:W,hintMessage:j}=Gm({quantity:n,maxQuantity:E,unsettledPnL:se}),ne=ei.useCallback(()=>{let P=Number(n);if(isNaN(P)||P<=0){ui.toast.error(t("transfer.quantity.invalid"));return}x||!s||T(m.symbol,{account_id:s.id,amount:new utils.Decimal(n).toNumber()}).then(()=>{ui.toast.success(t("transfer.internalTransfer.success")),o(""),e.close?.();}).catch(L=>{let X=gn(L.code);ui.toast.error(X);});},[t,m,n,x,T,s]),le=x||!n||W==="error",oe=ei.useMemo(()=>new utils.Decimal(n||0).mul(1).toNumber(),[n]),ce=ei.useMemo(()=>s?.id&&w[s.id]?.find(X=>X.token===m.symbol)?.holding||0,[s,m,w]),{fromAccounts:xe,toAccounts:ie}=ei.useMemo(()=>y?{fromAccounts:r?[r,...F||[]]:[],toAccounts:a?.id===b?F:[]}:{fromAccounts:[],toAccounts:[]},[y,b,r,F,a]);ei.useEffect(()=>{if(!b)return;let P={id:b,description:t("common.mainAccount"),holding:[]};l(P),I.refresh().then(L=>{d(L),l({...P,holding:L[b]});});},[t,b]),ei.useEffect(()=>{i(y?r:F?.find(P=>P.id===C));},[y,r,F,C]),ei.useEffect(()=>{if(y){let P=F?.[0],L=e.toAccountId&&F?.find(X=>X.id===e.toAccountId)||P;L&&c(L);}else c(r);},[e?.toAccountId,y,r,F]),ei.useEffect(()=>{let P=f?.map(L=>({symbol:L.token,precision:L.decimals}));if(P?.length){P.sort((X,Y)=>X.symbol==="USDC"?-1:Y.symbol==="USDC"?1:0);let L=P?.find(X=>X.symbol===e.token);u(P),g(L||P?.[0]||zo);}},[f,e.token]);let me=ei.useCallback(P=>{i(P);let L=F?.[0];if(P?.id===b){c(L);return}if(P?.id&&P?.id!==b){c(r);return}},[b,r,F]),_=ei.useCallback(P=>{c(P);},[]),pe=ei.useCallback(()=>{i(s),c(a);},[a,s]);return {networkId:k,onTransfer:ne,quantity:n,amount:oe,onQuantityChange:o,maxQuantity:E,tokens:p,token:m,onTokenChange:g,disabled:le,submitting:x,hintMessage:j,inputStatus:W,hasPositions:J,onSettlePnl:M,unsettledPnL:se,toAccountAsset:ce,fromAccount:a,toAccount:s,fromAccounts:xe,onFromAccountChange:me,toAccounts:ie,onToAccountChange:_,onExchange:pe,isMainAccount:y}};function Gm(e){let{quantity:t,maxQuantity:n,unsettledPnL:o=0}=e,{t:a}=i18n.useTranslation(),[i,s]=ei.useState("default"),[c,r]=ei.useState();return ei.useEffect(()=>{if(!t){s("default"),r("");return}let l=new utils.Decimal(t);o<0?l.gt(n)?(s("error"),r(a("transfer.insufficientBalance"))):(s("default"),r("")):l.gt(n)?(s("error"),r(a("transfer.insufficientBalance"))):l.gt(new utils.Decimal(n).minus(o))&&l.lessThanOrEqualTo(n)?(s("warning"),r(a("settle.settlePnl.warning"))):(s("default"),r(""));},[t,n]),{inputStatus:i,hintMessage:c}}var jm="TransferDialogId",Xm="TransferSheetId",Ym=e=>{let t=Uo({toAccountId:e.toAccountId,token:e.token,close:e.close});return jsxRuntime.jsx(Lo,{...t})},Ms=e=>jsxRuntime.jsx(Ym,{close:e.close,toAccountId:e.toAccountId,token:e.token});ui.registerSimpleDialog(jm,Ms,{size:"md",classNames:{content:"oui-border oui-border-line-6"},title:()=>i18n.i18n.t("common.transfer")});ui.registerSimpleSheet(Xm,Ms,{title:()=>i18n.i18n.t("common.transfer")});var Es=e=>{let{disabled:t,loading:n,networkId:o,onConvert:a}=e,{t:i}=i18n.useTranslation();return jsxRuntime.jsx(ui.Box,{className:"oui-w-full lg:oui-w-auto lg:oui-min-w-[184px]",children:jsxRuntime.jsx(uiConnector.AuthGuard,{status:types.AccountStatusEnum.EnableTrading,networkId:o,buttonProps:{fullWidth:true,size:{initial:"md",lg:"lg"}},children:jsxRuntime.jsx(ui.Button,{fullWidth:true,disabled:t,loading:n,size:{initial:"md",lg:"lg"},onClick:a,children:i("transfer.convert")})})})};var rp=e=>e.reduce((t,n)=>(n.symbol.toUpperCase()==="USDC"?t.usdc.push(n):t.others.push(n),t),{usdc:[],others:[]}),Ws=(e,t=()=>true)=>{let{currentChain:n,defaultValue:o}=e,[a,i]=ei.useState(),[s,c]=ei.useState(),[r,l]=ei.useState([]),p=ei.useCallback(u=>{if(u&&u?.token_infos?.length>0){let{usdc:m,others:g}=rp(u.token_infos.filter(t));i(()=>{if(o){let w=g.find(({symbol:d})=>d===o);return w||g[0]}return g[0]}),l(g),c(m[0]);}},[]);return ei.useEffect(()=>{p(n?.info);},[n?.id,p]),{sourceToken:a,sourceTokens:r,onSourceTokenChange:i,targetToken:s}};var {calcMinimumReceived:hp}=perp.account,bp="orderly_convert_slippage",xp=(e,t)=>new utils.Decimal(e).mul(new utils.Decimal(10).pow(t)).toFixed(0),Wt=(e,t)=>new utils.Decimal(e).div(new utils.Decimal(10).pow(t)).toString(),Go=e=>{let{token:t,close:n}=e,{t:o}=i18n.useTranslation(),[a,i]=ei.useState(false),[s,c]=ei.useState(false),r=hooks.useConfig(),l=r.get("brokerName"),p=r.get("networkId"),[u,m]=ei.useState(""),[g,w]=ei.useState("default"),[d,k]=ei.useState(),{wrongNetwork:v}=reactApp.useAppContext(),[,{findByChainId:y}]=hooks.useChains(p,{pick:"network_infos",filter:_=>_.network_infos?.bridge_enable||_.network_infos?.bridgeless}),[I]=hooks.useLocalStorage("orderly_link_device",{}),{connectedChain:f,wallet:T}=hooks.useWalletConnector(),x=ei.useMemo(()=>{let _=f?utils.praseChainIdToNumber(f.id):Number.parseInt(I?.chainId);if(!_)return null;let pe=y(_);return {...f,id:_,info:pe}},[y,f,I]),{sourceToken:D,sourceTokens:h,onSourceTokenChange:F,targetToken:b}=Ws({currentChain:x,defaultValue:t},_=>_.symbol==="USDC"||_.is_collateral),C=ei.useMemo(()=>{let _={...D,precision:D?.precision??6};return _.symbol==="ETH"&&(!_.address||_.address===types.nativeTokenAddress)&&(_.address=types.nativeETHAddress),_},[D]),{walletName:N,address:$}=ei.useMemo(()=>({walletName:T?.label,address:T?.accounts?.[0].address}),[T]),M=_=>{m(_);},[S,O]=hooks.useLocalStorage(bp,1),B=ei.useMemo(()=>v||!x?false:p==="testnet"?true:!(!x.info||!x.info.network_infos||!x.info.network_infos.bridgeless),[x,v]),{maxAmount:q,convert:J}=hooks.useConvert({token:C.symbol}),se=async()=>{if(!s&&g==="default")return c(true),J({amount:Number(u),slippage:new utils.Decimal(S).div(100).toNumber()}).then(()=>{ui.toast.success(o("transfer.convert.completed")),n?.(),m("");}).catch(_=>{ui.toast.error(_.message?.includes("user rejected")?o("transfer.convert.failed"):_.message);}).finally(()=>{c(false);})},[E,{data:W,isMutating:j}]=hooks.useOdosQuote(),ne=ei.useMemo(()=>!W||j?"-":new utils.Decimal(Wt(W.outAmounts[0],b?.decimals??6)).div(Wt(W.inAmounts[0],C.decimals)).toString(),[W]);ei.useEffect(()=>{u&&x?.id&&C.address&&b?.address&&E({chainId:x.id,inputTokens:[{amount:xp(u,C.decimals),tokenAddress:C.address}],outputTokens:[{proportion:1,tokenAddress:b.address}]});},[u,x?.id,C,b]);let le=ei.useMemo(()=>!W||j?0:hp({amount:W?.outAmounts[0],slippage:Number(S)}),[W,j,S]),oe=hooks.useComputedLTV(),ce=hooks.useComputedLTV({input:Number(u),token:D?.symbol}),xe=!u||Number(u)===0||["error","warning"].includes(g);hooks.useWalletSubscription({onMessage(_){if(!a)return;let{trxId:pe,transStatus:P}=_;pe===a&&P==="COMPLETED"&&i(false);}});let{hasPositions:ie,onSettlePnl:me}=ut();return {walletName:N,address:$,quantity:u,onQuantityChange:M,token:C,sourceTokens:h,onSourceTokenChange:F,targetToken:b,inputStatus:g,hintMessage:d,balanceRevalidating:false,maxQuantity:q,disabled:xe,loading:s,wrongNetwork:v,onConvert:se,crossChainTrans:a,networkId:p,checkIsBridgeless:B,hasPositions:ie,onSettlePnl:me,brokerName:l,slippage:S,onSlippageChange:O,convertRate:ne,minimumReceived:le,isQuoteLoading:j,currentLTV:oe,nextLTV:ce}};var jo=e=>{let{loading:t,disabled:n,quantity:o,onQuantityChange:a,maxQuantity:i,token:s,targetToken:c,sourceTokens:r,onSourceTokenChange:l,onConvert:p,slippage:u,onSlippageChange:m,convertRate:g,minimumReceived:w,isQuoteLoading:d,currentLTV:k,nextLTV:v}=e;return jsxRuntime.jsxs(ui.Box,{className:ui.textVariants({weight:"semibold"}),children:[jsxRuntime.jsxs(ui.Box,{className:"oui-mb-6 lg:oui-mb-8",children:[jsxRuntime.jsx(ui.Box,{mt:3,mb:1,children:jsxRuntime.jsx(Z,{value:o,onValueChange:a,token:s,tokens:r,onTokenChange:l,status:e.inputStatus,hintMessage:e.hintMessage})}),jsxRuntime.jsx(de,{token:s,amount:o,maxQuantity:i.toString(),loading:e.balanceRevalidating,onClick:()=>{a(i.toString());}}),jsxRuntime.jsx(fe,{}),jsxRuntime.jsx(Z,{readOnly:true,loading:d,token:c,value:d||!o?"":Wt(w.toString(),c?.decimals??6)}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",mt:2,gap:1,children:[jsxRuntime.jsx(xt,{indexPrice:d||!o?"-":g,sourceSymbol:s?.display_name||s?.symbol,targetSymbol:c?.display_name||c?.symbol}),jsxRuntime.jsx(Je,{value:u,onValueChange:m}),jsxRuntime.jsx(Gt,{symbol:c?.display_name||c?.symbol||"",precision:c?.precision,value:d||!o?"-":Wt(w.toString(),c?.decimals??6)}),jsxRuntime.jsx(gt,{showDiff:typeof o<"u"&&Number(o)>0,currentLtv:k,nextLTV:v}),jsxRuntime.jsx(bt,{dstGasFee:"0"})]})]}),jsxRuntime.jsx(ui.Flex,{itemAlign:"center",justify:"center",children:jsxRuntime.jsx(Es,{networkId:e.networkId,disabled:n,loading:t,onConvert:p})})]})};var Sp="ConvertDialogId",vp="ConverSheetId",Xo=e=>{let t=Go(e);return jsxRuntime.jsx(jo,{...t})};ui.registerSimpleDialog(Sp,Xo,{size:"md",classNames:{content:"oui-border oui-border-line-6"},title:()=>i18n.i18n.t("transfer.convert")});ui.registerSimpleSheet(vp,Xo,{title:()=>i18n.i18n.t("transfer.convert")});
15
23
 
16
- exports.ActionButton = pe;
17
- exports.AvailableQuantity = et;
18
- exports.BrokerWallet = Ft;
19
- exports.ChainSelect = Pt;
20
- exports.DepositAction = me;
21
- exports.DepositAndWithdraw = Go;
22
- exports.DepositAndWithdrawWithDialogId = Gi;
23
- exports.DepositAndWithdrawWithSheetId = Hi;
24
- exports.DepositForm = Pe;
25
- exports.DepositFormWidget = Xt;
26
- exports.ExchangeDivider = rt;
27
- exports.Fee = be;
28
- exports.QuantityInput = $;
29
- exports.SwapCoin = Ae;
30
- exports.TransferDialogId = fs;
31
- exports.TransferForm = He;
32
- exports.TransferFormWidget = hs;
33
- exports.TransferSheetId = gs;
34
- exports.TransferWidget = jo;
35
- exports.Web3Wallet = Fe;
36
- exports.WithdrawFormUI = Qe;
37
- exports.WithdrawFormWidget = qe;
38
- exports.WithdrawTo = Rt;
39
- exports.checkIsAccountId = yo;
40
- exports.feeDecimalsOffset = bo;
41
- exports.getTokenByTokenList = wo;
42
- exports.getTransferErrorMessage = $t;
43
- exports.installDeposit = zi;
44
- exports.useActionType = Ne;
45
- exports.useChainSelect = We;
46
- exports.useDepositAction = Me;
47
- exports.useDepositFormScript = ze;
48
- exports.useInputStatus = _e;
49
- exports.useToken = Dt;
50
- exports.useTransferFormScript = je;
51
- exports.useWithdrawForm = Ve;
24
+ exports.ActionButton = wt;
25
+ exports.AvailableQuantity = de;
26
+ exports.BrokerWallet = ze;
27
+ exports.ChainSelect = Ue;
28
+ exports.ConvertFormUI = jo;
29
+ exports.ConvertFormWidget = Xo;
30
+ exports.DepositAction = zn;
31
+ exports.DepositAndWithdraw = As;
32
+ exports.DepositAndWithdrawWithDialogId = um;
33
+ exports.DepositAndWithdrawWithSheetId = lm;
34
+ exports.DepositForm = vo;
35
+ exports.DepositFormWidget = Dt;
36
+ exports.ExchangeDivider = fe;
37
+ exports.Fee = bt;
38
+ exports.QuantityInput = Z;
39
+ exports.SwapCoin = xt;
40
+ exports.SwapDepositForm = Mo;
41
+ exports.SwapDepositFormWidget = xm;
42
+ exports.TransferDialogId = jm;
43
+ exports.TransferForm = Lo;
44
+ exports.TransferFormWidget = Ym;
45
+ exports.TransferSheetId = Xm;
46
+ exports.TransferWidget = Ms;
47
+ exports.Web3Wallet = Tt;
48
+ exports.WithdrawFormUI = Ao;
49
+ exports.WithdrawFormWidget = Po;
50
+ exports.WithdrawTo = Ot;
51
+ exports.checkIsAccountId = Or;
52
+ exports.feeDecimalsOffset = He;
53
+ exports.getTokenByTokenList = yn;
54
+ exports.getTransferErrorMessage = gn;
55
+ exports.installDeposit = Sm;
56
+ exports.useActionType = St;
57
+ exports.useChainSelect = vt;
58
+ exports.useConvertForm = Go;
59
+ exports.useDepositAction = Ft;
60
+ exports.useDepositFormScript = Co;
61
+ exports.useInputStatus = At;
62
+ exports.useSwapDepositFormScript = Eo;
63
+ exports.useTransferFormScript = Uo;
64
+ exports.useWithdrawForm = No;
52
65
  //# sourceMappingURL=out.js.map
53
66
  //# sourceMappingURL=index.js.map