@orderly.network/ui-transfer 2.8.0 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +33 -7
- package/dist/index.d.ts +33 -7
- package/dist/index.js +45 -45
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +13 -13
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var i18n = require('@orderly.network/i18n');
|
|
4
4
|
var ui = require('@orderly.network/ui');
|
|
5
|
-
var
|
|
5
|
+
var Qi = require('react');
|
|
6
6
|
var hooks = require('@orderly.network/hooks');
|
|
7
7
|
var utils = require('@orderly.network/utils');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -19,53 +19,53 @@ var defaultSolanaAdapter = require('@orderly.network/default-solana-adapter');
|
|
|
19
19
|
|
|
20
20
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var Qi__default = /*#__PURE__*/_interopDefault(Qi);
|
|
23
23
|
|
|
24
|
-
var Jn=()=>{let{data:e,error:t,isLoading:n}=hooks.useQuery("/v1/public/auto_convert_threshold",{errorRetryCount:3,revalidateOnFocus:false});return {ltv_threshold:zi.useMemo(()=>!e||n?"-":`${new utils.Decimal(e.ltv_threshold).mul(100).toNumber()}%`,[]),negative_usdc_threshold:e?.negative_usdc_threshold,isLoading:n,error:t}};var Gi=zi__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"})})),no=e=>e>=0&&e<50?"oui-text-success":e>=50&&e<80?"oui-text-warning":e>=80?"oui-text-danger":"",Qi=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")})]})},xr=e=>{let{t}=i18n.useTranslation(),{currentLtv:n,nextLTV:o,showDiff:s,ltv_threshold:a,isLoading:i}=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(Qi,{isLoading:i,ltv_threshold:a}),children:jsxRuntime.jsx(Gi,{className:"oui-ml-[2px] oui-cursor-pointer oui-text-base-contrast-36"})})]}),s?jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"between",gap:1,children:[jsxRuntime.jsxs(ui.Text,{size:"2xs",className:ui.cn("oui-font-semibold",no(n)),children:[n,"%"]}),"\u2192",jsxRuntime.jsxs(ui.Text,{size:"2xs",className:ui.cn("oui-font-semibold",no(o)),children:[o,"%"]})]}):jsxRuntime.jsxs(ui.Text,{size:"2xs",className:ui.cn("oui-font-semibold",no(n)),children:[n,"%"]})]})};var ze=e=>{let t=Jn();return jsxRuntime.jsx(xr,{...e,...t})};var oo=(o=>(o[o.Deposit=0]="Deposit",o[o.Approve=1]="Approve",o[o.ApproveAndDeposit=2]="ApproveAndDeposit",o))(oo||{}),St=(n=>(n.Wallet="wallet",n.Account="accountId",n))(St||{});var vt=e=>{let{disabled:t,loading:n,actionType:o,symbol:s="USDC",onDeposit:a,onApprove:i,onApproveAndDeposit:l,networkId:r}=e,{t:c}=i18n.useTranslation(),p=zi.useMemo(()=>({2:{children:`${c("transfer.deposit.approve")} & ${c("common.deposit")}`,onClick:l},0:{children:c("common.deposit"),onClick:a,"data-testid":"oui-testid-deposit-dialog-deposit-btn"}})[o],[i,a,o,s,c]),u={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:r,buttonProps:{fullWidth:true,size:u},children:jsxRuntime.jsx(ui.Button,{fullWidth:true,disabled:t,loading:n,size:u,...p})})})};var le=e=>{let{amount:t,maxQuantity:n,token:o,loading:s}=e,{t:a}=i18n.useTranslation(),{getIndexPrice:i}=hooks.useIndexPricesStream(),l=o?.display_name||o?.symbol||"",r=o?.precision??o?.decimals??2,c=zi.useMemo(()=>t&&o?.symbol&&i(o?.symbol)?new utils.Decimal(t).mul(i(o?.symbol)||1).toNumber():0,[t,o?.symbol]);return jsxRuntime.jsxs(ui.Flex,{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:c})]}),jsxRuntime.jsxs(ui.Flex,{gapX:2,itemAlign:"center",className:"oui-ml-auto",children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:`${a("common.available")}: `}),s?jsxRuntime.jsx(ui.Spinner,{size:"sm"}):jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",intensity:36,rm:utils.Decimal.ROUND_DOWN,dp:r,padding:false,"data-testid":"oui-testid-withdraw_deposit-dialog-available-value",children:n}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:` ${l}`})]}),jsxRuntime.jsx(ui.Text,{size:"2xs",color:"primary",className:"oui-cursor-pointer oui-select-none",onClick:e.onClick,children:a("common.max")})]})]})};var qe=()=>{let{t:e}=i18n.useTranslation(),{appIcons:t}=reactApp.useAppConfig(),n=hooks.useConfig("brokerName"),o=zi.useMemo(()=>{let{secondary:s}=t||{};if(!s?.img&&s?.component)return null;if(s?.img)return jsxRuntime.jsx("img",{src:s?.img,className:"oui-w-5 oui-h-5"});if(s?.component)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:s.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 $t=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 kr=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"})}),Cr=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:s}=e,[a,i]=zi.useState(false),{t:l}=i18n.useTranslation(),r=o||t?.length>1,c=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(s)return jsxRuntime.jsx(ui.Spinner,{size:"sm"});if(r)return jsxRuntime.jsx($t,{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:l("transfer.network")})}),jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[c,jsxRuntime.jsx(ui.Text,{size:"sm",intensity:80,children:p})]})]}),u()]}),h=t.map((y,d)=>{let f=y.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",f&&"oui-bg-base-5",d!==0&&"oui-mt-[2px]"),onClick:async()=>{i(false),await e.onValueChange(y);},children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,itemAlign:"center",children:[jsxRuntime.jsx(ui.ChainIcon,{className:"oui-size-[18px]",chainId:y.chain_id}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:54,children:y.name})]}),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%)]"})]},y.chain_id)});return jsxRuntime.jsxs(ui.DropdownMenuRoot,{open:r?a:false,onOpenChange:i,children:[jsxRuntime.jsx(ui.DropdownMenuTrigger,{asChild:true,children:m}),jsxRuntime.jsx(ui.DropdownMenuPortal,{children:jsxRuntime.jsx(ui.DropdownMenuContent,{onCloseAutoFocus:y=>y.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:h})})})})]})};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 Fa=zi__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"})})),Aa=()=>{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")})]})},Nr=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(Aa,{}),children:jsxRuntime.jsx(Fa,{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 fo=e=>jsxRuntime.jsx(Nr,{...e});var ce=({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 It=e=>{let{dstGasFee:t,feeQty:n,feeAmount:o,dp:s,nativeSymbol:a}=e,{t:i}=i18n.useTranslation(),l=()=>{let c=jsxRuntime.jsxs("div",{className:"oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:54,children:`${i("transfer.deposit.destinationGasFee")}: `}),jsxRuntime.jsx(ui.Text.numeral,{intensity:80,dp:s,rm:utils.Decimal.ROUND_UP,padding:false,children:n}),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});},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:l,children:[`${i("transfer.deposit.estGasFee")} \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:s,padding:false,rm:utils.Decimal.ROUND_UP,children:n}),a]}),")"]})]})};var Yt=e=>{let{t}=i18n.useTranslation(),{value:n,symbol:o,precision:s=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:s,size:"2xs",className:"oui-select-none",intensity:80,children:n}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-select-none",intensity:36,children:o})]})]})};var Wa=1e3;function Er(e,t,n){let[o,s]=zi.useState(""),a=zi.useRef(""),[i,l]=zi.useState(false),r=zi.useRef(),c=async(p=0)=>{i||typeof t!="function"||!e.address||(r.current&&clearTimeout(r.current),a.current===""&&l(true),r.current=setTimeout(async()=>{try{let u=await t(e.address,e.decimals);s(u),a.current=u,console.log("balance",e.symbol,e.address,u);}catch(u){console.error("get balance error",e.symbol,e.address,u),c(Wa);}finally{a.current!==""&&l(false);}},p));};return zi.useEffect(()=>(n&&c(0),()=>{r.current&&clearTimeout(r.current);}),[e,n]),{balance:o,loading:i}}var Mr=e=>{let{token:t,isActive:n,displayType:o,onTokenChange:s,fetchBalance:a,open:i}=e,{symbol:l,precision:r,insufficientBalance:c}=t,{balance:p,loading:u}=Er(t,a,i),m=typeof a=="function",{t:h}=i18n.useTranslation();if(o==="vaultBalance"&&c)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:l,className:"oui-size-[16px] oui-opacity-50"}),jsxRuntime.jsx(ui.Text,{intensity:36,children:t.label}),jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"xs",children:h("transfer.withdraw.InsufficientVaultBalance")})]})},l);let y=()=>m?u?jsxRuntime.jsx(ui.Spinner,{size:"sm"}):jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:r??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:p}):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:()=>{s?.(t);},children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.TokenIcon,{name:l,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:t.label})]}),y()]},l)};var K=e=>{let{token:t,tokens:n=[],classNames:o,label:s,status:a,hintMessage:i,value:l,onValueChange:r,fetchBalance:c,onTokenChange:p,loading:u,placeholder:m,formatters:h,vaultBalanceList:y,displayType:d,checkVaultBalance:f=true,...x}=e,{t:g}=i18n.useTranslation(),I=zi.useRef(null),[k,C]=zi.useState(false),[S,A]=zi.useState(0),b=zi.useMemo(()=>n.map(P=>{let q=y?.find(G=>G.token===P.symbol),O=f?new utils.Decimal(q?.balance??0).lt(l?Number(l):0):false;return {...P,name:P.display_name||P.symbol,insufficientBalance:O}}),[n,l,y,f]);zi.useEffect(()=>{let P=I?.current?.getBoundingClientRect();A(P?.width||0);},[I]);let T=P=>{let q=n.find(O=>O.symbol===P);q&&p?.(q);},w=n.length>1?k:false,F=P=>{let q=P.symbol===t?.symbol;return jsxRuntime.jsx(Mr,{token:P,isActive:q,fetchBalance:c,displayType:d,onTokenChange:O=>{p?.(O),C(false);},open:w})},M=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:s||g("common.quantity")})}),u&&jsxRuntime.jsx(ui.Box,{className:"oui-absolute oui-bottom-1",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})]}),B=jsxRuntime.jsx("div",{className:"oui-absolute oui-right-0",children:jsxRuntime.jsx(ui.Select.tokens,{open:w,onOpenChange:C,disabled:x.disabled,variant:"text",tokens:b,value:t?.display_name||t?.symbol,size:x.size,onValueChange:T,showIcon:true,optionRenderer:F,contentProps:{onCloseAutoFocus:P=>{P.preventDefault(),I.current?.focus();},onClick:P=>{P.preventDefault(),I.current?.focus();},style:{width:S},align:"end",sideOffset:5,className:"oui-border oui-border-line-6"}})}),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(a==="error"&&"oui-bg-danger-light",a==="warning"&&"oui-bg-warning-light")}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:ui.cn(a==="error"&&"oui-text-danger-light",a==="warning"&&"oui-text-warning-light"),children:i})]});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Input,{ref:I,autoComplete:"off",placeholder:m??(u?"":"0"),prefix:M,suffix:B,value:l,onValueChange:P=>{r?.(P);},formatters:h||[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(t?.precision??2),ui.inputFormatter.currencyFormatter],...x,classNames:{...o,root:ui.cn("oui-relative oui-h-[54px] oui-px-3","oui-rounded-lg oui-border oui-border-line",a==="error"&&"oui-outline-danger-light focus-within:oui-outline-danger-light",a==="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)}}),i&&D]})};var vo=[.5,1,2],ot=e=>{let{min:t=.2,max:n=10}=e,[o,s]=zi.useState(),[a,i]=zi.useState(""),[l,r]=zi.useState(false),{t:c}=i18n.useTranslation();zi.useEffect(()=>{e.value&&!vo.includes(e.value)?i(e.value.toString()):s(e.value);},[e.value,l]);let p=()=>{r(true);},u=()=>{r(false);},m=g=>{s(g),i("");},h=g=>{if(!g||Number(g)===0){i(g);return}let I=new utils.Decimal(g);s(void 0),I.lt(t)?i(t.toString()):I.gt(n)?i(n.toString()):i(g);},y=()=>a?new utils.Decimal(a)?.toNumber():o,d=()=>{let g=y();return g&&(e.onValueChange?.(g),u(),vo.includes(g)&&i("")),Promise.resolve(true)},f=!y(),x=jsxRuntime.jsxs("div",{className:"oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[vo.map(g=>jsxRuntime.jsx(ru,{value:g,isActive:o===g,onClick:()=>{m(g);}},g)),jsxRuntime.jsx(ui.Input,{suffix:"%",formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(2)],value:a,onValueChange:h,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:c("transfer.slippage.slippageTolerance.description")})})]});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.AlertDialog,{open:l,onOpenChange:r,title:c("transfer.slippage.slippageTolerance"),okLabel:c("common.confirm"),message:x,onOk:d,actions:{primary:{disabled:f}}}),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:c("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"})]})]})]})},ru=({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 sn=e=>{let{message:t,needSwap:n,needCrossSwap:o,wrongNetwork:s,networkId:a}=e,{t:i}=i18n.useTranslation(),l=()=>{ui.modal.show(uiChainSelector.ChainSelectorDialogId,{networkId:a});},r=zi.useMemo(()=>{if(s)return i("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:l},"0")]})});if(n)return i("transfer.swapDeposit.swap.notice")},[t,n,o,s,i]);return r?jsxRuntime.jsx(ui.Box,{mb:3,className:"oui-text-center oui-text-xs oui-text-warning-darken",children:r}):null};var un=e=>{let{feeQtys:t,feeAmount:n,feeDetails:o,nativeSymbol:s}=e,{t:a}=i18n.useTranslation(),i=()=>{let r=jsxRuntime.jsx(ui.Box,{className:"oui-text-2xs",children:o?.map((c,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:[c.title,":"]}),jsxRuntime.jsx(ui.Text,{intensity:80,children:c.value}),jsxRuntime.jsx(ui.Text,{intensity:54,children:c.symbol})]}),jsxRuntime.jsx(ui.Box,{mt:2,children:jsxRuntime.jsx(ui.Text,{intensity:36,children:c.description})}),!u&&jsxRuntime.jsx(ui.Box,{my:3,children:jsxRuntime.jsx(ui.Divider,{intensity:8})})]},p)})});ui.modal.alert({title:a("common.fee"),message:r});},l=()=>{let r=t?.length;if(!r)return;let c=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||s}`]},u));if(r===1)return jsxRuntime.jsxs("span",{children:["(",c,")"]});if(r===2)return jsxRuntime.jsxs("span",{children:["(",c[0]," + ",c[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:i,children:[`${a("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})," "]}),l()]})};var Ft=e=>{let{sourceSymbol:t,targetSymbol:n,indexPrice:o,precision:s=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:s,padding:false,children:o}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:n})]})};var pn=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"})}),Ur=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"})}),Gr=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"})}),Qr=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 Xr=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(pn,{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 At=()=>{let{t:e}=i18n.useTranslation(),{wallet:t,connectedChain:n}=hooks.useWalletConnector(),{state:o,account:s}=hooks.useAccount(),a=zi.useMemo(()=>{let i=o.address;return n?.id&&types.ABSTRACT_CHAIN_ID_MAP.has(parseInt(n?.id))&&(i=s.getAdditionalInfo()?.AGWAddress),i},[t,o,s,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:a})]})]})};function fn(e){let{srcToken:t,dstToken:n,srcChainId:o,dstChainId:s}=e,[a,i]=zi.useState(false),[l,r]=zi.useState(false);return zi.useEffect(()=>{if(!o||!s||!t||!n)return;let c=o!==s;if(t?.symbol==="USDC"&&!c||t.is_collateral&&t.symbol===n?.symbol){i(false),r(false);return}i(t?.symbol!=="USDC"),c?(r(true),i(true)):r(false);},[t,n,o,s]),{needSwap:a,needCrossSwap:l}}var Nt=[{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"}],Jr=[{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"}],Iu="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",gn=e=>e===Iu,yn="https://fi-api.woo.org";var os=()=>{let[e,{setTrue:t,setFalse:n}]=hooks.useBoolean(false),[o,s]=zi.useState("WAITTING"),a=hooks.useEventEmitter(),[i,l]=zi.useState(),[r,c]=zi.useState(types.WS_WalletStatusEnum.NO),p=zi.useRef(),u=zi.useRef(),m=hooks.useAccountInstance(),h=hooks.useConfig(),y=h.get("brokerId"),d=h.get("networkId"),f=zi.useRef(scanClient.createClient(d)).current,x=zi.useRef();zi.useEffect(()=>{let C=S=>{let{side:A,transStatus:b,trxId:T}=S;A==="DEPOSIT"&&T===p.current&&c(b);};return a.on("wallet:changed",C),()=>{a.off("wallet:changed",C);}},[p.current]);let g=zi.useCallback(C=>{u.current&&clearTimeout(u.current),u.current=setTimeout(async()=>{try{let{messages:S}=await f.getMessagesBySrcTxHash(C);if(S.length>0){let{status:A}=S[0];s(A),A==="DELIVERED"?(l(S[0]),p.current=S[0].dstTxHash):A==="FAILED"?l(S[0]):g(C);}else g(C);}catch{g(C);}},1e3);},[]);zi.useEffect(()=>()=>{x.current&&clearTimeout(x.current);},[]);let I=zi.useCallback(()=>({accountId:m.accountIdHashStr,brokerHash:core.utils.parseBrokerHash(y),tokenHash:core.utils.parseTokenHash("USDC")}),[m,y]);return {swap:async C=>{if(!m.walletAdapter)throw new Error("walletAdapter is undefined");if(!m.address)throw new Error("account.address is undefined");if(!C.crossChainRouteAddress)throw new Error("crossChainRouteAddress is undefined");let{address:S,src:A,dst:b,crossChainRouteAddress:T}=C;if(!e){t();try{let v=await m.walletAdapter.call(T,"quoteLayerZeroFee",[m.address,b,I()],{abi:Nt}),w=await m.walletAdapter.sendTransaction(T,"crossSwap",{from:m.address,to:T,data:[m.address,A,b,I()],value:gn(C.src.fromToken)?BigInt(C.src.fromAmount)+v[0]:v[0]},{abi:Nt});return n(),g(w.hash),a.emit("deposit:requested"),ramda.pick(["from","to","hash","value"],w)}catch(v){throw console.error("crossSwap error",v),n(),new Error(v.errorCode)}}},loading:e,bridgeStatus:o,status:r,message:i}};var xn=e=>{let{status:t,mode:n,statusUrl:o,brokerName:s}=e,{t:a}=i18n.useTranslation(),i=zi.useMemo(()=>{let u=Uu(t),m=Gu(t),h=[{title:a(u==="pending"?"transfer.swapDeposit.bridging":"transfer.swapDeposit.bridge"),description:a("transfer.swapDeposit.bridge.description"),state:u},{title:a(m==="pending"?"transfer.swapDeposit.depositing":"transfer.swapDeposit.deposit"),description:a("transfer.swapDeposit.deposit.description",{brokerName:s}),state:m}];return n===0?h.slice(1,2):h},[n,s,t,a]),l=()=>{e.onComplete?.(t===4);},r=t===3||t===1,c=t===0||t===2,p=i.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:[i.map(u=>zi.createElement(zu,{...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:a("transfer.swapDeposit.viewStatus")}),jsxRuntime.jsx(Gr,{})]})]}),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:a("transfer.swapDeposit.depositFailed")}),jsxRuntime.jsx(ui.Button,{className:"oui-w-full lg:oui-w-[184px]",disabled:c,onClick:l,children:a("common.ok")})]})]})},zu=({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(qu,{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),qu=({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 Uu(e){if(e===0)return "pending";if(e===1)return "failed";if(e===4||e===2)return "success"}function Gu(e){if(e===2)return "pending";if(e===3)return "failed";if(e===4)return "success"}var Tn=(e=[])=>{let t=e.reduce((n,o)=>(n[o.symbol]=o,n),{});return t.USDC||t.USDbC||e[0]},$e=e=>(e??2)+3;function is(e){return /^0x[a-fA-F0-9]{64}$/.test(e)}function kn(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 ss={"0x6697b232":"AccessControlBadConfirmation","0xe2517d3f":"AccessControlUnauthorizedAccount","0xc7ee9ce6":"AccountIdInvalid","0x9fabe1c1":"AddressZero","0x4b3815a6":"BalanceNotEnough","0x59d9b863":"BrokerNotAllowed","0xf67c6d78":"CeffuAddressMismatch","0xd969df24":"DepositExceedLimit","0xa65b249b":"EnumerableSetError","0x06a0cf4a":"InvalidSwapSignature","0x1eb00b06":"InvalidTokenAddress","0xfa7c7537":"NativeTokenDepositAmountMismatch","0xad674ae6":"NotRebalanceEnableToken","0x623793c9":"NotZeroCodeLength","0x833d33e7":"OnlyCrossChainManagerCanCall","0x3ee5aeb5":"ReentrancyGuardReentrantCall","0x0b693144":"SwapAlreadySubmitted","0xa29c4986":"TokenNotAllowed","0x30773dbb":"ZeroCodeLength","0x56316e87":"ZeroDeposit","0x93d3bb4d":"ZeroDepositFee"};function as(e){if(!e)return "";for(let t of Object.keys(ss))if(e.includes(t))return `${ss[t]} (${t})`}var Cn=e=>{let{info:t,mode:n,nativePrice:o,markPrice:s,src:a,dst:i,nativeToken:l,viewMode:r}=e,{t:c}=i18n.useTranslation(),p=jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ls,{primary:a?.token,chainId:a.chain,amount:a?.amount,dp:a?.displayDecimals,symbol:a?.token}),jsxRuntime.jsx(pn,{className:"oui-text-primary-light"}),jsxRuntime.jsx(ls,{primary:i?.token,component:jsxRuntime.jsx(Qr,{className:"oui-size-4"}),amount:i?.amount,dp:i?.displayDecimals,symbol:i?.token,reverse:true})]}),u=jsxRuntime.jsx(ui.Box,{my:5,children:jsxRuntime.jsx(ui.Divider,{intensity:12})}),m=[{label:c("transfer.deposit.destinationGasFee"),value:jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(Ur,{className:"oui-text-primary-light"}),jsxRuntime.jsx(ui.Text.numeral,{color:"primaryLight",padding:false,rm:utils.Decimal.ROUND_UP,dp:$e(l?.precision),children:t.dstGasFee}),jsxRuntime.jsx(ui.Text,{color:"primaryLight",children:l?.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:c("transfer.swapDeposit.swapFee"),value:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Text.numeral,{intensity:80,dp:$e(a?.displayDecimals),rm:utils.Decimal.ROUND_UP,padding:false,children:t.swapFee}),` ${a?.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(s||0).toString()}),")"]})]})},{label:c("transfer.swapDeposit.bridgeFee"),value:n===1&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Text.numeral,{intensity:80,dp:$e(a?.displayDecimals),rm:utils.Decimal.ROUND_UP,padding:false,children:t.bridgeFee}),` ${a?.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(s||0).toString()}),")"]})]})},{label:c("transfer.swapDeposit.minimumReceived"),value:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Text.numeral,{dp:i?.displayDecimals,rm:utils.Decimal.ROUND_DOWN,padding:false,children:t.received}),` ${i?.token}`]})},{label:c("common.price"),value:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[`1 ${a?.token} = `,jsxRuntime.jsx(ui.Text.numeral,{dp:3,padding:false,children:t.price}),` ${i?.token}`]})},{label:c("transfer.slippage"),value:`${t.slippage}%`}],h=jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",gapY:3,children:m?.map(d=>{if(d.value)return zi.createElement(Ku,{...d,key:d.label})})}),y=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:c("transfer.swapDeposit.confirmSwap")})});return jsxRuntime.jsxs(ui.Box,{intensity:800,children:[p,jsxRuntime.jsx(Ju,{time:t.time??0}),u,r==="details"&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[h,y]})]})},Ku=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})]}),ls=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})]})]}),Ju=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 Sn=()=>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 ds=e=>{let{transactionData:t,slippage:n,mode:o,dst:s,src:a,chain:i,nativeToken:l,depositFee:r}=e,{t:c}=i18n.useTranslation(),[p,u]=zi.useState(-1),[m,h]=zi.useState("details"),[y,d]=zi.useState(),f=hooks.useEventEmitter(),{swap:x,bridgeStatus:g,message:I,status:k}=os(),C=zi.useMemo(()=>({price:t.price,slippage:n,time:i?.est_txn_mins,received:s.amount,bridgeFee:t.fees_from.stargate,swapFee:t.fees_from.woofi,dstGasFee:t.dst_infos.gas_fee}),[t,i?.est_txn_mins,o,s]);zi.useEffect(()=>{g==="DELIVERED"&&u(2),g==="FAILED"&&u(1),k===types.WS_WalletStatusEnum.COMPLETED&&u(4),k===types.WS_WalletStatusEnum.FAILED&&u(3);},[g,k]);let S=zi.useCallback(()=>(h("processing"),t?(u(0),x({address:"",crossChainRouteAddress:i?.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(b=>{d(b),ui.toast.success(c("transfer.deposit.requested")),f.emit("deposit:requested");}).catch(b=>{u(1),ui.toast.error(b?.message||"Error");})):Promise.reject("No transaction data")),[t,o,s,a,f]),A=zi.useMemo(()=>{if(!(p<2||!I))return `https://layerzeroscan.com/tx/${I.srcTxHash}`},[p,I]);return jsxRuntime.jsxs(ui.Box,{intensity:800,children:[jsxRuntime.jsx(Cn,{viewMode:m,onConfirm:S,info:C,src:e.src,dst:e.dst,mode:o,markPrice:t.mark_prices?.from_token??1,nativePrice:t.mark_prices.native_token,nativeToken:l}),m==="processing"&&jsxRuntime.jsx(xn,{mode:1,status:p,statusUrl:A,onComplete:e.onComplete,brokerName:e.brokerName}),jsxRuntime.jsx(Sn,{})]})};var ys=()=>{let[e,{setTrue:t,setFalse:n}]=hooks.useBoolean(false),o=hooks.useAccountInstance(),s=hooks.useConfig("brokerId"),[a,i]=zi.useState(types.WS_WalletStatusEnum.NO),l=zi.useRef(),r=hooks.useEventEmitter();zi.useEffect(()=>{let u=m=>{let{side:h,transStatus:y,trxId:d}=m;h==="DEPOSIT"&&d===l.current&&i(y);};return r.on("wallet:changed",u),()=>{r.off("wallet:changed",u);}},[l.current]);let c=zi.useCallback(()=>({accountId:o.accountIdHashStr,brokerHash:core.utils.parseBrokerHash(s),tokenHash:core.utils.parseTokenHash("USDC")}),[o,s]);return {swap:zi.useCallback(async(u,m,h)=>{if(!o.walletAdapter)throw new Error("walletAdapter is undefined");if(!o.address)throw new Error("account.address is undefined");if(e)return;t();let y={from:o.address,to:u,data:[o.address,m,c()],value:gn(m.fromToken)?BigInt(m.fromAmount)+m.orderlyNativeFees:m.orderlyNativeFees};try{let d=await o.walletAdapter.sendTransaction(u,"swap",y,{abi:Jr});return n(),l.current=d.hash,r.emit("deposit:requested"),ramda.pick(["from","to","hash","value"],d)}catch(d){throw new Error(d.errorCode)}},[e,o]),loading:e,status:a}};var Ts=e=>{let{transactionData:t,slippage:n,mode:o,dst:s,src:a,chain:i,nativeToken:l,depositFee:r}=e,{t:c}=i18n.useTranslation(),[p,u]=zi.useState(-1),[m,h]=zi.useState("details"),[y,d]=zi.useState(),f=hooks.useEventEmitter(),{swap:x,status:g}=ys(),I=zi.useMemo(()=>({price:t.price,slippage:n,time:i?.est_txn_mins,received:s.amount,dstGasFee:new utils.Decimal(r.toString())?.div(new utils.Decimal(10).pow(18))?.toString(),swapFee:t.fees_from}),[t,i?.est_txn_mins,o,s,r]);zi.useEffect(()=>{g===types.WS_WalletStatusEnum.COMPLETED&&u(4),g===types.WS_WalletStatusEnum.FAILED&&u(3);},[g]);let k=zi.useCallback(()=>(h("processing"),t?!i||!i.depositor?Promise.reject("No chain data"):(u(2),x(i.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:s,src:a}).then(S=>{d(S),ui.toast.success(c("transfer.deposit.requested")),f.emit("deposit:requested");}).catch(S=>{u(3),ui.toast.error(S?.message||"Error");})):Promise.reject("No transaction data")),[t,o,s,a,f]),C=zi.useMemo(()=>{if(!(p<2||!y))return `${i?.explorer_base_url}/tx/${y.hash}`},[p,y,i]);return jsxRuntime.jsxs(ui.Box,{intensity:800,children:[jsxRuntime.jsx(Cn,{viewMode:m,onConfirm:k,info:I,src:e.src,dst:e.dst,mode:o,markPrice:t.mark_prices?.from_token??1,nativePrice:t.mark_prices.native_token,nativeToken:l}),m==="processing"&&jsxRuntime.jsx(xn,{mode:0,status:p,statusUrl:C,onComplete:e.onComplete,brokerName:e.brokerName}),jsxRuntime.jsx(Sn,{})]})};var Cs=e=>{let{mode:t}=e;return t===1?jsxRuntime.jsx(ds,{...e}):jsxRuntime.jsx(Ts,{...e})};var vn=ui.modal.create(e=>{let{isMobile:t}=ui.useScreen(),{t:n}=i18n.useTranslation(),{visible:o,hide:s,resolve:a,reject:i,onOpenChange:l}=ui.useModal(),r=u=>{a(u),s();},c=()=>{i(),s();},p={title:n("transfer.swapDeposit.swapDialog.title"),open:o,onOpenChange:l,classNames:{content:"oui-font-semibold"},children:jsxRuntime.jsx(Cs,{...e,onComplete:r,onCancel:c})};return t?jsxRuntime.jsx(ui.SimpleSheet,{...p}):jsxRuntime.jsx(ui.SimpleDialog,{...p,size:"md"})});var Ss=()=>{let[e,{setTrue:t,setFalse:n}]=hooks.useBoolean(false),o=hooks.useConfig("brokerId"),s=hooks.useAccountInstance(),a=zi.useCallback(()=>({accountId:s.accountIdHashStr,brokerHash:core.utils.parseBrokerHash(o),tokenHash:core.utils.parseTokenHash("USDC")}),[s,o]),i=zi.useCallback(async(r,c)=>{if(!s.walletAdapter)throw new Error("walletAdapter is not ready");let p=await s.walletAdapter.call(r,"quoteLayerZeroFee",[s.address,c,a()],{abi:Nt});return core.utils.formatByUnits(p[0])},[]);return {query:zi.useCallback(r=>{if(e)return Promise.resolve();t();let c={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(c).map(([u,m])=>`${u}=${encodeURIComponent(m)}`).join("&");return fetch(`${yn}/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=>i(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=>{console.error("queryDestinationFee error",m);})).finally(()=>n())},[e,s]),loading:e}};var vs=()=>{let e=hooks.useAccountInstance(),[t,{setTrue:n,setFalse:o}]=hooks.useBoolean(false);return {query:zi.useCallback(a=>{if(t)return Promise.resolve();n();let i={network:a.srcNetwork,from_token:a.srcToken,to_token:a.dstToken,from_amount:a.amount,slippage:a.slippage||1},l=Object.entries(i).map(([r,c])=>`${r}=${encodeURIComponent(c)}`).join("&");return fetch(`${yn}/woofi_dex/swap?${l}`).then(r=>r.ok?r.json():r.json().then(c=>{throw new Error(c.error.message)})).then(r=>{if(r.status==="ok")return r.data;throw new Error(r.message)}).finally(()=>o())},[e]),loading:t}};function In(e){let{quantity:t,dst:n,queryParams:o,needSwap:s,needCrossSwap:a}=e,{t:i}=i18n.useTranslation(),{query:l}=vs(),{query:r}=Ss(),c=zi.useRef(o);c.current=o;let[p,u]=zi.useState(""),[m,h]=zi.useState(""),[y,{setTrue:d,setFalse:f}]=hooks.useBoolean(false),[x,g]=zi.useState({price:0,markPrices:{from_token:0,native_token:0},fee:""}),I=zi.useCallback(()=>a?r(c.current):s?l(c.current):Promise.reject("no need to enquiry"),[s,a]),k=b=>{if(b.mark_prices){let T=a?b.dst_infos.gas_fee:"0",v=a?b.fees_from.woofi:b.fees_from,w=a?b.fees_from.stargate:void 0,F=a?b.fees_from.total:b.fees_from;g({price:b.price,markPrices:b.mark_prices,dstGasFee:T,swapFee:v,bridgeFee:w,fee:F});}if(b.route_infos){let T=a?b.route_infos.dst.amounts[1]:b.route_infos.amounts[1];u(new utils.Decimal(T).div(Math.pow(10,n.decimals)).toString());}return h(""),b},C=b=>{g({fee:"0",markPrices:{from_token:0,native_token:0},price:0,swapFee:"0",bridgeFee:"0",dstGasFee:"0",...b}),u("");},S=b=>{b.message==="contract call failed"?(h(i("transfer.swapDeposit.notEnoughLiquidity")),C()):(h(""),b?.message&&ui.toast.error(b.message));},A=hooks.useDebouncedCallback(()=>(d(),I().then(k,S).finally(()=>{f();})),300);return zi.useEffect(()=>{if(!s&&!a){C({price:1}),u(t);return}let b=Number(t);if(isNaN(b)||b<=0){C();return}A();},[s,a,t]),{enquiry:I,querying:y,warningMessage:m,transactionInfo:x,amount:p,cleanTransactionInfo:C}}function Fn(e){let{nativeToken:t,isNativeToken:n,src:o,depositFee:s=0,transactionInfo:a,needSwap:i,needCrossSwap:l}=e,r=t?.symbol,c=o?.symbol,{fee:p="0",swapFee:u="0",bridgeFee:m="0",dstGasFee:h="0",markPrices:y}=a,{from_token:d,native_token:f}=y,{data:x}=hooks.useIndexPrice(`SPOT_${r}_USDC`),{t:g}=i18n.useTranslation();return {...zi.useMemo(()=>{let k="",C=[],S=$e(t?.precision),A=$e(o?.precision),b=l?h:new utils.Decimal(s.toString()).div(new utils.Decimal(10).pow(18)).toString();if(!i&&!l&&(C=[{value:b,dp:S}],k=new utils.Decimal(b).mul(x||0).toString()),i||l)if(n){let v=new utils.Decimal(b).plus(p);C=[{value:v.toString(),dp:S}],k=v.mul(f??1).toString();}else C=[{value:b,dp:S,symbol:r},{value:p,dp:A,symbol:c}],k=new utils.Decimal(b).mul(f??1).plus(new utils.Decimal(p).mul(d??1)).toString();C=C.filter(v=>!!v.value&&Number(v.value)!==0);let T=[{title:g("transfer.deposit.destinationGasFee"),description:g("transfer.deposit.destinationGasFee.description"),value:b,dp:S,symbol:r},{title:g("transfer.swapDeposit.swapFee"),description:g("transfer.swapDeposit.swapFee.description"),value:u,dp:A,symbol:c},{title:g("transfer.swapDeposit.bridgeFee"),description:g("transfer.swapDeposit.bridgeFee.description"),value:m,dp:A,symbol:c}].filter((v,w)=>w===0||!!v.value&&Number(v.value)!==0).map(v=>{let w=new utils.Decimal(v.value||0).todp(v.dp).toNumber();return {...v,value:utils.toNonExponential(w)}});return {feeAmount:k,feeQtys:C,feeDetails:T}},[s,x,r,c,a,i,l]),nativeSymbol:r}}var Kl="orderly_swap_deposit_slippage",Ns=e=>{let{srcToken:t,currentChain:n,dst:o,quantity:s,isNativeToken:a,depositFee:i,setQuantity:l,needSwap:r,needCrossSwap:c}=e,[p,u]=hooks.useLocalStorage(Kl,1),h=hooks.useConfig().get("brokerName")||"",{enquiry:y,transactionInfo:d,amount:f,querying:x,warningMessage:g,cleanTransactionInfo:I}=In({quantity:s,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(s||0).mul(10**(t?.decimals||0)).toString(),slippage:p},needSwap:r,needCrossSwap:c}),k=zi.useCallback(()=>{l(""),I();},[l]),C=zi.useCallback(async()=>y().then(v=>{let w=c?v.route_infos?.dst.amounts[1]:v.route_infos?.amounts[1],F={mode:c?1:0,src:{chain:n?.id,token:t.symbol,displayDecimals:t?.precision,amount:s,decimals:t.decimals},dst:{chain:o.chainId,token:o.symbol,displayDecimals:2,amount:new utils.Decimal(w).div(Math.pow(10,o.decimals)).toString(),decimals:o.decimals},chain:n?.info?.network_infos,nativeToken:n?.info?.nativeToken,depositFee:i,transactionData:v,slippage:p,brokerName:h};return ui.modal.show(vn,F)}).then(v=>{v&&k();}).catch(v=>{}),[s,c,o,n,p,i]),S=zi.useMemo(()=>c||r?d.price:1,[d]),A=zi.useMemo(()=>c||r?a?d.markPrices.native_token:d.markPrices.from_token:1,[r,c,a,d]),b=r||c?f:s,T=Fn({nativeToken:n?.info?.nativeToken,isNativeToken:a,src:t,depositFee:i,transactionInfo:d,needSwap:r,needCrossSwap:c});return {cleanTransactionInfo:I,onSwapDeposit:C,swapPrice:S,markPrice:A,swapQuantity:b,swapFee:T,swapRevalidating:x,warningMessage:g,needSwap:r,needCrossSwap:c,slippage:p,onSlippageChange:u}};function Pt(e){let{isNativeToken:t,allowance:n,quantity:o,maxQuantity:s}=e;return zi.useMemo(()=>{let i=t?Number.MAX_VALUE:Number(n);if(i<=0)return 2;let l=Number(o),r=Number(s);return i<l&&l<=r?2:0},[t,n,o,s])}function _t(){let{t:e}=i18n.useTranslation(),t=hooks.useConfig("networkId"),[n]=hooks.useLocalStorage("orderly_link_device",{}),{connectedChain:o,settingChain:s,setChain:a}=hooks.useWalletConnector(),[i,{findByChainId:l}]=hooks.useChains(t,{pick:"network_infos",filter:p=>p.network_infos?.bridge_enable||p.network_infos?.bridgeless}),r=zi.useMemo(()=>{let p=o?utils.praseChainIdToNumber(o.id):parseInt(n?.chainId);if(!p)return null;let u=l(p);return {...o,id:p,info:u}},[l,o,n]),c=zi.useCallback(async p=>{let u=l(p.chain_id);if(o)return !u||u.network_infos?.chain_id===r?.id?Promise.resolve():a({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,a,l]);return {chains:i,currentChain:r,settingChain:s,onChainChange:c}}function Et(e){let{quantity:t,allowance:n,approve:o,deposit:s,enableCustomDeposit:a,customDeposit:i,onSuccess:l}=e,[r,c]=zi.useState(false),p=hooks.useEventEmitter(),{t:u}=i18n.useTranslation(),m=zi.useCallback(async()=>{try{await s(),ui.toast.success(u("transfer.deposit.requested")),p.emit("deposit:requested"),l?.();}catch(f){console.error("deposit error",f);let x=as(f.message);x?ui.toast.error(jsxRuntime.jsxs("div",{children:[u("common.somethingWentWrong"),jsxRuntime.jsx("br",{}),jsxRuntime.jsxs("div",{className:"orderly-text-white/[0.54] orderly-text-xs",children:[u("common.details"),": ",x]})]})):ui.toast.error(f.message||u("common.somethingWentWrong"));}},[s,l,u]),h=zi.useCallback(async()=>{let f=Number(t);if(isNaN(f)||f<=0){ui.toast.error(u("transfer.quantity.invalid"));return}if(r)return;c(true),await(a?i:m)?.()?.finally(()=>{c(false);});},[t,r,m,a,i,u]),y=zi.useCallback(async()=>{if(!r){c(true);try{await o(t),ui.toast.success(u("transfer.deposit.approve.success"));}catch(f){throw console.error("approve error",f),ui.toast.error(f.message||f?.errorCode||u("transfer.deposit.approve.failed")),f}finally{c(false);}}},[o,r,t,n,u]),d=zi.useCallback(async()=>{if(!r){c(true);try{await y(),await h();}catch(f){console.error("approve and deposit error",f);}finally{c(false);}}},[r,y,h]);return {submitting:r,onApprove:y,onDeposit:h,onApproveAndDeposit:d}}function Rt(e){let{quantity:t,maxQuantity:n}=e,{t:o}=i18n.useTranslation(),[s,a]=zi.useState("default"),[i,l]=zi.useState();return zi.useEffect(()=>{if(!t){a("default"),l("");return}new utils.Decimal(t).gt(n)?(a("error"),l(o("transfer.insufficientBalance"))):(a("default"),l(""));},[t,n]),{inputStatus:s,hintMessage:i}}var Dn=(e,t=()=>true)=>{let[n,o]=zi.useState(),[s,a]=zi.useState(),[i,l]=zi.useState([]),[r,c]=zi.useState([]),p=hooks.useConfig("networkId"),u=zi.useCallback(m=>{if(m&&m?.token_infos?.length>0){let h=m.token_infos?.filter(t);h?.length&&h.sort((d,f)=>d.symbol==="USDC"?-1:f.symbol==="USDC"?1:0);let y=Tn(h);if(!y)return;o(y),a(y),l(h),c([y]);}},[]);return zi.useEffect(()=>{u(e?.info);},[e,u]),zi.useEffect(()=>{if(!n||!i.length)return;if(n.symbol==="USDC"){a(n),c([n]);return}let m=i.find(h=>h.symbol==="USDC");if(n.is_collateral){p==="mainnet"&&n.swap_enable?(a(n),c([n,m])):(a(n),c([n]));return}a(m),c([m]);},[p,n,i]),{sourceToken:n,targetToken:s,sourceTokens:i,targetTokens:r,onSourceTokenChange:o,onTargetTokenChange:a}};var {collateralRatio:Dc,collateralContribution:Pc,calcMinimumReceived:_c}=perp.account,Pn=3,Vo=e=>{let{wrongNetwork:t}=reactApp.useAppContext(),{t:n}=i18n.useTranslation(),o=hooks.useConfig("networkId"),[s,a]=zi.useState(""),{chains:i,currentChain:l,settingChain:r,onChainChange:c}=_t(),{sourceToken:p,targetToken:u,sourceTokens:m,targetTokens:h,onSourceTokenChange:y,onTargetTokenChange:d}=Dn(l),{data:f,getIndexPrice:x}=hooks.useIndexPricesStream(),g=zi.useMemo(()=>x(p?.symbol??"")??0,[p?.symbol,f]),I=zi.useMemo(()=>m?.find(wr=>wr.symbol==="USDC"),[m]),{dst:k,balance:C,allowance:S,depositFeeRevalidating:A,depositFee:b,quantity:T,setQuantity:v,approve:w,deposit:F,isNativeToken:M,balanceRevalidating:B,fetchBalance:D}=hooks.useDeposit({address:p?.address,decimals:p?.decimals,srcChainId:l?.id,srcToken:p?.symbol,dstToken:u?.symbol,crossChainRouteAddress:l?.info?.network_infos?.cross_chain_router,depositorAddress:l?.info?.network_infos?.depositor}),z=zi.useMemo(()=>new utils.Decimal(C||0).todp(p?.precision??2,utils.Decimal.ROUND_DOWN).toString(),[C,p?.precision]),{inputStatus:P,hintMessage:q}=Rt({quantity:T,maxQuantity:z}),{needSwap:O,needCrossSwap:G}=fn({srcToken:p,dstToken:u,srcChainId:l?.id,dstChainId:k?.chainId}),{cleanTransactionInfo:R,onSwapDeposit:ee,swapRevalidating:ie,swapPrice:ae,markPrice:ge,swapQuantity:j,swapFee:ye,warningMessage:he,slippage:H,onSlippageChange:De}=Ns({srcToken:p,currentChain:l,dst:k,quantity:T,isNativeToken:M,depositFee:b,setQuantity:v,needSwap:O,needCrossSwap:G}),ue=zi.useCallback(()=>{v(""),R();},[v]),we=zi.useCallback(()=>{ue(),e.close?.();},[ue,e.close]),{submitting:_,onApprove:W,onDeposit:$,onApproveAndDeposit:Z}=Et({quantity:T,allowance:S,approve:w,deposit:F,enableCustomDeposit:O||G,customDeposit:ee,onSuccess:we}),be=zi.useMemo(()=>p?.symbol==="USDC"||p?.symbol!==u?.symbol||!p?.is_collateral||!T||isNaN(Number(T))?"":new utils.Decimal(T).gt(p?.user_max_qty)?n("transfer.deposit.userMaxQty.error",{maxQty:p?.user_max_qty,token:p?.symbol}):"",[p,u,T,n]),kt=_||A,Hn=!T||Number(T)===0||!p||P==="error"||A||ie||!!be||!!s,$n=zi.useMemo(()=>new utils.Decimal(T||0).mul(1).toNumber(),[T]),Xn=Pt({isNativeToken:M,allowance:S,quantity:T,maxQuantity:z}),jn=Ec({nativeToken:l?.info?.nativeToken,depositFee:b}),{collateralRatio:Zn,collateralContributionQuantity:Yn,currentLTV:N,nextLTV:Y}=Rc({sourceToken:p,targetToken:u,qty:T,indexPrice:g}),{ltv_threshold:Le,negative_usdc_threshold:Kn,isLoading:Ei}=Mc();zi.useEffect(()=>{ue();},[p,l?.id]);let Ri=zi.useMemo(()=>{if(M&&z===T)return n("transfer.deposit.gasFee.error",{token:p?.symbol})},[z,T,p?.symbol,n]);zi.useEffect(()=>{T&&Number(T)>0&&b===0n&&!A?a(n("transfer.deposit.failed.fee")):a("");},[T,b,A,n]);let Mi=he||be||Ri||s,Bi=zi.useMemo(()=>O?j&&new utils.Decimal(j)?.todp(Pn,utils.Decimal.ROUND_DOWN).toString():T,[O,j,T]),Wi=zi.useMemo(()=>j?_c({amount:Number(j),slippage:H}):"-",[j,H]);return {sourceToken:p,targetToken:u,sourceTokens:m,targetTokens:h,onSourceTokenChange:y,onTargetTokenChange:d,amount:$n,isNativeToken:M,quantity:T,collateralContributionQuantity:Yn,maxQuantity:z,indexPrice:g,onQuantityChange:v,hintMessage:q,inputStatus:P,chains:i,currentChain:l,settingChain:r,onChainChange:c,actionType:Xn,onDeposit:$,onApprove:W,onApproveAndDeposit:Z,fetchBalance:D,dst:k,wrongNetwork:t,balanceRevalidating:B,loading:kt,disabled:Hn,networkId:o,fee:jn,collateralRatio:Zn,currentLTV:N,nextLTV:Y,ltv_threshold:Le,negative_usdc_threshold:Kn,isConvertThresholdLoading:Ei,slippage:H,onSlippageChange:De,minimumReceived:Wi,usdcToken:I,needSwap:O,needCrossSwap:G,swapPrice:ae,markPrice:ge,swapFee:ye,warningMessage:Mi,targetQuantity:Bi,targetQuantityLoading:ie}};function Ec(e){let{nativeToken:t,depositFee:n=0}=e,{account:o}=hooks.useAccount(),s=t?.symbol,a=hooks.useTokenInfo(s),{data:i}=hooks.useIndexPrice(`SPOT_${s}_USDC`);return {...zi.useMemo(()=>{let r=new utils.Decimal(n.toString()).div(new utils.Decimal(10).pow(o.walletAdapter?.chainNamespace===types.ChainNamespace.solana?9:18)).toString(),c=new utils.Decimal(r).mul(i||0).toString();return {dstGasFee:r,feeQty:r,feeAmount:c,dp:a?.decimals||8}},[n,i]),nativeSymbol:s}}var Rc=e=>{let{sourceToken:t,targetToken:n,indexPrice:o}=e,s=Number(e.qty),a=zi.useMemo(()=>Dc({baseWeight:n?.base_weight??0,discountFactor:n?.discount_factor??0,collateralQty:s,collateralCap:t?.user_max_qty??s,indexPrice:o}),[n,s,t?.user_max_qty,o]),i=Pc({collateralQty:s,collateralCap:t?.user_max_qty??s,collateralRatio:a.toNumber(),indexPrice:o}),l=hooks.useComputedLTV(),r=hooks.useComputedLTV({input:s,token:t?.symbol});return {collateralRatio:a.toNumber(),collateralContributionQuantity:i,currentLTV:l,nextLTV:r,indexPrice:o}},Mc=()=>{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 qo=e=>{let{sourceToken:t,targetToken:n,sourceTokens:o,targetTokens:s,onSourceTokenChange:a,onTargetTokenChange:i,amount:l,quantity:r,collateralContributionQuantity:c,maxQuantity:p,onQuantityChange:u,hintMessage:m,inputStatus:h,chains:y,currentChain:d,settingChain:f,onChainChange:x,actionType:g,onDeposit:I,onApprove:k,onApproveAndDeposit:C,fetchBalance:S,wrongNetwork:A,balanceRevalidating:b,loading:T,disabled:v,networkId:w,fee:F,collateralRatio:M,currentLTV:B,nextLTV:D,slippage:z,onSlippageChange:P,minimumReceived:q,needSwap:O,needCrossSwap:G,swapPrice:R,swapFee:ee,warningMessage:ie,usdcToken:ae,targetQuantity:ge,targetQuantityLoading:j}=e,{t:ye}=i18n.useTranslation(),he=()=>O||G?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:ye("transfer.deposit.convertRate")}),jsxRuntime.jsx(Ft,{sourceSymbol:t?.display_name||t?.symbol,targetSymbol:n?.display_name||n?.symbol,precision:Pn,indexPrice:R})]}),jsxRuntime.jsx(ot,{value:z,onValueChange:P}),jsxRuntime.jsx(Yt,{value:q,symbol:n?.symbol??"",precision:Pn}),jsxRuntime.jsx(un,{...ee})]}):jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",mt:2,gap:1,children:[jsxRuntime.jsx(fo,{value:M}),jsxRuntime.jsx(Ir,{precision:ae?.precision??6,value:c}),jsxRuntime.jsx(ze,{showDiff:typeof r<"u"&&Number(r)>0,currentLtv:B,nextLTV:D}),jsxRuntime.jsx(It,{...F})]});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(At,{}),jsxRuntime.jsxs(ui.Box,{mt:3,mb:1,children:[jsxRuntime.jsx(Ue,{chains:y,value:d,onValueChange:x,wrongNetwork:A,loading:f}),jsxRuntime.jsx(K,{classNames:{root:"oui-mt-[2px] oui-rounded-t-sm oui-rounded-b-xl"},value:r,onValueChange:u,token:t,tokens:o,onTokenChange:a,status:h,hintMessage:m,fetchBalance:S,"data-testId":"oui-testid-deposit-dialog-quantity-input"})]}),jsxRuntime.jsx(le,{token:t,amount:l,maxQuantity:p,loading:b,onClick:()=>{u(p);}}),jsxRuntime.jsx(ce,{}),jsxRuntime.jsx(qe,{}),jsxRuntime.jsx(K,{readOnly:true,token:n,tokens:s,onTokenChange:i,value:ge,loading:j,classNames:{root:"oui-mt-3 oui-border-transparent focus-within:oui-outline-transparent"}}),he()]}),jsxRuntime.jsx(Xr,{sourceToken:t?.symbol,targetToken:n?.symbol,className:"oui-mb-3"}),jsxRuntime.jsx(sn,{message:ie,needSwap:O,needCrossSwap:G,wrongNetwork:A,networkId:w}),jsxRuntime.jsx(ui.Flex,{justify:"center",children:jsxRuntime.jsx(vt,{actionType:g,symbol:t?.symbol,disabled:v,loading:T,onDeposit:I,onApprove:k,onApproveAndDeposit:C,networkId:w})})]})};var Uo=e=>{let t=Vo(e);return jsxRuntime.jsx(qo,{...t})};var Os=e=>{let{value:t,onChange:n,status:o,hintMessage:s,placeholder:a,label:i}=e,l=zi.useRef(null),r=u=>{n?.(u.target.value);let m=l.current;m&&(m.style.height="auto",m.style.height=`${m.scrollHeight}px`);};zi.useEffect(()=>{let u=l.current;u&&(u.style.height="auto",u.style.height=`${u.scrollHeight}px`);},[t]);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})}),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:s})]});return jsxRuntime.jsxs("div",{className:"oui-relative",children:[c,jsxRuntime.jsx("textarea",{ref:l,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",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}),s&&p]})};var Bn=e=>{let{hasPositions:t,unsettledPnl:n,onSettlePnl:o,tooltipContent:s,dialogContent:a}=e,{t:i}=i18n.useTranslation();if(n===0&&!t)return jsxRuntime.jsx(jsxRuntime.Fragment,{});let l=()=>{ui.modal.confirm({title:i("settle.settlePnl"),content:a,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:s,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:n}),jsxRuntime.jsx(ui.Text,{children:"USDC"})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gap:1,className:"oui-cursor-pointer",children:[jsxRuntime.jsx(kr,{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:l,children:i("common.settle")})]})]})};var Ls=({address:e,amount:t,currentChain:n})=>{let{t:o}=i18n.useTranslation(),s=zi.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:s})]})]}),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 Qo(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=>console.log("[switchChain error]",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 qs=e=>{let{disabled:t,loading:n,onWithdraw:o,networkId:s,crossChainWithdraw:a,address:i,currentChain:l,quantity:r,fee:c,checkIsBridgeless:p,onTransfer:u}=e,{t:m}=i18n.useTranslation(),h=zi.useMemo(()=>r?new utils.Decimal(r).minus(c??0).toNumber():0,[r,c]),y=()=>{if(a){ui.modal.confirm({title:m("transfer.withdraw.crossChain.confirmWithdraw"),content:jsxRuntime.jsx(Ls,{address:i,amount:h,currentChain:l}),classNames:{content:"oui-font-semibold",body:"!oui-pb-0",footer:"!oui-pt-0"},onOk:async()=>{o();}});return}o();},d={initial:"md",lg:"lg"},f=()=>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:y,size:d,children:m("common.withdraw")}):jsxRuntime.jsx(Qo,{networkId:s,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:s,bridgeLessOnly:true,buttonProps:{fullWidth:true,size:d},children:f()})})};var Us=e=>{let{chainVaultBalance:t,currentChain:n,crossChainTrans:o,tokenName:s,qtyGreaterThanMaxAmount:a,qtyGreaterThanVault:i}=e,{t:l}=i18n.useTranslation(),{state:r}=hooks.useAccount(),c=zi.useMemo(()=>{if(n&&n.info&&n.info.network_infos)return n.info.network_infos.name},[n]),u=r.status===types.AccountStatusEnum.NotConnected?null:o?l("transfer.withdraw.crossChain.process"):a?l("transfer.insufficientBalance"):i?l("transfer.withdraw.vaultWarning",{tokenName:s,chainName:c,balance:t}):e.message;return u?jsxRuntime.jsx(ui.Flex,{my:4,className:"oui-justify-center oui-text-center oui-text-xs oui-text-warning-darken",children:u}):null};var Ho=e=>{let{address:t,loading:n,disabled:o,quantity:s,onQuantityChange:a,sourceToken:i,amount:l,maxQuantity:r,tokenChains:c,currentChain:p,fee:u,settingChain:m,chainVaultBalance:h,crossChainTrans:y,checkIsBridgeless:d,withdrawTo:f,sourceTokens:x,onSourceTokenChange:g,vaultBalanceList:I,qtyGreaterThanMaxAmount:k,qtyGreaterThanVault:C}=e,{t:S}=i18n.useTranslation(),A=jsxRuntime.jsxs(ui.TabPanel,{title:S("transfer.withdraw.otherAccount",{brokerName:e.brokerName}),value:"accountId",children:[jsxRuntime.jsx(Os,{label:S("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:S("transfer.withdraw.accountId.tips")})})]});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(qe,{}),jsxRuntime.jsx(ui.Box,{mt:3,mb:1,children:jsxRuntime.jsx(K,{value:s,onValueChange:a,token:i,tokens:x,onTokenChange:g,status:e.inputStatus,hintMessage:e.hintMessage,vaultBalanceList:I,testId:"oui-testid-withdraw-dialog-quantity-input",displayType:"vaultBalance",checkVaultBalance:f==="wallet"})}),jsxRuntime.jsx(le,{token:i,amount:l,maxQuantity:r.toString(),loading:e.balanceRevalidating,onClick:()=>{a(r.toString());}}),jsxRuntime.jsx(ui.Box,{mx:2,mt:1,children:jsxRuntime.jsx(Bn,{unsettledPnl:e.unsettledPnL,hasPositions:e.hasPositions,onSettlePnl:e.onSettlePnl,tooltipContent:S("settle.unsettled.tooltip"),dialogContent:jsxRuntime.jsx(i18n.Trans,{i18nKey:"settle.settlePnl.description"})})}),jsxRuntime.jsx(ce,{}),jsxRuntime.jsxs(ui.Tabs,{value:f,onValueChange:e.setWithdrawTo,variant:"contained",size:"lg",classNames:{tabsList:"oui-px-0",tabsContent:"oui-pt-3"},children:[jsxRuntime.jsxs(ui.TabPanel,{title:S("transfer.web3Wallet.my"),icon:jsxRuntime.jsx(ui.WalletIcon,{size:"xs",name:e.walletName??""}),value:"wallet",children:[jsxRuntime.jsx(Ue,{chains:c,value:p,onValueChange:e.onChainChange,wrongNetwork:e.wrongNetwork,loading:m}),jsxRuntime.jsx(K,{classNames:{root:"oui-mt-[2px] oui-rounded-t-sm oui-rounded-b-xl"},token:i,value:e.showQty,readOnly:true})]}),A]}),jsxRuntime.jsx(ui.Box,{mt:2,children:jsxRuntime.jsx(ze,{showDiff:typeof s<"u"&&Number(s)>0,currentLtv:e.currentLTV,nextLTV:e.nextLTV})}),jsxRuntime.jsx(ui.Flex,{direction:"column",mt:1,gapY:1,itemAlign:"start",children:jsxRuntime.jsxs(ui.Text,{size:"xs",intensity:36,children:[S("common.fee"),f==="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(Us,{checkIsBridgeless:d,chainVaultBalance:h,currentChain:p,crossChainTrans:y,tokenName:i?.symbol,qtyGreaterThanVault:C,qtyGreaterThanMaxAmount:k,message:e.warningMessage}),jsxRuntime.jsx(ui.Flex,{justify:"center",children:jsxRuntime.jsx(qs,{checkIsBridgeless:d,networkId:e.networkId,disabled:o,loading:n,onWithdraw:e.onWithdraw,crossChainWithdraw:e.crossChainWithdraw,currentChain:p,address:t,quantity:s,fee:u,withdrawTo:f,onTransfer:e.onTransfer})})]})};var ft=e=>{let{accountId:t}=e||{},{t:n}=i18n.useTranslation(),o=hooks.useEventEmitter(),{account:s,state:a}=hooks.useAccount(),[i]=hooks.usePositionStream();return {hasPositions:zi.useMemo(()=>!!i?.rows?.length,[i]),onSettlePnl:async()=>(t&&a.mainAccountId!==t?s.settleSubAccount({subAccountId:t}):s.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:s.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)})}};function $s(e){let{token:t,quantity:n,setQuantity:o,close:s,setLoading:a,decimals:i}=e,{t:l}=i18n.useTranslation(),[r,c]=zi.useState("wallet"),[p,u]=zi.useState(""),[m,h]=zi.useState("default"),[y,d]=zi.useState(),{transfer:f,submitting:x}=hooks.useInternalTransfer(),g=zi.useCallback(()=>{let I=Number(n);if(Number.isNaN(I)||I<=0){ui.toast.error(l("transfer.quantity.invalid"));return}x||!p||(a(true),f({token:t,receiver:p,amount:n,decimals:i}).then(()=>{ui.toast.success(l("transfer.internalTransfer.success")),o(""),s?.();}).catch(k=>{console.log("transfer error",k);let C=kn(k.code);ui.toast.error(C);}).finally(()=>{a(false);}));},[l,n,t,x,p,f]);return zi.useEffect(()=>{if(!p){h("default"),d("");return}is(p)?(h("default"),d("")):(h("error"),d(l("transfer.withdraw.accountId.invalid")));},[p]),{withdrawTo:r,setWithdrawTo:c,toAccountId:p,setToAccountId:u,onTransfer:g,internalWithdrawSubmitting:x,toAccountIdInputStatus:m,toAccountIdHintMessage:y}}function Xs(e){let{crossChainWithdraw:t,currentChain:n,token:o}=e,s=hooks.useTokenInfo(o);return zi.useMemo(()=>{if(!n)return 0;let i=s?.chain_details?.find(l=>Number.parseInt(l.chain_id)===n.id);return i?t?(i.withdrawal_fee||0)+(i.cross_chain_withdrawal_fee||0):i.withdrawal_fee||0:0},[s,o,n,t])}var Zs=e=>{let{token:t,quantity:n}=e,{ltv_threshold:o}=Bm(),{t:s}=i18n.useTranslation(),a=hooks.useComputedLTV(),i=hooks.useComputedLTV({input:n?-Number(n):0,token:t}),l=zi.useMemo(()=>{if(o&&i){let r=o*100;if(i>r)return s("transfer.withdraw.LTV.error",{threshold:r})}return ""},[i,o]);return {currentLTV:a,nextLTV:i,ltvWarningMessage:l,t:s}},Bm=()=>{let{data:e}=hooks.useQuery("/v1/public/auto_convert_threshold",{revalidateOnFocus:false});return {ltv_threshold:e?.ltv_threshold,negative_usdc_threshold:e?.negative_usdc_threshold}};var Js=1,Xo=e=>{let{t}=i18n.useTranslation(),[n,o]=zi.useState(false),[s,a]=zi.useState(false),[i]=hooks.useAssetsHistory({page:1,pageSize:1,side:types.AssetHistorySideEnum.WITHDRAW,status:types.AssetHistoryStatusEnum.PENDING_REBALANCE},{shouldUpdateOnWalletChanged:N=>N.side===types.AssetHistorySideEnum.WITHDRAW}),l=hooks.useConfig(),r=l.get("brokerName"),c=l.get("networkId"),p=hooks.useEventEmitter(),[u,m]=zi.useState(""),[h,y]=zi.useState("default"),[d,f]=zi.useState(),{wrongNetwork:x}=reactApp.useAppContext(),{account:g}=hooks.useAccount(),[I,{findByChainId:k}]=hooks.useChains(c,{filter:N=>N.network_infos?.bridge_enable||N.network_infos?.bridgeless}),[C]=hooks.useLocalStorage("orderly_link_device",{}),{data:S}=hooks.useQuery("/v1/public/vault_balance",{revalidateOnMount:true,errorRetryCount:3}),{connectedChain:A,wallet:b,setChain:T,settingChain:v}=hooks.useWalletConnector(),w=zi.useMemo(()=>{let N=A?utils.praseChainIdToNumber(A.id):Number.parseInt(C?.chainId);if(!N)return null;let Y=k(N);return {...A,id:N,info:Y}},[k,A,C]),{sourceToken:F,onSourceTokenChange:M,sourceTokens:B}=Dn(w,N=>N.symbol==="USDC"||N.is_collateral),D=zi.useMemo(()=>I.filter(N=>N.token_infos?.some(Y=>Y.symbol===F?.symbol)).map(N=>N.network_infos),[I,c,F]),{walletName:z,address:P}=zi.useMemo(()=>({walletName:b?.label,address:b?.accounts?.[0].address}),[b]),q=N=>{m(N);},O=zi.useMemo(()=>new utils.Decimal(u||0).mul(Js).toNumber(),[u,Js]),{withdraw:G,maxAmount:R,unsettledPnL:ee}=hooks.useWithdraw({token:F?.symbol,decimals:F?.token_decimal}),ie=$s({token:F?.symbol,decimals:F?.token_decimal,quantity:u,setQuantity:m,close:e.close,setLoading:a}),{withdrawTo:ae,toAccountId:ge}=ie,j=zi.useMemo(()=>x||!w?false:c==="testnet"?true:!(!w.info||!w.info.network_infos||!w.info.network_infos.bridgeless),[w,x]),ye=()=>{m("");},he=zi.useCallback(async N=>{let Y=k(N.chain_id);return !Y||Y.network_infos?.chain_id===w?.id?Promise.resolve():T?.({chainId:utils.int2hex(Number(Y.network_infos?.chain_id))}).then(Le=>{Le?(ui.toast.success(t("connector.networkSwitched")),ye()):ui.toast.error(t("connector.switchChain.failed"));}).catch(Le=>{ui.toast.error(`${t("connector.switchChain.failed")}: ${Le.message}`);})},[w,T,k,t]),H=zi.useMemo(()=>{if(!Array.isArray(S)||!w)return null;let N=S.find(Y=>Number.parseInt(Y.chain_id)===w?.id&&Y.token===F?.symbol);return N?N.balance:null},[I,w,S,F?.symbol]),De=zi.useMemo(()=>!u||Number.isNaN(u)?false:!R||Number.isNaN(R)?true:new utils.Decimal(u).gt(R),[u,R]),ue=zi.useMemo(()=>ae==="accountId"||!u||Number.isNaN(u)?false:!H||Number.isNaN(H)?true:new utils.Decimal(u).gt(H),[u,H,ae]),we=zi.useMemo(()=>{if(H!==null){let N=Number.parseFloat(u);return N>H&&N<=R}return false},[u,R,H]),_=async()=>{if(!s&&h==="default")return a(true),G({amount:u,token:F?.symbol,chainId:w?.id,allowCrossChainWithdraw:we}).then(N=>{ui.toast.success(t("transfer.withdraw.requested")),p.emit("withdraw:requested"),e.close?.(),m("");}).catch(N=>{if(N.message.indexOf("user rejected")!==-1){ui.toast.error(t("transfer.rejectTransaction"));return}if(N.message.indexOf("Signing off chain messages with Ledger is not yet supported")!==-1){p.emit("wallet:sign-message-with-ledger-error",{message:N.message,userAddress:g.address});return}ui.toast.error(N.message);}).finally(()=>{a(false);})},W=Xs({crossChainWithdraw:we,currentChain:w,token:F?.symbol}),$=zi.useMemo(()=>{let N=new utils.Decimal(F?.minimum_withdraw_amount??0).add(W);if(u&&new utils.Decimal(u).lt(N))return t("transfer.withdraw.minAmount.error",{minAmount:N.toString()})},[u,F?.minimum_withdraw_amount,W,t]),Z=zi.useMemo(()=>{if(!u)return "";let N=new utils.Decimal(u).sub(W??0);return N.isNegative()?"":utils.toNonExponential(N.toNumber())},[W,u]);zi.useEffect(()=>{if(!u){y("default"),f("");return}let N=new utils.Decimal(u??0);ee<0&&(N.gt(R)?(y("error"),f(t("transfer.insufficientBalance"))):(y("default"),f("")));},[u,R,ee,n]);let be=n||!u||Number(u)===0||["error","warning"].includes(h)||ae==="accountId"&&!ge||De||ue||!!$;zi.useEffect(()=>{o(!!i?.length);},[i?.length]);let kt=hooks.useMemoizedFn(N=>{if(!n)return;let Y=i?.[0]?.tx_id,{trxId:Le,transStatus:Kn}=N;Le===Y&&Kn==="COMPLETED"&&o(false);});hooks.useWalletTopic({onMessage:kt});let{hasPositions:Hn,onSettlePnl:$n}=ft(),{currentLTV:Xn,nextLTV:jn,ltvWarningMessage:Zn}=Zs({token:F?.symbol,quantity:u}),Yn=Zn||$;return {walletName:z,address:P,quantity:u,onQuantityChange:q,sourceToken:F,onSourceTokenChange:M,sourceTokens:B,inputStatus:h,hintMessage:d,amount:O,balanceRevalidating:false,maxQuantity:R,disabled:be,loading:s,unsettledPnL:ee,wrongNetwork:x,settingChain:v,tokenChains:D,currentChain:w,onChainChange:he,onWithdraw:_,chainVaultBalance:H,fee:W,crossChainWithdraw:we,crossChainTrans:n,showQty:Z,networkId:c,checkIsBridgeless:j,hasPositions:Hn,onSettlePnl:$n,brokerName:r,qtyGreaterThanMaxAmount:De,qtyGreaterThanVault:ue,vaultBalanceList:S?.filter(N=>Number.parseInt(N.chain_id)===w?.id),...ie,currentLTV:Xn,nextLTV:jn,warningMessage:Yn}};var jo=e=>{let t=Xo(e);return jsxRuntime.jsx(Ho,{...t})};var ei=e=>jsxRuntime.jsx(ui.ExtensionSlot,{position:ui.ExtensionPositionEnum.DepositForm,defaultWidget:Uo,...e});var ti=e=>jsxRuntime.jsx(ui.ExtensionSlot,{position:ui.ExtensionPositionEnum.WithdrawForm,defaultWidget:jo,...e});var gp="DepositAndWithdrawWithDialogId",yp="DepositAndWithdrawWithSheetId",oi=e=>{let[t,n]=zi.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(ei,{close:e.close})}),jsxRuntime.jsx(ui.TabPanel,{title:o("common.withdraw"),icon:jsxRuntime.jsx(ui.ArrowUpSquareFillIcon,{}),value:"withdraw",children:jsxRuntime.jsx(ti,{close:e.close})})]})};ui.registerSimpleDialog(gp,oi,{size:"md",classNames:{content:"oui-border oui-border-line-6"}});ui.registerSimpleSheet(yp,oi);var Ko=e=>{let{token:t,tokens:n,onTokenChange:o,amount:s,quantity:a,maxQuantity:i,swapQuantity:l,onQuantityChange:r,hintMessage:c,inputStatus:p,chains:u,currentChain:m,settingChain:h,onChainChange:y,actionType:d,onDeposit:f,onApprove:x,fetchBalance:g,dst:I,wrongNetwork:k,balanceRevalidating:C,loading:S,disabled:A,networkId:b,slippage:T,onSlippageChange:v,needSwap:w,needCrossSwap:F,swapPrice:M,swapRevalidating:B,warningMessage:D,fee:z}=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(At,{}),jsxRuntime.jsxs(ui.Box,{mt:3,mb:1,children:[jsxRuntime.jsx(Ue,{chains:u,value:m,onValueChange:y,wrongNetwork:k,loading:h}),jsxRuntime.jsx(K,{classNames:{root:"oui-mt-[2px] oui-rounded-t-sm oui-rounded-b-xl"},value:a,onValueChange:r,tokens:n,token:t,onTokenChange:o,status:p,hintMessage:c,fetchBalance:g,"data-testid":"oui-testid-swap-deposit-dialog-quantity-input"})]}),jsxRuntime.jsx(le,{token:t,amount:s,maxQuantity:i,loading:C,onClick:()=>{r(i);}}),jsxRuntime.jsx(ce,{}),jsxRuntime.jsx(qe,{}),jsxRuntime.jsx(K,{readOnly:true,token:I,value:l,loading:B,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:(w||F)&&jsxRuntime.jsx(ot,{value:T,onValueChange:v})}),jsxRuntime.jsx(un,{...z})]})]}),jsxRuntime.jsx(sn,{message:D,needSwap:w,needCrossSwap:F,wrongNetwork:k,networkId:b}),jsxRuntime.jsx(ui.Flex,{justify:"center",children:jsxRuntime.jsx(vt,{actionType:d,symbol:t?.symbol,disabled:A,loading:S,onDeposit:f,onApprove:x,networkId:b})})]})};function si(e){let{currentChain:t,tokensFilter:n}=e,[o,s]=zi.useState(),[a,i]=zi.useState([]),l=zi.useCallback(r=>{if(r&&r?.token_infos?.length>0){let c=typeof n=="function"?n(r):r.token_infos;i(c);let p=Tn(c);if(!p)return;s(p);}},[n]);return zi.useEffect(()=>{l(t?.info);},[t?.id,l]),{token:o,tokens:a,onTokenChange:s}}var er=e=>{let[t,n]=hooks.useLocalStorage("orderly_swap_deposit_slippage",1),o=hooks.useConfig(),s=o.get("brokerName")||"",a=o.get("networkId"),{wrongNetwork:i}=reactApp.useAppContext(),{chains:l,currentChain:r,settingChain:c,onChainChange:p}=_t(),u=zi.useCallback(Z=>Z.token_infos.filter(be=>Z.network_infos.bridgeless&&be.symbol==="USDC"?true:!!be.swap_enable)??[],[]),{token:m,tokens:h,onTokenChange:y}=si({currentChain:r,tokensFilter:u}),{dst:d,balance:f,allowance:x,depositFeeRevalidating:g,depositFee:I,quantity:k,setQuantity:C,approve:S,deposit:A,isNativeToken:b,balanceRevalidating:T,fetchBalance:v}=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}),w=zi.useMemo(()=>new utils.Decimal(f||0).todp(m?.precision??2,utils.Decimal.ROUND_DOWN).toString(),[f,m]),{inputStatus:F,hintMessage:M}=Rt({quantity:k,maxQuantity:w}),{needSwap:B,needCrossSwap:D}=fn({srcToken:m,srcChainId:r?.id,dstChainId:d?.chainId}),{enquiry:z,transactionInfo:P,amount:q,querying:O,warningMessage:G,cleanTransactionInfo:R}=In({quantity:k,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(k||0).mul(10**(m?.decimals||0)).toString(),slippage:t},needSwap:B,needCrossSwap:D}),ee=()=>{R(),C("");},ie=zi.useCallback(()=>{ee(),e.onClose?.();},[e.onClose]),ae=zi.useCallback(async()=>z().then(Z=>{let be=D?Z.route_infos?.dst.amounts[1]:Z.route_infos?.amounts[1],kt={mode:D?1:0,src:{chain:r?.id,token:m.symbol,displayDecimals:m?.precision,amount:k,decimals:m.decimals},dst:{chain:d.chainId,token:d.symbol,displayDecimals:2,amount:new utils.Decimal(be).div(Math.pow(10,d.decimals)).toString(),decimals:d.decimals},chain:r?.info?.network_infos,nativeToken:r?.info?.nativeToken,depositFee:I,transactionData:Z,slippage:t,brokerName:s};return ui.modal.show(vn,kt)}).then(Z=>{Z&&ee();}).catch(Z=>{}),[k,D,d,r,t,I]),{submitting:ge,onApprove:j,onDeposit:ye}=Et({quantity:k,allowance:x,approve:S,deposit:A,enableCustomDeposit:B||D,customDeposit:ae,onSuccess:ie}),he=ge||g||O,H=!k||Number(k)===0||F==="error"||g||O,De=zi.useMemo(()=>D||B?P.price:1,[P]),ue=zi.useMemo(()=>D||B?b?P.markPrices.native_token:P.markPrices.from_token:1,[B,D,b,P]),we=zi.useMemo(()=>new utils.Decimal(k||0).mul(ue).toNumber(),[k,ue]),_=B||D?q:k,W=Pt({isNativeToken:b,allowance:x,quantity:k,maxQuantity:w}),$=Fn({nativeToken:r?.info?.nativeToken,isNativeToken:b,src:m,depositFee:I,transactionInfo:P,needSwap:B,needCrossSwap:D});return zi.useEffect(()=>{ee();},[m,r?.id]),{token:m,tokens:h,onTokenChange:y,amount:we,quantity:k,maxQuantity:w,swapQuantity:_,onQuantityChange:C,hintMessage:M,inputStatus:F,chains:l,currentChain:r,settingChain:c,onChainChange:p,actionType:W,onDeposit:ye,onApprove:j,fetchBalance:v,dst:d,wrongNetwork:i,balanceRevalidating:T,loading:he,disabled:H,networkId:a,slippage:t,onSlippageChange:n,needSwap:B,needCrossSwap:D,swapPrice:De,swapRevalidating:O,warningMessage:G,fee:$}};var Fp=e=>{let t=er(e);return jsxRuntime.jsx(Ko,{...t})};var nr=e=>{let{subAccounts:t=[],value:n}=e,[o,s]=zi.useState(false),a=t.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: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})]})]}),a&&jsxRuntime.jsx($t,{className:"oui-text-base-contrast-54"})]}),l=t.map((r,c)=>{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",c!==0&&"oui-mt-[2px]"),onClick:async()=>{s(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:a?o:false,onOpenChange:s,children:[jsxRuntime.jsx(ui.DropdownMenuTrigger,{asChild:true,children:i}),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:[l," "]})})})})]})};var or=e=>{let{networkId:t,disabled:n,onTransfer:o,quantity:s,onQuantityChange:a,amount:i,tokens:l,token:r,onTokenChange:c,maxQuantity:p,submitting:u,hintMessage:m,inputStatus:h,hasPositions:y,onSettlePnl:d,unsettledPnL:f,toAccountAsset:x,fromAccounts:g,toAccounts:I,fromAccount:k,onFromAccountChange:C,toAccount:S,onToAccountChange:A,onExchange:b}=e,{t:T}=i18n.useTranslation(),v={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:T("transfer.internalTransfer.from")}),jsxRuntime.jsxs(ui.Box,{mt:1,mb:1,children:[jsxRuntime.jsx(nr,{subAccounts:g,value:k,onValueChange:C}),jsxRuntime.jsx(K,{classNames:{root:"oui-mt-[2px] oui-rounded-t-sm oui-rounded-b-xl"},value:s,onValueChange:a,tokens:l,token:r,onTokenChange:c,hintMessage:m,status:h})]}),jsxRuntime.jsx(le,{token:r,amount:i,maxQuantity:p,onClick:()=>{a(p.toString());}}),jsxRuntime.jsx(ui.Box,{mx:2,mt:1,children:jsxRuntime.jsx(Bn,{unsettledPnl:f,hasPositions:y,onSettlePnl:d,tooltipContent:T("transfer.internalTransfer.unsettled.tooltip"),dialogContent:jsxRuntime.jsx(i18n.Trans,{i18nKey:"transfer.internalTransfer.settlePnl.description"})})}),jsxRuntime.jsx(ce,{icon:jsxRuntime.jsx(Cr,{className:"oui-cursor-pointer oui-text-primary",onClick:b})}),jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,children:T("transfer.internalTransfer.to")}),jsxRuntime.jsxs(ui.Box,{mt:1,children:[jsxRuntime.jsx(nr,{subAccounts:I,value:S,onValueChange:A}),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:T("transfer.internalTransfer.currentAssetValue")}),jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",intensity:54,unit:` ${r.symbol}`,dp:r?.precision,padding:false,children:x})]})]})]}),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:v},children:jsxRuntime.jsx(ui.Button,{fullWidth:true,disabled:n,loading:u,size:v,onClick:o,children:T("common.transfer")})})})})]})};var sr={symbol:"USDC"},ir=e=>{let{t}=i18n.useTranslation(),[n,o]=zi.useState(""),[s,a]=zi.useState(),[i,l]=zi.useState(),[r,c]=zi.useState(),[p,u]=zi.useState([sr]),[m,h]=zi.useState(sr),[y,d]=zi.useState({}),f=hooks.useConfig("networkId"),{state:x,isMainAccount:g,subAccount:I}=hooks.useAccount(),k=hooks.useTokensInfo(),{transfer:C,submitting:S,maxAmount:A,unsettledPnL:b}=hooks.useTransfer({fromAccountId:s?.id,token:m.symbol}),T=x.subAccounts,v=x.mainAccountId,w=x.accountId,F=g?s?.id!==v?s?.id:void 0:s?.id,{hasPositions:M,onSettlePnl:B}=ft({accountId:s?.id}),{portfolio:D,positions:z}=hooks.useSubAccountDataObserver(F),P=hooks.useSubAccountMaxWithdrawal({token:m.symbol,unsettledPnL:D?.unsettledPnL,freeCollateral:D?.freeCollateral??utils.zero,holdings:D?.holding}),q=zi.useMemo(()=>!!z?.rows?.length,[z]),O=zi.useMemo(()=>F?q:M,[F,q,M]),{unsettledPnL:G,maxQuantity:R}=zi.useMemo(()=>F?{unsettledPnL:D?.unsettledPnL,maxQuantity:P}:{unsettledPnL:b,maxQuantity:A},[F,b,A,D?.unsettledPnL,P]),{inputStatus:ee,hintMessage:ie}=jp({quantity:n,maxQuantity:R,unsettledPnL:G}),ae=zi.useCallback(()=>{let _=Number(n);if(isNaN(_)||_<=0){ui.toast.error(t("transfer.quantity.invalid"));return}S||!i||C(m.symbol,{account_id:i.id,amount:new utils.Decimal(n).toNumber()}).then(()=>{ui.toast.success(t("transfer.internalTransfer.success")),o(""),e.close?.();}).catch(W=>{console.error("transfer error: ",W);let $=kn(W.code);ui.toast.error($);});},[t,m,n,S,C,i]),ge=S||!n||ee==="error",j=zi.useMemo(()=>new utils.Decimal(n||0).mul(1).toNumber(),[n]),ye=zi.useMemo(()=>i?.id&&y[i.id]?.find($=>$.token===m.symbol)?.holding||0,[i,m,y]),{fromAccounts:he,toAccounts:H}=zi.useMemo(()=>g?{fromAccounts:r?[r,...T||[]]:[],toAccounts:s?.id===v?T:[]}:{fromAccounts:[],toAccounts:[]},[g,v,r,T,s]);zi.useEffect(()=>{if(!v)return;let _={id:v,description:t("common.mainAccount"),holding:[]};c(_),I.refresh().then(W=>{d(W),c({..._,holding:W[v]});});},[t,v]),zi.useEffect(()=>{a(g?r:T?.find(_=>_.id===w));},[g,r,T,w]),zi.useEffect(()=>{if(g){let _=T?.[0],W=e.toAccountId&&T?.find($=>$.id===e.toAccountId)||_;W&&l(W);}else l(r);},[e?.toAccountId,g,r,T]),zi.useEffect(()=>{let _=k?.map(W=>({symbol:W.token,precision:W.decimals}));if(_?.length){_.sort(($,Z)=>$.symbol==="USDC"?-1:Z.symbol==="USDC"?1:0);let W=_?.find($=>$.symbol===e.token);u(_),h(W||_?.[0]||sr);}},[k,e.token]);let De=zi.useCallback(_=>{a(_);let W=T?.[0];if(_?.id===v){l(W);return}if(_?.id&&_?.id!==v){l(r);return}},[v,r,T]),ue=zi.useCallback(_=>{l(_);},[]),we=zi.useCallback(()=>{a(i),l(s);},[s,i]);return {networkId:f,onTransfer:ae,quantity:n,amount:j,onQuantityChange:o,maxQuantity:R,tokens:p,token:m,onTokenChange:h,disabled:ge,submitting:S,hintMessage:ie,inputStatus:ee,hasPositions:O,onSettlePnl:B,unsettledPnL:G,toAccountAsset:ye,fromAccount:s,toAccount:i,fromAccounts:he,onFromAccountChange:De,toAccounts:H,onToAccountChange:ue,onExchange:we,isMainAccount:g}};function jp(e){let{quantity:t,maxQuantity:n,unsettledPnL:o=0}=e,{t:s}=i18n.useTranslation(),[a,i]=zi.useState("default"),[l,r]=zi.useState();return zi.useEffect(()=>{if(!t){i("default"),r("");return}let c=new utils.Decimal(t);o<0?c.gt(n)?(i("error"),r(s("transfer.insufficientBalance"))):(i("default"),r("")):c.gt(n)?(i("error"),r(s("transfer.insufficientBalance"))):c.gt(new utils.Decimal(n).minus(o))&&c.lessThanOrEqualTo(n)?(i("warning"),r(s("settle.settlePnl.warning"))):(i("default"),r(""));},[t,n]),{inputStatus:a,hintMessage:l}}var Kp="TransferDialogId",Jp="TransferSheetId",ed=e=>{let t=ir({toAccountId:e.toAccountId,token:e.token,close:e.close});return jsxRuntime.jsx(or,{...t})},li=e=>jsxRuntime.jsx(ed,{close:e.close,toAccountId:e.toAccountId,token:e.token});ui.registerSimpleDialog(Kp,li,{size:"md",classNames:{content:"oui-border oui-border-line-6"},title:()=>i18n.i18n.t("common.transfer")});ui.registerSimpleSheet(Jp,li,{title:()=>i18n.i18n.t("common.transfer")});var mi=e=>{let{disabled:t,loading:n,networkId:o,onConvert:s}=e,{t:a}=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:s,children:a("transfer.convert")})})})};var pd=e=>e.reduce((t,n)=>(n.token?.toUpperCase()==="USDC"?t.usdc.push(n):t.others.push(n),t),{usdc:[],others:[]}),pi=e=>{let{defaultValue:t}=e,o=hooks.useConfig().get("networkId"),[,{findByChainId:s}]=hooks.useChains(o,{pick:"network_infos",filter:d=>d.network_infos?.bridge_enable||d.network_infos?.bridgeless}),[a,i]=zi.useState(),[l,r]=zi.useState(),[c,p]=zi.useState([]),u=hooks.useTokensInfo(),m=s(types.Arbitrum.id),h=m?.network_infos?.chain_id,y=zi.useMemo(()=>u.filter(d=>d.on_chain_swap).map(d=>{let f=m?.token_infos?.find(({symbol:x})=>x===d.token);return {...d,symbol:d.token,address:f?.address,decimals:d.chain_details[0]?.decimals,precision:d.decimals}}),[m?.token_infos,u]);return zi.useEffect(()=>{let{usdc:d,others:f}=pd(y);i(()=>{if(t){let x=f.find(({token:g})=>g===t);return x||f[0]}return f[0]}),p(f),r(d[0]);},[t,y]),{chainId:h,sourceToken:a,sourceTokens:c,onSourceTokenChange:i,targetToken:l}};var {calcMinimumReceived:Sd}=perp.account,vd="orderly_convert_slippage",Id=(e,t)=>new utils.Decimal(e).mul(new utils.Decimal(10).pow(t)).toFixed(0),zt=(e,t)=>new utils.Decimal(e).div(new utils.Decimal(10).pow(t)).toString(),lr=e=>{let{token:t,close:n}=e,{t:o}=i18n.useTranslation(),[s,a]=zi.useState(false),l=hooks.useConfig().get("networkId"),[r,c]=zi.useState(""),{wrongNetwork:p}=reactApp.useAppContext(),{wallet:u}=hooks.useWalletConnector(),{sourceToken:m,sourceTokens:h,onSourceTokenChange:y,targetToken:d,chainId:f}=pi({defaultValue:t}),x=zi.useMemo(()=>{let R={...m,precision:m?.decimals??6};return R.token==="ETH"&&(!R.address||R.address===types.nativeTokenAddress)&&(R.address=types.nativeETHAddress),R},[m]),{walletName:g,address:I}=zi.useMemo(()=>({walletName:u?.label,address:u?.accounts?.[0].address}),[u]),k=R=>{c(R);},[C,S]=hooks.useLocalStorage(vd,1),{maxAmount:A,convert:b}=hooks.useConvert({token:x.token}),T=async()=>{if(!s)return a(true),b({amount:Number(r),slippage:new utils.Decimal(C).div(100).toNumber()}).then(()=>{ui.toast.success(o("transfer.convert.completed")),n?.(),c("");}).catch(R=>{ui.toast.error(R.message?.includes("user rejected")?o("transfer.convert.failed"):R.message);}).finally(()=>{a(false);})},[v,{data:w,isMutating:F}]=hooks.useOdosQuote();zi.useEffect(()=>{r&&f&&x.address&&d?.address&&v({chainId:f,inputTokens:[{amount:Id(r,x.decimals),tokenAddress:x.address}],outputTokens:[{proportion:1,tokenAddress:d.address}]});},[r,x,d,f,v]);let M=zi.useMemo(()=>!w||F?"-":w?.outAmounts[0],[w,F]),B=zi.useMemo(()=>!w||F?"-":new utils.Decimal(zt(w.outAmounts[0],d?.decimals??6)).div(zt(w.inAmounts[0],x.decimals)).toString(),[F,w,d?.decimals,x?.decimals]),D=zi.useMemo(()=>!w||F?0:Sd({amount:w?.outAmounts[0],slippage:Number(C)}),[w,F,C]),z=hooks.useComputedLTV(),P=hooks.useComputedLTV({input:Number(r),token:m?.token}),q=!r||Number(r)===0,{hasPositions:O,onSettlePnl:G}=ft();return {walletName:g,address:I,quantity:r,onQuantityChange:k,token:x,sourceTokens:h,onSourceTokenChange:y,targetToken:d,balanceRevalidating:false,maxQuantity:A,disabled:q,loading:s,wrongNetwork:p,onConvert:T,hasPositions:O,onSettlePnl:G,networkId:l,slippage:C,onSlippageChange:S,convertRate:B,minimumReceived:D,outAmounts:M,isQuoteLoading:F,currentLTV:z,nextLTV:P}};var pr=e=>{let{loading:t,disabled:n,quantity:o,onQuantityChange:s,maxQuantity:a,token:i,targetToken:l,sourceTokens:r,onSourceTokenChange:c,onConvert:p,slippage:u,onSlippageChange:m,convertRate:h,outAmounts:y,minimumReceived:d,isQuoteLoading:f,currentLTV:x,nextLTV:g,networkId:I,balanceRevalidating:k}=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(K,{value:o,onValueChange:s,token:i,tokens:r,onTokenChange:c})}),jsxRuntime.jsx(le,{token:i,amount:o,maxQuantity:a.toString(),loading:k,onClick:()=>{s(a.toString());}}),jsxRuntime.jsx(ce,{}),jsxRuntime.jsx(K,{readOnly:true,loading:f,token:l,value:f||!o||Number.isNaN(Number(y))?"":zt(y,l?.decimals??6)}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",mt:2,gap:1,children:[jsxRuntime.jsx(Ft,{indexPrice:f||!o||Number.isNaN(Number(h))?"-":h,sourceSymbol:i?.token,targetSymbol:l?.token}),jsxRuntime.jsx(ot,{value:u,onValueChange:m}),jsxRuntime.jsx(Yt,{symbol:l?.token||"",precision:l?.decimals??6,value:f||!o||Number.isNaN(Number(d))?"-":zt(d.toString(),l?.decimals??6)}),jsxRuntime.jsx(ze,{showDiff:typeof o<"u"&&Number(o)>0,currentLtv:x,nextLTV:g}),jsxRuntime.jsx(It,{dstGasFee:"0"})]})]}),jsxRuntime.jsx(ui.Flex,{itemAlign:"center",justify:"center",children:jsxRuntime.jsx(mi,{networkId:I,disabled:n,loading:t,onConvert:p})})]})};var Dd="ConvertDialogId",Pd="ConvertSheetId",dr=e=>{let t=lr(e);return jsxRuntime.jsx(pr,{...t})};ui.registerSimpleDialog(Dd,dr,{size:"md",classNames:{content:"oui-border oui-border-line-6"},title:()=>i18n.i18n.t("transfer.convert")});ui.registerSimpleSheet(Pd,dr,{title:()=>i18n.i18n.t("transfer.convert")});var gr=e=>{let{canTrade:t,className:n,classNames:o,pendingCount:s,completedCount:a}=e;return !t||s===0&&a===0?null:jsxRuntime.jsxs(ui.Flex,{direction:"column",gapY:1,width:"100%",className:ui.cn(n,o?.root),children:[jsxRuntime.jsx(wi,{className:o?.items,count:s,status:types.AssetHistoryStatusEnum.PENDING,onClick:e.onClick,estimatedTime:e.estimatedTime,onClose:e.onClose}),jsxRuntime.jsx(wi,{className:o?.items,count:a,status:types.AssetHistoryStatusEnum.COMPLETED,onClick:e.onClick,onClose:e.onClose})]})},wi=e=>{let{t}=i18n.useTranslation(),{count:n,status:o,estimatedTime:s}=e,a=zi.useMemo(()=>o===types.AssetHistoryStatusEnum.PENDING?n>1?t("transfer.deposit.status.pending.multiple"):t("transfer.deposit.status.pending.one"):n>1?t("transfer.deposit.status.completed.multiple"):t("transfer.deposit.status.completed.one"),[t,o,n]);if(n===0)return null;let i=typeof e.onClick=="function",l=()=>o===types.AssetHistoryStatusEnum.PENDING&&n===1&&s?jsxRuntime.jsxs(ui.Text,{size:"2xs",color:"primary",children:["~ ",s]}):jsxRuntime.jsx(Bd,{children:e.count});return jsxRuntime.jsxs(ui.Flex,{intensity:900,gapX:1,width:"100%",r:"full",className:ui.cn("oui-px-3 lg:oui-px-0","oui-py-2 lg:oui-py-0",e.className),children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",itemAlign:"center",className:ui.cn("oui-font-normal","oui-text-base-contrast-80 hover:oui-text-base-contrast",i&&"oui-cursor-pointer"),width:"100%",onClick:e.onClick,children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(Wd,{className:o===types.AssetHistoryStatusEnum.COMPLETED?"oui-bg-success":"oui-bg-primary"}),jsxRuntime.jsx(ui.Text,{size:"2xs",children:a})]}),l()]}),jsxRuntime.jsx(ui.CloseIcon,{size:14,opacity:1,className:"oui-text-base-contrast-54 hover:oui-text-base-contrast",onClick:r=>{r.preventDefault(),r.stopPropagation(),e.onClose(o);}})]})},Bd=e=>jsxRuntime.jsx(ui.Flex,{justify:"center",itemAlign:"center",r:"full",width:18,height:18,className:ui.cn("oui-bg-line-12",e.className),children:jsxRuntime.jsx(ui.Text,{size:"3xs",intensity:80,children:e.children})}),Wd=e=>jsxRuntime.jsx("div",{className:ui.cn("oui-mx-[5px] oui-size-2 oui-shrink-0 oui-rounded-full",e.className)});var Ld=5;async function bi(e){let t=new ethers.ethers.JsonRpcProvider(e.network_infos.public_rpc_url),n=await t.getBlockNumber(),s=(await Promise.all(Array.from({length:Ld},(i,l)=>t.getBlock(n-l)))).filter(i=>i?.timestamp!=null).map(i=>Number(i?.timestamp));if(s.length<2)return 0;let a=0;for(let i=0;i<s.length-1;i++){let l=s[i]-s[i+1];a+=l;}return a/(s.length-1)}async function xi(e,t){if(!t)return 0;let n=new defaultSolanaAdapter.DefaultSolanaWalletAdapter;n.active({address:t.accounts[0].address,chain:{id:e.network_infos.chain_id},provider:t.provider});let o=await n.connection.getRecentPerformanceSamples(60),s=0,a=0;for(let i of o)if(i.numSlots>0&&i.samplePeriodSecs>0){let l=i.samplePeriodSecs/i.numSlots;s+=l,a++;}return s/a}async function Ti(e){let{chainId:t,chain:n,wallet:o}=e;return utils.isSolana(t)?xi(n,o):bi(n)}var ki=[{inputs:[{internalType:"address",name:"_oapp",type:"address"},{internalType:"uint32",name:"_remoteEid",type:"uint32"}],name:"getAppUlnConfig",outputs:[{components:[{internalType:"uint64",name:"confirmations",type:"uint64"},{internalType:"uint8",name:"requiredDVNCount",type:"uint8"},{internalType:"uint8",name:"optionalDVNCount",type:"uint8"},{internalType:"uint8",name:"optionalDVNThreshold",type:"uint8"},{internalType:"address[]",name:"requiredDVNs",type:"address[]"},{internalType:"address[]",name:"optionalDVNs",type:"address[]"}],internalType:"struct UlnConfig",name:"",type:"tuple"}],stateMutability:"view",type:"function"}];var Ud={1:30101,10:30111,42161:30110,137:30109,8453:30184,59144:30183,534352:30214,324:30165,1101:30158,169:30217,5e3:30181,81457:30243,252:30255,34443:30260,167e3:30290,7777777:30195,11155420:40232,421614:40231,84532:40245,300:40305,11155111:40161,17e3:40217,56:30102,204:30202,97:40102,43114:30106,43113:40106,250:30112,100:30145,42220:30125,16666e5:30116,25:30359,388:30360,1088:30151,1284:30126,1285:30167,592:30210,3776:30257,7700:30159,122:30138,2222:30177,82:30176,1313161554:30211,53935:30115,7979:30149,666666666:30267,432204:30118,19011:30265,7332:30215,1992:30182,1559:30173,40:30199,710420:30238,88:30196,37:30216,660279:30236,111188:30237,2525:30234,1380012617:30235,148:30230,2046399126:30273,291:30213,1116:30153,1030:30212,14:30295,1625:30294,81:30285,8217:30150,66:30155,4337:30198,5151706:30197,957:30311,2818:30322,"":30325,6001:30293,7560:30283,8822:30284,1996:30278,1329:30280,60808:30279,5165:30363,69e3:30372,33139:30312,80094:30362,11501:30317,200901:30314,3637:30376,81224:30323,12739:30366,68770:30315,41923:30328,747:30336,42793:30292,1300:30342,2345:30361,43419:30371,295:30316,43111:30329,999:30367,57073:30339,747474:30375,232:30373,1890:30309,1135:30321,4200:30266,6900:30369,8227:30341,3338:30302,98866:30370,1729:30313,30:30333,1868:30340,146:30332,50104:30334,1514:30364,964:30374,55244:30327,1923:30335,239:30377,130:30320,1480:30330,480:30319,196:30274,94524:30291,50:30365,48900:30303,810180:30301,2741:30324,42170:30175,21e6:30331,998:40362,80069:40371,10143:40204,80002:40267,101:30168,103:40168,900900900:30168,901901901:40168,728126428:30420,2494104990:40420};function Ci(e){return Ud[e]}async function vi(e){let t=e.network_infos.chain_id,n=e.network_infos.mainnet,o=n?"https://rpc.orderly.network":"https://testnet-rpc.orderly.org",s=n?"0xCFf08a35A5f27F306e2DA99ff198dB90f13DEF77":"0x3013C32e5F45E69ceA9baD4d96786704C2aE148c",a=Ci(t),i="0x0000000000000000000000000000000000000000",l=new ethers.ethers.JsonRpcProvider(o),c=await new ethers.ethers.Contract(s,ki,l).getAppUlnConfig(i,a);return Number(c.confirmations||0)}var Ni=e=>{let[t,n]=zi.useState(0),[o,s]=zi.useState(0),a=zi.useRef({}),i=zi.useRef({}),[,{findByChainId:l}]=hooks.useChains(),{wallet:r}=hooks.useWalletConnector(),c=zi.useMemo(()=>{if(!e)return;let u=typeof e=="number"?e:Number.parseInt(e);return l(u)},[e,l]);return zi.useEffect(()=>{if(!c||!r)return;let u=c.network_infos.chain_id;a.current[u]?n(a.current[u]):Ti({chainId:u,chain:c,wallet:r}).then(m=>{console.log("average block time",u,m),n(m),a.current[u]=m;}).catch(m=>{console.error("getBlockTime error",m);}),i.current[u]?s(i.current[u]):vi(c).then(m=>{console.log("confirmations",u,m),s(m),i.current[u]=m;}).catch(m=>{console.error("getChainConfirmations error",m);});},[c,r]),zi.useMemo(()=>t&&o?t*o:0,[t,o])};function Qn(){let e=Date.now();return [e-1e3*60*60,e]}function hr(){let[e,t]=zi.useState(Qn()),[n,o]=zi.useState(Qn()),[s,a]=zi.useState(0),[i,l]=zi.useState(0),[r,c]=zi.useState(0),[p,u]=zi.useState([]),[m,h]=hooks.useLocalStorage("orderly_deposit_status_hide_notification_time",{[types.AssetHistoryStatusEnum.PENDING]:0,[types.AssetHistoryStatusEnum.COMPLETED]:0}),{state:y}=hooks.useAccount(),d=y.status===types.AccountStatusEnum.EnableTrading||y.status===types.AccountStatusEnum.EnableTradingWithoutConnected,{chainId:f,blockTime:x}=zi.useMemo(()=>d&&p.length===1?{chainId:p[0].chain_id,blockTime:p[0].block_time}:{chainId:void 0,blockTime:void 0},[d,p]),g=Ni(f),I=zi.useMemo(()=>{if(g&&x){let w=x/1e3+g-Date.now()/1e3;return console.log("transactionTime",g,w),tf(w)}return 0},[g,x]),[k,{isLoading:C}]=hooks.useAssetsHistory({startTime:e[0],endTime:e[1],page:1,pageSize:200,side:"DEPOSIT"},{shouldUpdateOnWalletChanged:()=>false}),[S]=hooks.useTransferHistory({dataRange:n,side:"IN",size:200,page:1,main_sub_only:false}),A=hooks.useDebouncedCallback(w=>{t(Qn());},300);hooks.useWalletTopic({onMessage(w){let{side:F,transStatus:M}=w;F===types.AssetHistorySideEnum.DEPOSIT&&(M===types.AssetHistoryStatusEnum.PENDING||M===types.AssetHistoryStatusEnum.COMPLETED)&&(console.log("deposit status updated",w),A(w));}});let b=hooks.useDebouncedCallback(w=>{o(Qn());},300);hooks.useBalanceTopic({onMessage(w){console.log("balance updated",w),b(w);}}),zi.useEffect(()=>{if(!k||C)return;let w=m[types.AssetHistoryStatusEnum.PENDING],F=m[types.AssetHistoryStatusEnum.COMPLETED],M=k.filter(D=>D.trans_status===types.AssetHistoryStatusEnum.PENDING);w&&(M=M.filter(D=>D.created_time>w));let B=k.filter(D=>D.trans_status===types.AssetHistoryStatusEnum.COMPLETED);F&&(B=B.filter(D=>D.created_time>F)),a(M?.length||0),l(B?.length||0),u(M||[]);},[k,C,m]),zi.useEffect(()=>{if(!S)return;let w=m[types.AssetHistoryStatusEnum.COMPLETED],F=w?S.filter(M=>M.created_time>w):S;c(F.length);},[S,m]);let T=zi.useMemo(()=>i+r,[i,r]),v=zi.useCallback(w=>{h({...m,[w]:Date.now()});},[m]);return {pendingCount:s,completedCount:T,canTrade:d,estimatedTime:I,onClose:v}}function tf(e){let t=Math.max(30,e),n=Math.floor(t/60),o=t%60;return o>0&&o<=30?o=30:o>30&&(n+=1,o=0),n>0?o>0?`${n} m ${o} s`:`${n} m`:`${o} s`}var nf=e=>{let t=hr();return jsxRuntime.jsx(gr,{...t,...e})};
|
|
24
|
+
var Kn=()=>{let{data:e,error:t,isLoading:n}=hooks.useQuery("/v1/public/auto_convert_threshold",{errorRetryCount:3,revalidateOnFocus:false});return {ltv_threshold:Qi.useMemo(()=>!e||n?"-":`${new utils.Decimal(e.ltv_threshold).mul(100).toNumber()}%`,[]),negative_usdc_threshold:e?.negative_usdc_threshold,isLoading:n,error:t}};var Xi=Qi__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"})})),to=e=>e>=0&&e<50?"oui-text-success":e>=50&&e<80?"oui-text-warning":e>=80?"oui-text-danger":"",ji=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")})]})},xr=e=>{let{t}=i18n.useTranslation(),{currentLtv:n,nextLTV:o,showDiff:s,ltv_threshold:i,isLoading:a}=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(ji,{isLoading:a,ltv_threshold:i}),children:jsxRuntime.jsx(Xi,{className:"oui-ml-[2px] oui-cursor-pointer oui-text-base-contrast-36"})})]}),s?jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"between",gap:1,children:[jsxRuntime.jsxs(ui.Text,{size:"2xs",className:ui.cn("oui-font-semibold",to(n)),children:[n,"%"]}),"\u2192",jsxRuntime.jsxs(ui.Text,{size:"2xs",className:ui.cn("oui-font-semibold",to(o)),children:[o,"%"]})]}):jsxRuntime.jsxs(ui.Text,{size:"2xs",className:ui.cn("oui-font-semibold",to(n)),children:[n,"%"]})]})};var Ve=e=>{let t=Kn();return jsxRuntime.jsx(xr,{...e,...t})};var no=(o=>(o[o.Deposit=0]="Deposit",o[o.Approve=1]="Approve",o[o.ApproveAndDeposit=2]="ApproveAndDeposit",o))(no||{}),Ye=(n=>(n.Wallet="wallet",n.Account="accountId",n))(Ye||{});var Ft=e=>{let{disabled:t,loading:n,actionType:o,symbol:s="USDC",onDeposit:i,onApprove:a,onApproveAndDeposit:c,networkId:r}=e,{t:m}=i18n.useTranslation(),p=Qi.useMemo(()=>({2:{children:`${m("transfer.deposit.approve")} & ${m("common.deposit")}`,onClick:c},0:{children:m("common.deposit"),onClick:i,"data-testid":"oui-testid-deposit-dialog-deposit-btn"}})[o],[a,i,o,s,m]),u={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:r,buttonProps:{fullWidth:true,size:u},children:jsxRuntime.jsx(ui.Button,{fullWidth:true,disabled:t,loading:n,size:u,...p})})})};var ce=e=>{let{amount:t,maxQuantity:n,token:o,loading:s}=e,{t:i}=i18n.useTranslation(),{getIndexPrice:a}=hooks.useIndexPricesStream(),c=o?.display_name||o?.symbol||"",r=o?.precision??o?.decimals??2,m=Qi.useMemo(()=>t&&o?.symbol&&a(o?.symbol)?new utils.Decimal(t).mul(a(o?.symbol)||1).toNumber():0,[t,o?.symbol]);return jsxRuntime.jsxs(ui.Flex,{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:m})]}),jsxRuntime.jsxs(ui.Flex,{gapX:2,itemAlign:"center",className:"oui-ml-auto",children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:`${i("common.available")}: `}),s?jsxRuntime.jsx(ui.Spinner,{size:"sm"}):jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",intensity:36,rm:utils.Decimal.ROUND_DOWN,dp:r,padding:false,"data-testid":"oui-testid-withdraw_deposit-dialog-available-value",children:n}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:` ${c}`})]}),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=Qi.useMemo(()=>{let{secondary:s}=t||{};if(!s?.img&&s?.component)return null;if(s?.img)return jsxRuntime.jsx("img",{src:s?.img,className:"oui-w-5 oui-h-5"});if(s?.component)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:s.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 $t=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"})}),kr=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 Cr=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"})}),Sr=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 qe=e=>{let{chains:t,value:n,wrongNetwork:o,loading:s}=e,[i,a]=Qi.useState(false),{t:c}=i18n.useTranslation(),r=o||t?.length>1,m=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(s)return jsxRuntime.jsx(ui.Spinner,{size:"sm"});if(r)return jsxRuntime.jsx($t,{className:"oui-text-base-contrast-54"})},l=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:[m,jsxRuntime.jsx(ui.Text,{size:"sm",intensity:80,children:p})]})]}),u()]}),f=t.map((d,y)=>{let h=d.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",h&&"oui-bg-base-5",y!==0&&"oui-mt-[2px]"),onClick:async()=>{a(false),await e.onValueChange(d);},children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,itemAlign:"center",children:[jsxRuntime.jsx(ui.ChainIcon,{className:"oui-size-[18px]",chainId:d.chain_id}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:54,children:d.name})]}),h&&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%)]"})]},d.chain_id)});return jsxRuntime.jsxs(ui.DropdownMenuRoot,{open:r?i:false,onOpenChange:a,children:[jsxRuntime.jsx(ui.DropdownMenuTrigger,{asChild:true,children:l}),jsxRuntime.jsx(ui.DropdownMenuPortal,{children:jsxRuntime.jsx(ui.DropdownMenuContent,{onCloseAutoFocus:d=>d.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:f})})})})]})};var Fr=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 Pa=Qi__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"})})),_a=()=>{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")})]})},Dr=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(_a,{}),children:jsxRuntime.jsx(Pa,{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 po=e=>jsxRuntime.jsx(Dr,{...e});var me=({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(kr,{className:"oui-text-primary-light"}),jsxRuntime.jsx(ui.Flex,{height:1,className:"oui-flex-1 oui-bg-base-contrast-12"})]});var At=e=>{let{dstGasFee:t,feeQty:n,feeAmount:o,dp:s,nativeSymbol:i}=e,{t:a}=i18n.useTranslation(),c=()=>{let m=jsxRuntime.jsxs("div",{className:"oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:54,children:`${a("transfer.deposit.destinationGasFee")}: `}),jsxRuntime.jsx(ui.Text.numeral,{intensity:80,dp:s,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:a("transfer.deposit.destinationGasFee.description")})})]});ui.modal.alert({title:a("common.fee"),message:m});},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:[`${a("transfer.deposit.estGasFee")} \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:s,padding:false,rm:utils.Decimal.ROUND_UP,children:n}),i]}),")"]})]})};var Yt=e=>{let{t}=i18n.useTranslation(),{value:n,symbol:o,precision:s=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:s,size:"2xs",className:"oui-select-none",intensity:80,children:n}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-select-none",intensity:36,children:o})]})]})};var za=1e3;function Rr(e,t,n){let[o,s]=Qi.useState(""),i=Qi.useRef(""),[a,c]=Qi.useState(false),r=Qi.useRef(),m=async(p=0)=>{a||typeof t!="function"||!e.address||(r.current&&clearTimeout(r.current),i.current===""&&c(true),r.current=setTimeout(async()=>{try{let u=await t(e.address,e.decimals);s(u),i.current=u,console.log("balance",e.symbol,e.address,u);}catch(u){console.error("get balance error",e.symbol,e.address,u),m(za);}finally{i.current!==""&&c(false);}},p));};return Qi.useEffect(()=>(n&&m(0),()=>{r.current&&clearTimeout(r.current);}),[e,n]),{balance:o,loading:a}}var Wr=e=>{let{token:t,isActive:n,displayType:o,onTokenChange:s,fetchBalance:i,open:a}=e,{symbol:c,precision:r,insufficientBalance:m}=t,{balance:p,loading:u}=Rr(t,i,a),l=typeof i=="function",{t:f}=i18n.useTranslation();if(o==="vaultBalance"&&m)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:c,className:"oui-size-[16px] oui-opacity-50"}),jsxRuntime.jsx(ui.Text,{intensity:36,children:t.label}),jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"xs",children:f("transfer.withdraw.InsufficientVaultBalance")})]})},c);let d=()=>l?u?jsxRuntime.jsx(ui.Spinner,{size:"sm"}):jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:r??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:p}):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:()=>{s?.(t);},children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.TokenIcon,{name:c,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:t.label})]}),d()]},c)};var K=e=>{let{token:t,tokens:n=[],classNames:o,label:s,status:i,hintMessage:a,value:c,onValueChange:r,fetchBalance:m,onTokenChange:p,loading:u,placeholder:l,formatters:f,vaultBalanceList:d,displayType:y,...h}=e,{t:S}=i18n.useTranslation(),g=Qi.useRef(null),[I,x]=Qi.useState(false),[k,C]=Qi.useState(0),F=Qi.useMemo(()=>n.map(_=>{let W=d?.find(z=>z.token===_.symbol),U=W?new utils.Decimal(W.balance??0).lt(c?Number(c):0):false;return {..._,name:_.display_name||_.symbol,insufficientBalance:U}}),[n,c,d]);Qi.useEffect(()=>{let _=g?.current?.getBoundingClientRect();C(_?.width||0);},[g]);let w=_=>{let W=n.find(U=>U.symbol===_);W&&p?.(W);},b=n.length>1?I:false,v=_=>{let W=_.symbol===t?.symbol;return jsxRuntime.jsx(Wr,{token:_,isActive:W,fetchBalance:m,displayType:y,onTokenChange:U=>{p?.(U),x(false);},open:b})},E=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:s||S("common.quantity")})}),u&&jsxRuntime.jsx(ui.Box,{className:"oui-absolute oui-bottom-1",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})]}),A=jsxRuntime.jsx("div",{className:"oui-absolute oui-right-0",children:jsxRuntime.jsx(ui.Select.tokens,{open:b,onOpenChange:x,disabled:h.disabled,variant:"text",tokens:F,value:t?.display_name||t?.symbol,size:h.size,onValueChange:w,showIcon:true,optionRenderer:v,contentProps:{onCloseAutoFocus:_=>{_.preventDefault(),g.current?.focus();},onClick:_=>{_.preventDefault(),g.current?.focus();},style:{width:k},align:"end",sideOffset:5,className:"oui-border oui-border-line-6"}})}),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(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:a})]});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Input,{ref:g,autoComplete:"off",placeholder:l??(u?"":"0"),prefix:E,suffix:A,value:c,onValueChange:_=>{r?.(_);},formatters:f||[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(t?.precision??2),ui.inputFormatter.currencyFormatter],...h,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)}}),a&&D]})};var So=[.5,1,2],ot=e=>{let{min:t=.2,max:n=10}=e,[o,s]=Qi.useState(),[i,a]=Qi.useState(""),[c,r]=Qi.useState(false),{t:m}=i18n.useTranslation();Qi.useEffect(()=>{e.value&&!So.includes(e.value)?a(e.value.toString()):s(e.value);},[e.value,c]);let p=()=>{r(true);},u=()=>{r(false);},l=g=>{s(g),a("");},f=g=>{if(!g||Number(g)===0){a(g);return}let I=new utils.Decimal(g);s(void 0),I.lt(t)?a(t.toString()):I.gt(n)?a(n.toString()):a(g);},d=()=>i?new utils.Decimal(i)?.toNumber():o,y=()=>{let g=d();return g&&(e.onValueChange?.(g),u(),So.includes(g)&&a("")),Promise.resolve(true)},h=!d(),S=jsxRuntime.jsxs("div",{className:"oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[So.map(g=>jsxRuntime.jsx(uu,{value:g,isActive:o===g,onClick:()=>{l(g);}},g)),jsxRuntime.jsx(ui.Input,{suffix:"%",formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(2)],value:i,onValueChange:f,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:m("transfer.slippage.slippageTolerance.description")})})]});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.AlertDialog,{open:c,onOpenChange:r,title:m("transfer.slippage.slippageTolerance"),okLabel:m("common.confirm"),message:S,onOk:y,actions:{primary:{disabled:h}}}),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:m("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"})]})]})]})},uu=({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 sn=e=>{let{message:t,needSwap:n,needCrossSwap:o,wrongNetwork:s,networkId:i}=e,{t:a}=i18n.useTranslation(),c=()=>{ui.modal.show(uiChainSelector.ChainSelectorDialogId,{networkId:i});},r=Qi.useMemo(()=>{if(s)return a("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 a("transfer.swapDeposit.swap.notice")},[t,n,o,s,a]);return r?jsxRuntime.jsx(ui.Box,{mb:3,className:"oui-text-center oui-text-xs oui-text-warning-darken",children:r}):null};var un=e=>{let{feeQtys:t,feeAmount:n,feeDetails:o,nativeSymbol:s}=e,{t:i}=i18n.useTranslation(),a=()=>{let r=jsxRuntime.jsx(ui.Box,{className:"oui-text-2xs",children:o?.map((m,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:[m.title,":"]}),jsxRuntime.jsx(ui.Text,{intensity:80,children:m.value}),jsxRuntime.jsx(ui.Text,{intensity:54,children:m.symbol})]}),jsxRuntime.jsx(ui.Box,{mt:2,children:jsxRuntime.jsx(ui.Text,{intensity:36,children:m.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 m=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||s}`]},u));if(r===1)return jsxRuntime.jsxs("span",{children:["(",m,")"]});if(r===2)return jsxRuntime.jsxs("span",{children:["(",m[0]," + ",m[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:a,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 Nt=e=>{let{sourceSymbol:t,targetSymbol:n,indexPrice:o,precision:s=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:s,padding:false,children:o}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:n})]})};var pn=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"})}),Gr=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"})}),Qr=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"})}),Hr=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 jr=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(pn,{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 Dt=()=>{let{t:e}=i18n.useTranslation(),{wallet:t,connectedChain:n}=hooks.useWalletConnector(),{state:o,account:s}=hooks.useAccount(),i=Qi.useMemo(()=>{let a=o.address;return n?.id&&types.ABSTRACT_CHAIN_ID_MAP.has(parseInt(n?.id))&&(a=s.getAdditionalInfo()?.AGWAddress),a},[t,o,s,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 fn(e){let{srcToken:t,dstToken:n,srcChainId:o,dstChainId:s}=e,[i,a]=Qi.useState(false),[c,r]=Qi.useState(false);return Qi.useEffect(()=>{if(!o||!s||!t||!n)return;let m=o!==s;if(t?.symbol==="USDC"&&!m||t.is_collateral&&t.symbol===n?.symbol){a(false),r(false);return}a(t?.symbol!=="USDC"),m?(r(true),a(true)):r(false);},[t,n,o,s]),{needSwap:i,needCrossSwap:c}}var Pt=[{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"}],es=[{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"}],Du="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",gn=e=>e===Du,yn="https://fi-api.woo.org";var rs=()=>{let[e,{setTrue:t,setFalse:n}]=hooks.useBoolean(false),[o,s]=Qi.useState("WAITTING"),i=hooks.useEventEmitter(),[a,c]=Qi.useState(),[r,m]=Qi.useState(types.WS_WalletStatusEnum.NO),p=Qi.useRef(),u=Qi.useRef(),l=hooks.useAccountInstance(),f=hooks.useConfig(),d=f.get("brokerId"),y=f.get("networkId"),h=Qi.useRef(scanClient.createClient(y)).current,S=Qi.useRef();Qi.useEffect(()=>{let k=C=>{let{side:F,transStatus:w,trxId:T}=C;F==="DEPOSIT"&&T===p.current&&m(w);};return i.on("wallet:changed",k),()=>{i.off("wallet:changed",k);}},[p.current]);let g=Qi.useCallback(k=>{u.current&&clearTimeout(u.current),u.current=setTimeout(async()=>{try{let{messages:C}=await h.getMessagesBySrcTxHash(k);if(C.length>0){let{status:F}=C[0];s(F),F==="DELIVERED"?(c(C[0]),p.current=C[0].dstTxHash):F==="FAILED"?c(C[0]):g(k);}else g(k);}catch{g(k);}},1e3);},[]);Qi.useEffect(()=>()=>{S.current&&clearTimeout(S.current);},[]);let I=Qi.useCallback(()=>({accountId:l.accountIdHashStr,brokerHash:core.utils.parseBrokerHash(d),tokenHash:core.utils.parseTokenHash("USDC")}),[l,d]);return {swap:async k=>{if(!l.walletAdapter)throw new Error("walletAdapter is undefined");if(!l.address)throw new Error("account.address is undefined");if(!k.crossChainRouteAddress)throw new Error("crossChainRouteAddress is undefined");let{address:C,src:F,dst:w,crossChainRouteAddress:T}=k;if(!e){t();try{let b=await l.walletAdapter.call(T,"quoteLayerZeroFee",[l.address,w,I()],{abi:Pt}),v=await l.walletAdapter.sendTransaction(T,"crossSwap",{from:l.address,to:T,data:[l.address,F,w,I()],value:gn(k.src.fromToken)?BigInt(k.src.fromAmount)+b[0]:b[0]},{abi:Pt});return n(),g(v.hash),i.emit("deposit:requested"),ramda.pick(["from","to","hash","value"],v)}catch(b){throw console.error("crossSwap error",b),n(),new Error(b.errorCode)}}},loading:e,bridgeStatus:o,status:r,message:a}};var Tn=e=>{let{status:t,mode:n,statusUrl:o,brokerName:s}=e,{t:i}=i18n.useTranslation(),a=Qi.useMemo(()=>{let u=$u(t),l=Xu(t),f=[{title:i(u==="pending"?"transfer.swapDeposit.bridging":"transfer.swapDeposit.bridge"),description:i("transfer.swapDeposit.bridge.description"),state:u},{title:i(l==="pending"?"transfer.swapDeposit.depositing":"transfer.swapDeposit.deposit"),description:i("transfer.swapDeposit.deposit.description",{brokerName:s}),state:l}];return n===0?f.slice(1,2):f},[n,s,t,i]),c=()=>{e.onComplete?.(t===4);},r=t===3||t===1,m=t===0||t===2,p=a.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:[a.map(u=>Qi.createElement(Qu,{...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(Qr,{})]})]}),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:m,onClick:c,children:i("common.ok")})]})]})},Qu=({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(Hu,{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),Hu=({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 $u(e){if(e===0)return "pending";if(e===1)return "failed";if(e===4||e===2)return "success"}function Xu(e){if(e===2)return "pending";if(e===3)return "failed";if(e===4)return "success"}var ut=(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 as(e){return /^0x[a-fA-F0-9]{64}$/.test(e)}function xn(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 is={"0x6697b232":"AccessControlBadConfirmation","0xe2517d3f":"AccessControlUnauthorizedAccount","0xc7ee9ce6":"AccountIdInvalid","0x9fabe1c1":"AddressZero","0x4b3815a6":"BalanceNotEnough","0x59d9b863":"BrokerNotAllowed","0xf67c6d78":"CeffuAddressMismatch","0xd969df24":"DepositExceedLimit","0xa65b249b":"EnumerableSetError","0x06a0cf4a":"InvalidSwapSignature","0x1eb00b06":"InvalidTokenAddress","0xfa7c7537":"NativeTokenDepositAmountMismatch","0xad674ae6":"NotRebalanceEnableToken","0x623793c9":"NotZeroCodeLength","0x833d33e7":"OnlyCrossChainManagerCanCall","0x3ee5aeb5":"ReentrancyGuardReentrantCall","0x0b693144":"SwapAlreadySubmitted","0xa29c4986":"TokenNotAllowed","0x30773dbb":"ZeroCodeLength","0x56316e87":"ZeroDeposit","0x93d3bb4d":"ZeroDepositFee"};function us(e){if(!e)return "";for(let t of Object.keys(is))if(e.includes(t))return `${is[t]} (${t})`}var kn=e=>{let{info:t,mode:n,nativePrice:o,markPrice:s,src:i,dst:a,nativeToken:c,viewMode:r}=e,{t:m}=i18n.useTranslation(),p=jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(cs,{primary:i?.token,chainId:i.chain,amount:i?.amount,dp:i?.displayDecimals,symbol:i?.token}),jsxRuntime.jsx(pn,{className:"oui-text-primary-light"}),jsxRuntime.jsx(cs,{primary:a?.token,component:jsxRuntime.jsx(Hr,{className:"oui-size-4"}),amount:a?.amount,dp:a?.displayDecimals,symbol:a?.token,reverse:true})]}),u=jsxRuntime.jsx(ui.Box,{my:5,children:jsxRuntime.jsx(ui.Divider,{intensity:12})}),l=[{label:m("transfer.deposit.destinationGasFee"),value:jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(Gr,{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:m("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(s||0).toString()}),")"]})]})},{label:m("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(s||0).toString()}),")"]})]})},{label:m("transfer.swapDeposit.minimumReceived"),value:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Text.numeral,{dp:a?.displayDecimals,rm:utils.Decimal.ROUND_DOWN,padding:false,children:t.received}),` ${a?.token}`]})},{label:m("common.price"),value:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[`1 ${i?.token} = `,jsxRuntime.jsx(ui.Text.numeral,{dp:3,padding:false,children:t.price}),` ${a?.token}`]})},{label:m("transfer.slippage"),value:`${t.slippage}%`}],f=jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",gapY:3,children:l?.map(y=>{if(y.value)return Qi.createElement(nl,{...y,key:y.label})})}),d=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:m("transfer.swapDeposit.confirmSwap")})});return jsxRuntime.jsxs(ui.Box,{intensity:800,children:[p,jsxRuntime.jsx(ol,{time:t.time??0}),u,r==="details"&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[f,d]})]})},nl=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})]}),cs=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})]})]}),ol=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 Cn=()=>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 fs=e=>{let{transactionData:t,slippage:n,mode:o,dst:s,src:i,chain:a,nativeToken:c,depositFee:r}=e,{t:m}=i18n.useTranslation(),[p,u]=Qi.useState(-1),[l,f]=Qi.useState("details"),[d,y]=Qi.useState(),h=hooks.useEventEmitter(),{swap:S,bridgeStatus:g,message:I,status:x}=rs(),k=Qi.useMemo(()=>({price:t.price,slippage:n,time:a?.est_txn_mins,received:s.amount,bridgeFee:t.fees_from.stargate,swapFee:t.fees_from.woofi,dstGasFee:t.dst_infos.gas_fee}),[t,a?.est_txn_mins,o,s]);Qi.useEffect(()=>{g==="DELIVERED"&&u(2),g==="FAILED"&&u(1),x===types.WS_WalletStatusEnum.COMPLETED&&u(4),x===types.WS_WalletStatusEnum.FAILED&&u(3);},[g,x]);let C=Qi.useCallback(()=>(f("processing"),t?(u(0),S({address:"",crossChainRouteAddress:a?.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(w=>{y(w),ui.toast.success(m("transfer.deposit.requested")),h.emit("deposit:requested");}).catch(w=>{u(1),ui.toast.error(w?.message||"Error");})):Promise.reject("No transaction data")),[t,o,s,i,h]),F=Qi.useMemo(()=>{if(!(p<2||!I))return `https://layerzeroscan.com/tx/${I.srcTxHash}`},[p,I]);return jsxRuntime.jsxs(ui.Box,{intensity:800,children:[jsxRuntime.jsx(kn,{viewMode:l,onConfirm:C,info:k,src:e.src,dst:e.dst,mode:o,markPrice:t.mark_prices?.from_token??1,nativePrice:t.mark_prices.native_token,nativeToken:c}),l==="processing"&&jsxRuntime.jsx(Tn,{mode:1,status:p,statusUrl:F,onComplete:e.onComplete,brokerName:e.brokerName}),jsxRuntime.jsx(Cn,{})]})};var hs=()=>{let[e,{setTrue:t,setFalse:n}]=hooks.useBoolean(false),o=hooks.useAccountInstance(),s=hooks.useConfig("brokerId"),[i,a]=Qi.useState(types.WS_WalletStatusEnum.NO),c=Qi.useRef(),r=hooks.useEventEmitter();Qi.useEffect(()=>{let u=l=>{let{side:f,transStatus:d,trxId:y}=l;f==="DEPOSIT"&&y===c.current&&a(d);};return r.on("wallet:changed",u),()=>{r.off("wallet:changed",u);}},[c.current]);let m=Qi.useCallback(()=>({accountId:o.accountIdHashStr,brokerHash:core.utils.parseBrokerHash(s),tokenHash:core.utils.parseTokenHash("USDC")}),[o,s]);return {swap:Qi.useCallback(async(u,l,f)=>{if(!o.walletAdapter)throw new Error("walletAdapter is undefined");if(!o.address)throw new Error("account.address is undefined");if(e)return;t();let d={from:o.address,to:u,data:[o.address,l,m()],value:gn(l.fromToken)?BigInt(l.fromAmount)+l.orderlyNativeFees:l.orderlyNativeFees};try{let y=await o.walletAdapter.sendTransaction(u,"swap",d,{abi:es});return n(),c.current=y.hash,r.emit("deposit:requested"),ramda.pick(["from","to","hash","value"],y)}catch(y){throw new Error(y.errorCode)}},[e,o]),loading:e,status:i}};var ks=e=>{let{transactionData:t,slippage:n,mode:o,dst:s,src:i,chain:a,nativeToken:c,depositFee:r}=e,{t:m}=i18n.useTranslation(),[p,u]=Qi.useState(-1),[l,f]=Qi.useState("details"),[d,y]=Qi.useState(),h=hooks.useEventEmitter(),{swap:S,status:g}=hs(),I=Qi.useMemo(()=>({price:t.price,slippage:n,time:a?.est_txn_mins,received:s.amount,dstGasFee:new utils.Decimal(r.toString())?.div(new utils.Decimal(10).pow(18))?.toString(),swapFee:t.fees_from}),[t,a?.est_txn_mins,o,s,r]);Qi.useEffect(()=>{g===types.WS_WalletStatusEnum.COMPLETED&&u(4),g===types.WS_WalletStatusEnum.FAILED&&u(3);},[g]);let x=Qi.useCallback(()=>(f("processing"),t?!a||!a.depositor?Promise.reject("No chain data"):(u(2),S(a.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:s,src:i}).then(C=>{y(C),ui.toast.success(m("transfer.deposit.requested")),h.emit("deposit:requested");}).catch(C=>{u(3),ui.toast.error(C?.message||"Error");})):Promise.reject("No transaction data")),[t,o,s,i,h]),k=Qi.useMemo(()=>{if(!(p<2||!d))return `${a?.explorer_base_url}/tx/${d.hash}`},[p,d,a]);return jsxRuntime.jsxs(ui.Box,{intensity:800,children:[jsxRuntime.jsx(kn,{viewMode:l,onConfirm:x,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}),l==="processing"&&jsxRuntime.jsx(Tn,{mode:0,status:p,statusUrl:k,onComplete:e.onComplete,brokerName:e.brokerName}),jsxRuntime.jsx(Cn,{})]})};var Ss=e=>{let{mode:t}=e;return t===1?jsxRuntime.jsx(fs,{...e}):jsxRuntime.jsx(ks,{...e})};var Sn=ui.modal.create(e=>{let{isMobile:t}=ui.useScreen(),{t:n}=i18n.useTranslation(),{visible:o,hide:s,resolve:i,reject:a,onOpenChange:c}=ui.useModal(),r=u=>{i(u),s();},m=()=>{a(),s();},p={title:n("transfer.swapDeposit.swapDialog.title"),open:o,onOpenChange:c,classNames:{content:"oui-font-semibold"},children:jsxRuntime.jsx(Ss,{...e,onComplete:r,onCancel:m})};return t?jsxRuntime.jsx(ui.SimpleSheet,{...p}):jsxRuntime.jsx(ui.SimpleDialog,{...p,size:"md"})});var vs=()=>{let[e,{setTrue:t,setFalse:n}]=hooks.useBoolean(false),o=hooks.useConfig("brokerId"),s=hooks.useAccountInstance(),i=Qi.useCallback(()=>({accountId:s.accountIdHashStr,brokerHash:core.utils.parseBrokerHash(o),tokenHash:core.utils.parseTokenHash("USDC")}),[s,o]),a=Qi.useCallback(async(r,m)=>{if(!s.walletAdapter)throw new Error("walletAdapter is not ready");let p=await s.walletAdapter.call(r,"quoteLayerZeroFee",[s.address,m,i()],{abi:Pt});return core.utils.formatByUnits(p[0])},[]);return {query:Qi.useCallback(r=>{if(e)return Promise.resolve();t();let m={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(m).map(([u,l])=>`${u}=${encodeURIComponent(l)}`).join("&");return fetch(`${yn}/woofi_dex/cross_chain_swap?${p}`).then(u=>u.ok?u.json():u.json().then(l=>{throw new Error(l.error.message)})).then(u=>{if(u.status==="ok")return u.data;throw new Error(u.message)}).then(u=>a(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(l=>({...u,dst_infos:{...u.dst_infos,gas_fee:l}})).catch(l=>{console.error("queryDestinationFee error",l);})).finally(()=>n())},[e,s]),loading:e}};var Is=()=>{let e=hooks.useAccountInstance(),[t,{setTrue:n,setFalse:o}]=hooks.useBoolean(false);return {query:Qi.useCallback(i=>{if(t)return Promise.resolve();n();let a={network:i.srcNetwork,from_token:i.srcToken,to_token:i.dstToken,from_amount:i.amount,slippage:i.slippage||1},c=Object.entries(a).map(([r,m])=>`${r}=${encodeURIComponent(m)}`).join("&");return fetch(`${yn}/woofi_dex/swap?${c}`).then(r=>r.ok?r.json():r.json().then(m=>{throw new Error(m.error.message)})).then(r=>{if(r.status==="ok")return r.data;throw new Error(r.message)}).finally(()=>o())},[e]),loading:t}};function vn(e){let{quantity:t,dst:n,queryParams:o,needSwap:s,needCrossSwap:i}=e,{t:a}=i18n.useTranslation(),{query:c}=Is(),{query:r}=vs(),m=Qi.useRef(o);m.current=o;let[p,u]=Qi.useState(""),[l,f]=Qi.useState(""),[d,{setTrue:y,setFalse:h}]=hooks.useBoolean(false),[S,g]=Qi.useState({price:0,markPrices:{from_token:0,native_token:0},fee:""}),I=Qi.useCallback(()=>i?r(m.current):s?c(m.current):Promise.reject("no need to enquiry"),[s,i]),x=w=>{if(w.mark_prices){let T=i?w.dst_infos.gas_fee:"0",b=i?w.fees_from.woofi:w.fees_from,v=i?w.fees_from.stargate:void 0,E=i?w.fees_from.total:w.fees_from;g({price:w.price,markPrices:w.mark_prices,dstGasFee:T,swapFee:b,bridgeFee:v,fee:E});}if(w.route_infos){let T=i?w.route_infos.dst.amounts[1]:w.route_infos.amounts[1];u(new utils.Decimal(T).div(Math.pow(10,n.decimals)).toString());}return f(""),w},k=w=>{g({fee:"0",markPrices:{from_token:0,native_token:0},price:0,swapFee:"0",bridgeFee:"0",dstGasFee:"0",...w}),u("");},C=w=>{w.message==="contract call failed"?(f(a("transfer.swapDeposit.notEnoughLiquidity")),k()):(f(""),w?.message&&ui.toast.error(w.message));},F=hooks.useDebouncedCallback(()=>(y(),I().then(x,C).finally(()=>{h();})),300);return Qi.useEffect(()=>{if(!s&&!i){k({price:1}),u(t);return}let w=Number(t);if(isNaN(w)||w<=0){k();return}F();},[s,i,t]),{enquiry:I,querying:d,warningMessage:l,transactionInfo:S,amount:p,cleanTransactionInfo:k}}function In(e){let{nativeToken:t,isNativeToken:n,src:o,depositFee:s=0,transactionInfo:i,needSwap:a,needCrossSwap:c}=e,r=t?.symbol,m=o?.symbol,{fee:p="0",swapFee:u="0",bridgeFee:l="0",dstGasFee:f="0",markPrices:d}=i,{from_token:y,native_token:h}=d,{data:S}=hooks.useIndexPrice(`SPOT_${r}_USDC`),{t:g}=i18n.useTranslation();return {...Qi.useMemo(()=>{let x="",k=[],C=He(t?.precision),F=He(o?.precision),w=c?f:new utils.Decimal(s.toString()).div(new utils.Decimal(10).pow(18)).toString();if(!a&&!c&&(k=[{value:w,dp:C}],x=new utils.Decimal(w).mul(S||0).toString()),a||c)if(n){let b=new utils.Decimal(w).plus(p);k=[{value:b.toString(),dp:C}],x=b.mul(h??1).toString();}else k=[{value:w,dp:C,symbol:r},{value:p,dp:F,symbol:m}],x=new utils.Decimal(w).mul(h??1).plus(new utils.Decimal(p).mul(y??1)).toString();k=k.filter(b=>!!b.value&&Number(b.value)!==0);let T=[{title:g("transfer.deposit.destinationGasFee"),description:g("transfer.deposit.destinationGasFee.description"),value:w,dp:C,symbol:r},{title:g("transfer.swapDeposit.swapFee"),description:g("transfer.swapDeposit.swapFee.description"),value:u,dp:F,symbol:m},{title:g("transfer.swapDeposit.bridgeFee"),description:g("transfer.swapDeposit.bridgeFee.description"),value:l,dp:F,symbol:m}].filter((b,v)=>v===0||!!b.value&&Number(b.value)!==0).map(b=>{let v=new utils.Decimal(b.value||0).todp(b.dp).toNumber();return {...b,value:utils.toNonExponential(v)}});return {feeAmount:x,feeQtys:k,feeDetails:T}},[s,S,r,m,i,a,c]),nativeSymbol:r}}var nc="orderly_swap_deposit_slippage",Ds=e=>{let{srcToken:t,currentChain:n,dst:o,quantity:s,isNativeToken:i,depositFee:a,setQuantity:c,needSwap:r,needCrossSwap:m}=e,[p,u]=hooks.useLocalStorage(nc,1),f=hooks.useConfig().get("brokerName")||"",{enquiry:d,transactionInfo:y,amount:h,querying:S,warningMessage:g,cleanTransactionInfo:I}=vn({quantity:s,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(s||0).mul(10**(t?.decimals||0)).toString(),slippage:p},needSwap:r,needCrossSwap:m}),x=Qi.useCallback(()=>{c(""),I();},[c]),k=Qi.useCallback(async()=>d().then(b=>{let v=m?b.route_infos?.dst.amounts[1]:b.route_infos?.amounts[1],E={mode:m?1:0,src:{chain:n?.id,token:t.symbol,displayDecimals:t?.precision,amount:s,decimals:t.decimals},dst:{chain:o.chainId,token:o.symbol,displayDecimals:2,amount:new utils.Decimal(v).div(Math.pow(10,o.decimals)).toString(),decimals:o.decimals},chain:n?.info?.network_infos,nativeToken:n?.info?.nativeToken,depositFee:a,transactionData:b,slippage:p,brokerName:f};return ui.modal.show(Sn,E)}).then(b=>{b&&x();}).catch(b=>{}),[s,m,o,n,p,a]),C=Qi.useMemo(()=>m||r?y.price:1,[y]),F=Qi.useMemo(()=>m||r?i?y.markPrices.native_token:y.markPrices.from_token:1,[r,m,i,y]),w=r||m?h:s,T=In({nativeToken:n?.info?.nativeToken,isNativeToken:i,src:t,depositFee:a,transactionInfo:y,needSwap:r,needCrossSwap:m});return {cleanTransactionInfo:I,onSwapDeposit:k,swapPrice:C,markPrice:F,swapQuantity:w,swapFee:T,swapRevalidating:S,warningMessage:g,needSwap:r,needCrossSwap:m,slippage:p,onSlippageChange:u}};function Et(e){let{isNativeToken:t,allowance:n,quantity:o,maxQuantity:s}=e;return Qi.useMemo(()=>{let a=t?Number.MAX_VALUE:Number(n);if(a<=0)return 2;let c=Number(o),r=Number(s);return a<c&&c<=r?2:0},[t,n,o,s])}function Rt(){let{t:e}=i18n.useTranslation(),t=hooks.useConfig("networkId"),[n]=hooks.useLocalStorage("orderly_link_device",{}),{connectedChain:o,settingChain:s,setChain:i}=hooks.useWalletConnector(),[a,{findByChainId:c}]=hooks.useChains(t,{pick:"network_infos",filter:p=>p.network_infos?.bridge_enable||p.network_infos?.bridgeless}),r=Qi.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]),m=Qi.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(l=>{l?ui.toast.success(e("connector.networkSwitched")):ui.toast.error(e("connector.switchChain.failed"));}).catch(l=>{l&&l.message&&ui.toast.error(`${e("connector.switchChain.failed")}: ${l.message}`);})},[r,i,c]);return {chains:a,currentChain:r,settingChain:s,onChainChange:m}}function Mt(e){let{quantity:t,allowance:n,approve:o,deposit:s,enableCustomDeposit:i,customDeposit:a,onSuccess:c}=e,[r,m]=Qi.useState(false),p=hooks.useEventEmitter(),{t:u}=i18n.useTranslation(),l=Qi.useCallback(async()=>{try{await s(),ui.toast.success(u("transfer.deposit.requested")),p.emit("deposit:requested"),c?.();}catch(h){console.error("deposit error",h);let S=us(h.message);S?ui.toast.error(jsxRuntime.jsxs("div",{children:[u("common.somethingWentWrong"),jsxRuntime.jsx("br",{}),jsxRuntime.jsxs("div",{className:"orderly-text-white/[0.54] orderly-text-xs",children:[u("common.details"),": ",S]})]})):ui.toast.error(h.message||u("common.somethingWentWrong"));}},[s,c,u]),f=Qi.useCallback(async()=>{let h=Number(t);if(isNaN(h)||h<=0){ui.toast.error(u("transfer.quantity.invalid"));return}if(r)return;m(true),await(i?a:l)?.()?.finally(()=>{m(false);});},[t,r,l,i,a,u]),d=Qi.useCallback(async()=>{if(!r){m(true);try{await o(t),ui.toast.success(u("transfer.deposit.approve.success"));}catch(h){throw console.error("approve error",h),ui.toast.error(h.message||h?.errorCode||u("transfer.deposit.approve.failed")),h}finally{m(false);}}},[o,r,t,n,u]),y=Qi.useCallback(async()=>{if(!r){m(true);try{await d(),await f();}catch(h){console.error("approve and deposit error",h);}finally{m(false);}}},[r,d,f]);return {submitting:r,onApprove:d,onDeposit:f,onApproveAndDeposit:y}}function Wt(e){let{quantity:t,maxQuantity:n}=e,{t:o}=i18n.useTranslation(),[s,i]=Qi.useState("default"),[a,c]=Qi.useState();return Qi.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:s,hintMessage:a}}var Nn=(e,t=()=>true)=>{let[n,o]=Qi.useState(),[s,i]=Qi.useState(),[a,c]=Qi.useState([]),[r,m]=Qi.useState([]),p=hooks.useConfig("networkId"),u=Qi.useCallback(l=>{if(l&&l?.token_infos?.length>0){let f=l.token_infos?.filter(t);f?.length&&f.sort((y,h)=>y.symbol==="USDC"?-1:h.symbol==="USDC"?1:0);let d=ut(f);if(!d)return;o(d),i(d),c(f),m([d]);}},[]);return Qi.useEffect(()=>{u(e?.info);},[e,u]),Qi.useEffect(()=>{if(!n||!a.length)return;if(n.symbol==="USDC"){i(n),m([n]);return}let l=a.find(f=>f.symbol==="USDC");if(n.is_collateral){p==="mainnet"&&n.swap_enable?(i(n),m([n,l])):(i(n),m([n]));return}i(l),m([l]);},[p,n,a]),{sourceToken:n,targetToken:s,sourceTokens:a,targetTokens:r,onSourceTokenChange:o,onTargetTokenChange:i}};var {collateralRatio:Rc,collateralContribution:Mc,calcMinimumReceived:Wc}=perp.account,Dn=3,Lo=e=>{let{wrongNetwork:t}=reactApp.useAppContext(),{t:n}=i18n.useTranslation(),o=hooks.useConfig("networkId"),[s,i]=Qi.useState(""),{chains:a,currentChain:c,settingChain:r,onChainChange:m}=Rt(),{sourceToken:p,targetToken:u,sourceTokens:l,targetTokens:f,onSourceTokenChange:d,onTargetTokenChange:y}=Nn(c),{data:h,getIndexPrice:S}=hooks.useIndexPricesStream(),g=Qi.useMemo(()=>S(p?.symbol??"")??0,[p?.symbol,h]),I=Qi.useMemo(()=>l?.find(br=>br.symbol==="USDC"),[l]),{dst:x,balance:k,allowance:C,depositFeeRevalidating:F,depositFee:w,quantity:T,setQuantity:b,approve:v,deposit:E,isNativeToken:A,balanceRevalidating:D,fetchBalance:P}=hooks.useDeposit({address:p?.address,decimals:p?.decimals,srcChainId:c?.id,srcToken:p?.symbol,dstToken:u?.symbol,crossChainRouteAddress:c?.info?.network_infos?.cross_chain_router,depositorAddress:c?.info?.network_infos?.depositor}),_=Qi.useMemo(()=>new utils.Decimal(k||0).todp(p?.precision??2,utils.Decimal.ROUND_DOWN).toString(),[k,p?.precision]),{inputStatus:W,hintMessage:U}=Wt({quantity:T,maxQuantity:_}),{needSwap:z,needCrossSwap:O}=fn({srcToken:p,dstToken:u,srcChainId:c?.id,dstChainId:x?.chainId}),{cleanTransactionInfo:oe,onSwapDeposit:ee,swapRevalidating:L,swapPrice:ue,markPrice:pe,swapQuantity:j,swapFee:ye,warningMessage:he,slippage:H,onSlippageChange:De}=Ds({srcToken:p,currentChain:c,dst:x,quantity:T,isNativeToken:A,depositFee:w,setQuantity:b,needSwap:z,needCrossSwap:O}),le=Qi.useCallback(()=>{b(""),oe();},[b]),we=Qi.useCallback(()=>{le(),e.close?.();},[le,e.close]),{submitting:R,onApprove:B,onDeposit:$,onApproveAndDeposit:Z}=Mt({quantity:T,allowance:C,approve:v,deposit:E,enableCustomDeposit:z||O,customDeposit:ee,onSuccess:we}),be=Qi.useMemo(()=>p?.symbol==="USDC"||p?.symbol!==u?.symbol||!p?.is_collateral||!T||isNaN(Number(T))?"":new utils.Decimal(T).gt(p?.user_max_qty)?n("transfer.deposit.userMaxQty.error",{maxQty:p?.user_max_qty,token:p?.symbol}):"",[p,u,T,n]),vt=R||F,Gn=!T||Number(T)===0||!p||W==="error"||F||L||!!be||!!s,Qn=Qi.useMemo(()=>new utils.Decimal(T||0).mul(1).toNumber(),[T]),Hn=Et({isNativeToken:A,allowance:C,quantity:T,maxQuantity:_}),$n=Bc({nativeToken:c?.info?.nativeToken,depositFee:w}),{collateralRatio:Xn,collateralContributionQuantity:jn,currentLTV:Zn,nextLTV:N}=Oc({sourceToken:p,targetToken:u,qty:T,indexPrice:g}),{ltv_threshold:Y,negative_usdc_threshold:Oe,isLoading:Yn}=Lc();Qi.useEffect(()=>{le();},[p,c?.id]);let Oi=Qi.useMemo(()=>{if(A&&_===T)return n("transfer.deposit.gasFee.error",{token:p?.symbol})},[_,T,p?.symbol,n]);Qi.useEffect(()=>{T&&Number(T)>0&&w===0n&&!F?i(n("transfer.deposit.failed.fee")):i("");},[T,w,F,n]);let Li=he||be||Oi||s,Vi=Qi.useMemo(()=>z?j&&new utils.Decimal(j)?.todp(Dn,utils.Decimal.ROUND_DOWN).toString():T,[z,j,T]),zi=Qi.useMemo(()=>j?Wc({amount:Number(j),slippage:H}):"-",[j,H]);return {sourceToken:p,targetToken:u,sourceTokens:l,targetTokens:f,onSourceTokenChange:d,onTargetTokenChange:y,amount:Qn,isNativeToken:A,quantity:T,collateralContributionQuantity:jn,maxQuantity:_,indexPrice:g,onQuantityChange:b,hintMessage:U,inputStatus:W,chains:a,currentChain:c,settingChain:r,onChainChange:m,actionType:Hn,onDeposit:$,onApprove:B,onApproveAndDeposit:Z,fetchBalance:P,dst:x,wrongNetwork:t,balanceRevalidating:D,loading:vt,disabled:Gn,networkId:o,fee:$n,collateralRatio:Xn,currentLTV:Zn,nextLTV:N,ltv_threshold:Y,negative_usdc_threshold:Oe,isConvertThresholdLoading:Yn,slippage:H,onSlippageChange:De,minimumReceived:zi,usdcToken:I,needSwap:z,needCrossSwap:O,swapPrice:ue,markPrice:pe,swapFee:ye,warningMessage:Li,targetQuantity:Vi,targetQuantityLoading:L}};function Bc(e){let{nativeToken:t,depositFee:n=0}=e,{account:o}=hooks.useAccount(),s=t?.symbol,i=hooks.useTokenInfo(s),{data:a}=hooks.useIndexPrice(`SPOT_${s}_USDC`);return {...Qi.useMemo(()=>{let r=new utils.Decimal(n.toString()).div(new utils.Decimal(10).pow(o.walletAdapter?.chainNamespace===types.ChainNamespace.solana?9:18)).toString(),m=new utils.Decimal(r).mul(a||0).toString();return {dstGasFee:r,feeQty:r,feeAmount:m,dp:i?.decimals||8}},[n,a]),nativeSymbol:s}}var Oc=e=>{let{sourceToken:t,targetToken:n,indexPrice:o}=e,s=Number(e.qty),i=Qi.useMemo(()=>Rc({baseWeight:n?.base_weight??0,discountFactor:n?.discount_factor??0,collateralQty:s,collateralCap:t?.user_max_qty??s,indexPrice:o}),[n,s,t?.user_max_qty,o]),a=Mc({collateralQty:s,collateralCap:t?.user_max_qty??s,collateralRatio:i.toNumber(),indexPrice:o}),c=hooks.useComputedLTV(),r=hooks.useComputedLTV({input:s,token:t?.symbol});return {collateralRatio:i.toNumber(),collateralContributionQuantity:a,currentLTV:c,nextLTV:r,indexPrice:o}},Lc=()=>{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 zo=e=>{let{sourceToken:t,targetToken:n,sourceTokens:o,targetTokens:s,onSourceTokenChange:i,onTargetTokenChange:a,amount:c,quantity:r,collateralContributionQuantity:m,maxQuantity:p,onQuantityChange:u,hintMessage:l,inputStatus:f,chains:d,currentChain:y,settingChain:h,onChainChange:S,actionType:g,onDeposit:I,onApprove:x,onApproveAndDeposit:k,fetchBalance:C,wrongNetwork:F,balanceRevalidating:w,loading:T,disabled:b,networkId:v,fee:E,collateralRatio:A,currentLTV:D,nextLTV:P,slippage:_,onSlippageChange:W,minimumReceived:U,needSwap:z,needCrossSwap:O,swapPrice:oe,swapFee:ee,warningMessage:L,usdcToken:ue,targetQuantity:pe,targetQuantityLoading:j}=e,{t:ye}=i18n.useTranslation(),he=()=>z||O?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:ye("transfer.deposit.convertRate")}),jsxRuntime.jsx(Nt,{sourceSymbol:t?.display_name||t?.symbol,targetSymbol:n?.display_name||n?.symbol,precision:Dn,indexPrice:oe})]}),jsxRuntime.jsx(ot,{value:_,onValueChange:W}),jsxRuntime.jsx(Yt,{value:U,symbol:n?.symbol??"",precision:Dn}),jsxRuntime.jsx(un,{...ee})]}):jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",mt:2,gap:1,children:[jsxRuntime.jsx(po,{value:A}),jsxRuntime.jsx(Fr,{precision:ue?.precision??6,value:m}),jsxRuntime.jsx(Ve,{showDiff:typeof r<"u"&&Number(r)>0,currentLtv:D,nextLTV:P}),jsxRuntime.jsx(At,{...E})]});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(Dt,{}),jsxRuntime.jsxs(ui.Box,{mt:3,mb:1,children:[jsxRuntime.jsx(qe,{chains:d,value:y,onValueChange:S,wrongNetwork:F,loading:h}),jsxRuntime.jsx(K,{classNames:{root:"oui-mt-[2px] oui-rounded-t-sm oui-rounded-b-xl"},value:r,onValueChange:u,token:t,tokens:o,onTokenChange:i,status:f,hintMessage:l,fetchBalance:C,"data-testId":"oui-testid-deposit-dialog-quantity-input"})]}),jsxRuntime.jsx(ce,{token:t,amount:c,maxQuantity:p,loading:w,onClick:()=>{u(p);}}),jsxRuntime.jsx(me,{}),jsxRuntime.jsx(ze,{}),jsxRuntime.jsx(K,{readOnly:true,token:n,tokens:s,onTokenChange:a,value:pe,loading:j,classNames:{root:"oui-mt-3 oui-border-transparent focus-within:oui-outline-transparent"}}),he()]}),jsxRuntime.jsx(jr,{sourceToken:t?.symbol,targetToken:n?.symbol,className:"oui-mb-3"}),jsxRuntime.jsx(sn,{message:L,needSwap:z,needCrossSwap:O,wrongNetwork:F,networkId:v}),jsxRuntime.jsx(ui.Flex,{justify:"center",children:jsxRuntime.jsx(Ft,{actionType:g,symbol:t?.symbol,disabled:b,loading:T,onDeposit:I,onApprove:x,onApproveAndDeposit:k,networkId:v})})]})};var qo=e=>{let t=Lo(e);return jsxRuntime.jsx(zo,{...t})};var Ls=e=>{let{value:t,onChange:n,status:o,hintMessage:s,placeholder:i,label:a}=e,c=Qi.useRef(null),r=u=>{n?.(u.target.value);let l=c.current;l&&(l.style.height="auto",l.style.height=`${l.scrollHeight}px`);};Qi.useEffect(()=>{let u=c.current;u&&(u.style.height="auto",u.style.height=`${u.scrollHeight}px`);},[t]);let m=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:a})}),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:s})]});return jsxRuntime.jsxs("div",{className:"oui-relative",children:[m,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}),s&&p]})};var Mn=e=>{let{hasPositions:t,unsettledPnl:n,onSettlePnl:o,tooltipContent:s,dialogContent:i}=e,{t:a}=i18n.useTranslation();if(n===0&&!t)return jsxRuntime.jsx(jsxRuntime.Fragment,{});let c=()=>{ui.modal.confirm({title:a("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:s,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:`${a("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(Cr,{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:a("common.settle")})]})]})};var Vs=({address:e,amount:t,currentChain:n})=>{let{t:o}=i18n.useTranslation(),s=Qi.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:s})]})]}),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 Go(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=>console.log("[switchChain error]",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 Us=e=>{let{disabled:t,loading:n,onWithdraw:o,networkId:s,crossChainWithdraw:i,address:a,currentChain:c,quantity:r,fee:m,checkIsBridgeless:p,onTransfer:u}=e,{t:l}=i18n.useTranslation(),f=Qi.useMemo(()=>r?new utils.Decimal(r).minus(m??0).toNumber():0,[r,m]),d=()=>{if(i){ui.modal.confirm({title:l("transfer.withdraw.crossChain.confirmWithdraw"),content:jsxRuntime.jsx(Vs,{address:a,amount:f,currentChain:c}),classNames:{content:"oui-font-semibold",body:"!oui-pb-0",footer:"!oui-pt-0"},onOk:async()=>{o();}});return}o();},y={initial:"md",lg:"lg"},h=()=>e.withdrawTo==="accountId"?jsxRuntime.jsx(ui.Button,{fullWidth:true,disabled:t,loading:n,onClick:u,size:y,children:l("common.withdraw")}):p?jsxRuntime.jsx(ui.Button,{"data-testid":"oui-testid-withdraw-dialog-withdraw-btn",fullWidth:true,disabled:t,loading:n,onClick:d,size:y,children:l("common.withdraw")}):jsxRuntime.jsx(Go,{networkId:s,size:y});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:s,bridgeLessOnly:true,buttonProps:{fullWidth:true,size:y},children:h()})})};var Gs=e=>{let{chainVaultBalance:t,currentChain:n,crossChainTrans:o,tokenName:s,qtyGreaterThanMaxAmount:i,qtyGreaterThanVault:a}=e,{t:c}=i18n.useTranslation(),{state:r}=hooks.useAccount(),m=Qi.useMemo(()=>{if(n&&n.info&&n.info.network_infos)return n.info.network_infos.name},[n]),u=r.status===types.AccountStatusEnum.NotConnected?null:o?c("transfer.withdraw.crossChain.process"):i?c("transfer.insufficientBalance"):a?c("transfer.withdraw.vaultWarning",{tokenName:s,chainName:m,balance:t}):e.message;return u?jsxRuntime.jsx(ui.Flex,{my:4,className:"oui-justify-center oui-text-center oui-text-xs oui-text-warning-darken",children:u}):null};var Ho=e=>{let{address:t,loading:n,disabled:o,quantity:s,onQuantityChange:i,sourceToken:a,amount:c,maxQuantity:r,tokenChains:m,currentChain:p,fee:u,settingChain:l,chainVaultBalance:f,crossChainTrans:d,checkIsBridgeless:y,withdrawTo:h,sourceTokens:S,onSourceTokenChange:g,vaultBalanceList:I,qtyGreaterThanMaxAmount:x,qtyGreaterThanVault:k}=e,{t:C}=i18n.useTranslation(),F=jsxRuntime.jsxs(ui.TabPanel,{title:C("transfer.withdraw.otherAccount",{brokerName:e.brokerName}),value:"accountId",children:[jsxRuntime.jsx(Ls,{label:C("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:C("transfer.withdraw.accountId.tips")})})]});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(K,{value:s,onValueChange:i,token:a,tokens:S,onTokenChange:g,status:e.inputStatus,hintMessage:e.hintMessage,vaultBalanceList:I,testId:"oui-testid-withdraw-dialog-quantity-input",displayType:"vaultBalance"})}),jsxRuntime.jsx(ce,{token:a,amount:c,maxQuantity:r.toString(),loading:e.balanceRevalidating,onClick:()=>{i(r.toString());}}),jsxRuntime.jsx(ui.Box,{mx:2,mt:1,children:jsxRuntime.jsx(Mn,{unsettledPnl:e.unsettledPnL,hasPositions:e.hasPositions,onSettlePnl:e.onSettlePnl,tooltipContent:C("settle.unsettled.tooltip"),dialogContent:jsxRuntime.jsx(i18n.Trans,{i18nKey:"settle.settlePnl.description"})})}),jsxRuntime.jsx(me,{}),jsxRuntime.jsxs(ui.Tabs,{value:h,onValueChange:e.setWithdrawTo,variant:"contained",size:"lg",classNames:{tabsList:"oui-px-0",tabsContent:"oui-pt-3"},children:[jsxRuntime.jsxs(ui.TabPanel,{title:C("transfer.web3Wallet.my"),icon:jsxRuntime.jsx(ui.WalletIcon,{size:"xs",name:e.walletName??""}),value:"wallet",children:[jsxRuntime.jsx(qe,{chains:m,value:p,onValueChange:e.onChainChange,wrongNetwork:e.wrongNetwork,loading:l}),jsxRuntime.jsx(K,{classNames:{root:"oui-mt-[2px] oui-rounded-t-sm oui-rounded-b-xl"},token:a,value:e.showQty,readOnly:true})]}),F]}),jsxRuntime.jsx(ui.Box,{mt:2,children:jsxRuntime.jsx(Ve,{showDiff:typeof s<"u"&&Number(s)>0,currentLtv:e.currentLTV,nextLTV:e.nextLTV})}),jsxRuntime.jsx(ui.Flex,{direction:"column",mt:1,gapY:1,itemAlign:"start",children:jsxRuntime.jsxs(ui.Text,{size:"xs",intensity:36,children:[C("common.fee"),h==="wallet"?" \u2248 ":" = ",jsxRuntime.jsx(ui.Text,{size:"xs",intensity:80,children:u})]})})]}),jsxRuntime.jsx(Gs,{checkIsBridgeless:y,chainVaultBalance:f,currentChain:p,crossChainTrans:d,tokenName:a?.symbol,qtyGreaterThanVault:k,qtyGreaterThanMaxAmount:x,message:e.warningMessage}),jsxRuntime.jsx(ui.Flex,{justify:"center",children:jsxRuntime.jsx(Us,{checkIsBridgeless:y,networkId:e.networkId,disabled:o,loading:n,onWithdraw:e.onWithdraw,crossChainWithdraw:e.crossChainWithdraw,currentChain:p,address:t,quantity:s,fee:u,withdrawTo:h,onTransfer:e.onTransfer})})]})};var yt=e=>{let{accountId:t}=e||{},{t:n}=i18n.useTranslation(),o=hooks.useEventEmitter(),{account:s,state:i}=hooks.useAccount(),[a]=hooks.usePositionStream();return {hasPositions:Qi.useMemo(()=>!!a?.rows?.length,[a]),onSettlePnl:async()=>(t&&i.mainAccountId!==t?s.settleSubAccount({subAccountId:t}):s.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:s.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)})}};function $s(e){let{token:t,quantity:n,setQuantity:o,close:s,setLoading:i,decimals:a}=e,{t:c}=i18n.useTranslation(),[r,m]=Qi.useState(""),[p,u]=Qi.useState("default"),[l,f]=Qi.useState(),{transfer:d,submitting:y}=hooks.useInternalTransfer(),h=Qi.useCallback(()=>{let S=Number(n);if(Number.isNaN(S)||S<=0){ui.toast.error(c("transfer.quantity.invalid"));return}y||!r||(i(true),d({token:t,receiver:r,amount:n,decimals:a}).then(()=>{ui.toast.success(c("transfer.internalTransfer.success")),o(""),s?.();}).catch(g=>{console.log("transfer error",g);let I=xn(g.code);ui.toast.error(I);}).finally(()=>{i(false);}));},[c,n,t,y,r,d]);return Qi.useEffect(()=>{if(!r){u("default"),f("");return}as(r)?(u("default"),f("")):(u("error"),f(c("transfer.withdraw.accountId.invalid")));},[r]),{toAccountId:r,setToAccountId:m,onTransfer:h,internalWithdrawSubmitting:y,toAccountIdInputStatus:p,toAccountIdHintMessage:l}}function Xs(e){let{crossChainWithdraw:t,currentChain:n,token:o,withdrawTo:s}=e,i=hooks.useTokenInfo(o);return Qi.useMemo(()=>{if(s==="accountId"||!n)return 0;let c=i?.chain_details?.find(r=>Number.parseInt(r.chain_id)===n.id);return c?t?(c.withdrawal_fee||0)+(c.cross_chain_withdrawal_fee||0):c.withdrawal_fee||0:0},[i,o,n,t,s])}var Zs=e=>{let{token:t,quantity:n}=e,{ltv_threshold:o}=Vm(),{t:s}=i18n.useTranslation(),i=hooks.useComputedLTV(),a=hooks.useComputedLTV({input:n?-Number(n):0,token:t}),c=Qi.useMemo(()=>{if(o&&a){let r=o*100;if(a>r)return s("transfer.withdraw.LTV.error",{threshold:r})}return ""},[a,o]);return {currentLTV:i,nextLTV:a,ltvWarningMessage:c,t:s}},Vm=()=>{let{data:e}=hooks.useQuery("/v1/public/auto_convert_threshold",{revalidateOnFocus:false});return {ltv_threshold:e?.ltv_threshold,negative_usdc_threshold:e?.negative_usdc_threshold}};function Js(e){let{currentChain:t,withdrawTo:n}=e,[o,s]=Qi.useState(),[i,a]=Qi.useState([]),c=hooks.useTokensInfo(),{sourceToken:r,onSourceTokenChange:m,sourceTokens:p}=Nn(t,l=>l.symbol==="USDC"||l.is_collateral);Qi.useEffect(()=>{if(!c?.length)return;let l=c.map(d=>({...d,symbol:d.token,token_decimal:d.decimals,precision:d.decimals}));l.sort((d,y)=>d.symbol==="USDC"?-1:y.symbol==="USDC"?1:0);let f=ut(i);s(f||l?.[0]),a(l);},[c]);let u=hooks.useMemoizedFn(()=>{if(n==="accountId"){let l=i.find(f=>f.symbol===r?.symbol);l&&s(l);}else {let l=p.find(f=>f.symbol===o?.symbol);l&&m(l);}});return Qi.useEffect(()=>{u();},[n]),n==="accountId"?{sourceToken:o,onSourceTokenChange:s,sourceTokens:i}:{sourceToken:r,onSourceTokenChange:m,sourceTokens:p}}var oi=1,jo=e=>{let{t}=i18n.useTranslation(),[n,o]=Qi.useState(false),[s,i]=Qi.useState(false),[a]=hooks.useAssetsHistory({page:1,pageSize:1,side:types.AssetHistorySideEnum.WITHDRAW,status:types.AssetHistoryStatusEnum.PENDING_REBALANCE},{shouldUpdateOnWalletChanged:N=>N.side===types.AssetHistorySideEnum.WITHDRAW}),c=hooks.useConfig(),r=c.get("brokerName"),m=c.get("networkId"),p=hooks.useEventEmitter(),[u,l]=Qi.useState(""),[f,d]=Qi.useState("default"),[y,h]=Qi.useState(),[S,g]=Qi.useState("wallet"),{wrongNetwork:I}=reactApp.useAppContext(),{account:x}=hooks.useAccount(),[k,{findByChainId:C}]=hooks.useChains(m,{filter:N=>N.network_infos?.bridge_enable||N.network_infos?.bridgeless}),[F]=hooks.useLocalStorage("orderly_link_device",{}),{data:w}=hooks.useQuery("/v1/public/vault_balance",{revalidateOnMount:true,errorRetryCount:3}),{connectedChain:T,wallet:b,setChain:v,settingChain:E}=hooks.useWalletConnector(),A=Qi.useMemo(()=>{let N=T?utils.praseChainIdToNumber(T.id):Number.parseInt(F?.chainId);if(!N)return null;let Y=C(N);return {...T,id:N,info:Y}},[C,T,F]),{sourceToken:D,onSourceTokenChange:P,sourceTokens:_}=Js({currentChain:A,withdrawTo:S}),W=Qi.useMemo(()=>k.filter(N=>N.token_infos?.some(Y=>Y.symbol===D?.symbol)).map(N=>N.network_infos),[k,m,D]),{walletName:U,address:z}=Qi.useMemo(()=>({walletName:b?.label,address:b?.accounts?.[0].address}),[b]),O=N=>{l(N);},oe=Qi.useMemo(()=>new utils.Decimal(u||0).mul(oi).toNumber(),[u,oi]),{withdraw:ee,maxAmount:L,unsettledPnL:ue}=hooks.useWithdraw({token:D?.symbol,decimals:D?.token_decimal}),pe=$s({token:D?.symbol,decimals:D?.token_decimal,quantity:u,setQuantity:l,close:e.close,setLoading:i}),j=Qi.useMemo(()=>I||!A?false:m==="testnet"?true:!(!A.info||!A.info.network_infos||!A.info.network_infos.bridgeless),[A,I]),ye=()=>{l("");},he=Qi.useCallback(async N=>{let Y=C(N.chain_id);return !Y||Y.network_infos?.chain_id===A?.id?Promise.resolve():v?.({chainId:utils.int2hex(Number(Y.network_infos?.chain_id))}).then(Oe=>{Oe?(ui.toast.success(t("connector.networkSwitched")),ye()):ui.toast.error(t("connector.switchChain.failed"));}).catch(Oe=>{ui.toast.error(`${t("connector.switchChain.failed")}: ${Oe.message}`);})},[A,v,C,t]),H=Qi.useMemo(()=>{if(!Array.isArray(w)||!A)return null;let N=w.find(Y=>Number.parseInt(Y.chain_id)===A?.id&&Y.token===D?.symbol);return N?N.balance:null},[k,A,w,D?.symbol]),De=Qi.useMemo(()=>!u||Number.isNaN(u)?false:!L||Number.isNaN(L)?true:new utils.Decimal(u).gt(L),[u,L]),le=Qi.useMemo(()=>S==="accountId"||!u||Number.isNaN(u)?false:!H||Number.isNaN(H)?true:new utils.Decimal(u).gt(H),[u,H,S]),we=Qi.useMemo(()=>{if(H!==null){let N=Number.parseFloat(u);return N>H&&N<=L}return false},[u,L,H]),R=async()=>{if(!s&&f==="default")return i(true),ee({amount:u,token:D?.symbol,chainId:A?.id,allowCrossChainWithdraw:we}).then(N=>{ui.toast.success(t("transfer.withdraw.requested")),p.emit("withdraw:requested"),e.close?.(),l("");}).catch(N=>{if(N.message.indexOf("user rejected")!==-1){ui.toast.error(t("transfer.rejectTransaction"));return}if(N.message.indexOf("Signing off chain messages with Ledger is not yet supported")!==-1){p.emit("wallet:sign-message-with-ledger-error",{message:N.message,userAddress:x.address});return}ui.toast.error(N.message);}).finally(()=>{i(false);})},B=Xs({crossChainWithdraw:we,currentChain:A,token:D?.symbol,withdrawTo:S}),$=Qi.useMemo(()=>{let N=new utils.Decimal(D?.minimum_withdraw_amount??0).add(B);if(u&&new utils.Decimal(u).lt(N))return t("transfer.withdraw.minAmount.error",{minAmount:utils.toNonExponential(N.toNumber()),currency:D?.symbol})},[u,D?.minimum_withdraw_amount,B,t]),Z=Qi.useMemo(()=>{if(!u)return "";let N=new utils.Decimal(u).sub(B??0);return N.isNegative()?"":utils.toNonExponential(N.toNumber())},[B,u]);Qi.useEffect(()=>{if(!u){d("default"),h("");return}let N=new utils.Decimal(u??0);ue<0&&(N.gt(L)?(d("error"),h(t("transfer.insufficientBalance"))):(d("default"),h("")));},[u,L,ue,n]);let be=n||!u||Number(u)===0||["error","warning"].includes(f)||S==="accountId"&&!pe.toAccountId||De||le||!!$;Qi.useEffect(()=>{o(!!a?.length);},[a?.length]);let vt=hooks.useMemoizedFn(N=>{if(!n)return;let Y=a?.[0]?.tx_id,{trxId:Oe,transStatus:Yn}=N;Oe===Y&&Yn==="COMPLETED"&&o(false);});hooks.useWalletTopic({onMessage:vt});let{hasPositions:Gn,onSettlePnl:Qn}=yt(),{currentLTV:Hn,nextLTV:$n,ltvWarningMessage:Xn}=Zs({token:D?.symbol,quantity:u}),jn=Xn||$,Zn=Qi.useMemo(()=>S==="accountId"?[]:w?.filter(N=>Number.parseInt(N.chain_id)===A?.id),[w,A,S]);return {walletName:U,address:z,quantity:u,onQuantityChange:O,sourceToken:D,onSourceTokenChange:P,sourceTokens:_,inputStatus:f,hintMessage:y,amount:oe,balanceRevalidating:false,maxQuantity:L,disabled:be,loading:s,unsettledPnL:ue,wrongNetwork:I,settingChain:E,tokenChains:W,currentChain:A,onChainChange:he,onWithdraw:R,chainVaultBalance:H,fee:B,crossChainWithdraw:we,crossChainTrans:n,showQty:Z,networkId:m,checkIsBridgeless:j,hasPositions:Gn,onSettlePnl:Qn,brokerName:r,qtyGreaterThanMaxAmount:De,qtyGreaterThanVault:le,vaultBalanceList:Zn,...pe,withdrawTo:S,setWithdrawTo:g,currentLTV:Hn,nextLTV:$n,warningMessage:jn}};var Zo=e=>{let t=jo(e);return jsxRuntime.jsx(Ho,{...t})};var ri=e=>jsxRuntime.jsx(ui.ExtensionSlot,{position:ui.ExtensionPositionEnum.DepositForm,defaultWidget:qo,...e});var si=e=>jsxRuntime.jsx(ui.ExtensionSlot,{position:ui.ExtensionPositionEnum.WithdrawForm,defaultWidget:Zo,...e});var Tp="DepositAndWithdrawWithDialogId",xp="DepositAndWithdrawWithSheetId",ai=e=>{let[t,n]=Qi.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(ri,{close:e.close})}),jsxRuntime.jsx(ui.TabPanel,{title:o("common.withdraw"),icon:jsxRuntime.jsx(ui.ArrowUpSquareFillIcon,{}),value:"withdraw",children:jsxRuntime.jsx(si,{close:e.close})})]})};ui.registerSimpleDialog(Tp,ai,{size:"md",classNames:{content:"oui-border oui-border-line-6"}});ui.registerSimpleSheet(xp,ai);var Jo=e=>{let{token:t,tokens:n,onTokenChange:o,amount:s,quantity:i,maxQuantity:a,swapQuantity:c,onQuantityChange:r,hintMessage:m,inputStatus:p,chains:u,currentChain:l,settingChain:f,onChainChange:d,actionType:y,onDeposit:h,onApprove:S,fetchBalance:g,dst:I,wrongNetwork:x,balanceRevalidating:k,loading:C,disabled:F,networkId:w,slippage:T,onSlippageChange:b,needSwap:v,needCrossSwap:E,swapPrice:A,swapRevalidating:D,warningMessage:P,fee:_}=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(Dt,{}),jsxRuntime.jsxs(ui.Box,{mt:3,mb:1,children:[jsxRuntime.jsx(qe,{chains:u,value:l,onValueChange:d,wrongNetwork:x,loading:f}),jsxRuntime.jsx(K,{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:m,fetchBalance:g,"data-testid":"oui-testid-swap-deposit-dialog-quantity-input"})]}),jsxRuntime.jsx(ce,{token:t,amount:s,maxQuantity:a,loading:k,onClick:()=>{r(a);}}),jsxRuntime.jsx(me,{}),jsxRuntime.jsx(ze,{}),jsxRuntime.jsx(K,{readOnly:true,token:I,value:c,loading:D,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:(v||E)&&jsxRuntime.jsx(ot,{value:T,onValueChange:b})}),jsxRuntime.jsx(un,{..._})]})]}),jsxRuntime.jsx(sn,{message:P,needSwap:v,needCrossSwap:E,wrongNetwork:x,networkId:w}),jsxRuntime.jsx(ui.Flex,{justify:"center",children:jsxRuntime.jsx(Ft,{actionType:y,symbol:t?.symbol,disabled:F,loading:C,onDeposit:h,onApprove:S,networkId:w})})]})};function li(e){let{currentChain:t,tokensFilter:n}=e,[o,s]=Qi.useState(),[i,a]=Qi.useState([]),c=Qi.useCallback(r=>{if(r&&r?.token_infos?.length>0){let m=typeof n=="function"?n(r):r.token_infos;a(m);let p=ut(m);if(!p)return;s(p);}},[n]);return Qi.useEffect(()=>{c(t?.info);},[t?.id,c]),{token:o,tokens:i,onTokenChange:s}}var tr=e=>{let[t,n]=hooks.useLocalStorage("orderly_swap_deposit_slippage",1),o=hooks.useConfig(),s=o.get("brokerName")||"",i=o.get("networkId"),{wrongNetwork:a}=reactApp.useAppContext(),{chains:c,currentChain:r,settingChain:m,onChainChange:p}=Rt(),u=Qi.useCallback(Z=>Z.token_infos.filter(be=>Z.network_infos.bridgeless&&be.symbol==="USDC"?true:!!be.swap_enable)??[],[]),{token:l,tokens:f,onTokenChange:d}=li({currentChain:r,tokensFilter:u}),{dst:y,balance:h,allowance:S,depositFeeRevalidating:g,depositFee:I,quantity:x,setQuantity:k,approve:C,deposit:F,isNativeToken:w,balanceRevalidating:T,fetchBalance:b}=hooks.useDeposit({address:l?.address,decimals:l?.decimals,srcChainId:r?.id,srcToken:l?.symbol,crossChainRouteAddress:r?.info?.network_infos?.cross_chain_router,depositorAddress:r?.info?.network_infos?.depositor}),v=Qi.useMemo(()=>new utils.Decimal(h||0).todp(l?.precision??2,utils.Decimal.ROUND_DOWN).toString(),[h,l]),{inputStatus:E,hintMessage:A}=Wt({quantity:x,maxQuantity:v}),{needSwap:D,needCrossSwap:P}=fn({srcToken:l,srcChainId:r?.id,dstChainId:y?.chainId}),{enquiry:_,transactionInfo:W,amount:U,querying:z,warningMessage:O,cleanTransactionInfo:oe}=vn({quantity:x,dst:y,queryParams:{network:y.network,srcToken:l?.address,srcNetwork:r?.info?.network_infos?.shortName,dstToken:y.address,crossChainRouteAddress:r?.info?.network_infos?.cross_chain_router,amount:new utils.Decimal(x||0).mul(10**(l?.decimals||0)).toString(),slippage:t},needSwap:D,needCrossSwap:P}),ee=()=>{oe(),k("");},L=Qi.useCallback(()=>{ee(),e.onClose?.();},[e.onClose]),ue=Qi.useCallback(async()=>_().then(Z=>{let be=P?Z.route_infos?.dst.amounts[1]:Z.route_infos?.amounts[1],vt={mode:P?1:0,src:{chain:r?.id,token:l.symbol,displayDecimals:l?.precision,amount:x,decimals:l.decimals},dst:{chain:y.chainId,token:y.symbol,displayDecimals:2,amount:new utils.Decimal(be).div(Math.pow(10,y.decimals)).toString(),decimals:y.decimals},chain:r?.info?.network_infos,nativeToken:r?.info?.nativeToken,depositFee:I,transactionData:Z,slippage:t,brokerName:s};return ui.modal.show(Sn,vt)}).then(Z=>{Z&&ee();}).catch(Z=>{}),[x,P,y,r,t,I]),{submitting:pe,onApprove:j,onDeposit:ye}=Mt({quantity:x,allowance:S,approve:C,deposit:F,enableCustomDeposit:D||P,customDeposit:ue,onSuccess:L}),he=pe||g||z,H=!x||Number(x)===0||E==="error"||g||z,De=Qi.useMemo(()=>P||D?W.price:1,[W]),le=Qi.useMemo(()=>P||D?w?W.markPrices.native_token:W.markPrices.from_token:1,[D,P,w,W]),we=Qi.useMemo(()=>new utils.Decimal(x||0).mul(le).toNumber(),[x,le]),R=D||P?U:x,B=Et({isNativeToken:w,allowance:S,quantity:x,maxQuantity:v}),$=In({nativeToken:r?.info?.nativeToken,isNativeToken:w,src:l,depositFee:I,transactionInfo:W,needSwap:D,needCrossSwap:P});return Qi.useEffect(()=>{ee();},[l,r?.id]),{token:l,tokens:f,onTokenChange:d,amount:we,quantity:x,maxQuantity:v,swapQuantity:R,onQuantityChange:k,hintMessage:A,inputStatus:E,chains:c,currentChain:r,settingChain:m,onChainChange:p,actionType:B,onDeposit:ye,onApprove:j,fetchBalance:b,dst:y,wrongNetwork:a,balanceRevalidating:T,loading:he,disabled:H,networkId:i,slippage:t,onSlippageChange:n,needSwap:D,needCrossSwap:P,swapPrice:De,swapRevalidating:z,warningMessage:O,fee:$}};var _p=e=>{let t=tr(e);return jsxRuntime.jsx(Jo,{...t})};var or=e=>{let{subAccounts:t=[],value:n}=e,[o,s]=Qi.useState(false),i=t.length>1,a=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($t,{className:"oui-text-base-contrast-54"})]}),c=t.map((r,m)=>{let p=r.id===n?.id,u=r?.holding?.find(l=>l.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",m!==0&&"oui-mt-[2px]"),onClick:async()=>{s(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:s,children:[jsxRuntime.jsx(ui.DropdownMenuTrigger,{asChild:true,children:a}),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 rr=e=>{let{networkId:t,disabled:n,onTransfer:o,quantity:s,onQuantityChange:i,amount:a,tokens:c,token:r,onTokenChange:m,maxQuantity:p,submitting:u,hintMessage:l,inputStatus:f,hasPositions:d,onSettlePnl:y,unsettledPnL:h,toAccountAsset:S,fromAccounts:g,toAccounts:I,fromAccount:x,onFromAccountChange:k,toAccount:C,onToAccountChange:F,onExchange:w}=e,{t:T}=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:T("transfer.internalTransfer.from")}),jsxRuntime.jsxs(ui.Box,{mt:1,mb:1,children:[jsxRuntime.jsx(or,{subAccounts:g,value:x,onValueChange:k}),jsxRuntime.jsx(K,{classNames:{root:"oui-mt-[2px] oui-rounded-t-sm oui-rounded-b-xl"},value:s,onValueChange:i,tokens:c,token:r,onTokenChange:m,hintMessage:l,status:f})]}),jsxRuntime.jsx(ce,{token:r,amount:a,maxQuantity:p,onClick:()=>{i(p.toString());}}),jsxRuntime.jsx(ui.Box,{mx:2,mt:1,children:jsxRuntime.jsx(Mn,{unsettledPnl:h,hasPositions:d,onSettlePnl:y,tooltipContent:T("transfer.internalTransfer.unsettled.tooltip"),dialogContent:jsxRuntime.jsx(i18n.Trans,{i18nKey:"transfer.internalTransfer.settlePnl.description"})})}),jsxRuntime.jsx(me,{icon:jsxRuntime.jsx(Sr,{className:"oui-cursor-pointer oui-text-primary",onClick:w})}),jsxRuntime.jsx(ui.Text,{size:"sm",intensity:98,children:T("transfer.internalTransfer.to")}),jsxRuntime.jsxs(ui.Box,{mt:1,children:[jsxRuntime.jsx(or,{subAccounts:I,value:C,onValueChange:F}),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:T("transfer.internalTransfer.currentAssetValue")}),jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",intensity:54,unit:` ${r.symbol}`,dp:r?.precision,padding:false,children:S})]})]})]}),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:T("common.transfer")})})})})]})};var ir={symbol:"USDC"},ar=e=>{let{t}=i18n.useTranslation(),[n,o]=Qi.useState(""),[s,i]=Qi.useState(),[a,c]=Qi.useState(),[r,m]=Qi.useState(),[p,u]=Qi.useState([ir]),[l,f]=Qi.useState(ir),[d,y]=Qi.useState({}),h=hooks.useConfig("networkId"),{state:S,isMainAccount:g,subAccount:I}=hooks.useAccount(),x=hooks.useTokensInfo(),{transfer:k,submitting:C,maxAmount:F,unsettledPnL:w}=hooks.useTransfer({fromAccountId:s?.id,token:l.symbol}),T=S.subAccounts,b=S.mainAccountId,v=S.accountId,E=g?s?.id!==b?s?.id:void 0:s?.id,{hasPositions:A,onSettlePnl:D}=yt({accountId:s?.id}),{portfolio:P,positions:_}=hooks.useSubAccountDataObserver(E),W=hooks.useSubAccountMaxWithdrawal({token:l.symbol,unsettledPnL:P?.unsettledPnL,freeCollateral:P?.freeCollateral??utils.zero,holdings:P?.holding}),U=Qi.useMemo(()=>!!_?.rows?.length,[_]),z=Qi.useMemo(()=>E?U:A,[E,U,A]),{unsettledPnL:O,maxQuantity:oe}=Qi.useMemo(()=>E?{unsettledPnL:P?.unsettledPnL,maxQuantity:W}:{unsettledPnL:w,maxQuantity:F},[E,w,F,P?.unsettledPnL,W]),{inputStatus:ee,hintMessage:L}=ed({quantity:n,maxQuantity:oe,unsettledPnL:O}),ue=Qi.useCallback(()=>{let R=Number(n);if(isNaN(R)||R<=0){ui.toast.error(t("transfer.quantity.invalid"));return}C||!a||k(l.symbol,{account_id:a.id,amount:new utils.Decimal(n).toNumber()}).then(()=>{ui.toast.success(t("transfer.internalTransfer.success")),o(""),e.close?.();}).catch(B=>{console.error("transfer error: ",B);let $=xn(B.code);ui.toast.error($);});},[t,l,n,C,k,a]),pe=C||!n||ee==="error",j=Qi.useMemo(()=>new utils.Decimal(n||0).mul(1).toNumber(),[n]),ye=Qi.useMemo(()=>a?.id&&d[a.id]?.find($=>$.token===l.symbol)?.holding||0,[a,l,d]),{fromAccounts:he,toAccounts:H}=Qi.useMemo(()=>g?{fromAccounts:r?[r,...T||[]]:[],toAccounts:s?.id===b?T:[]}:{fromAccounts:[],toAccounts:[]},[g,b,r,T,s]);Qi.useEffect(()=>{if(!b)return;let R={id:b,description:t("common.mainAccount"),holding:[]};m(R),I.refresh().then(B=>{y(B),m({...R,holding:B[b]});});},[t,b]),Qi.useEffect(()=>{i(g?r:T?.find(R=>R.id===v));},[g,r,T,v]),Qi.useEffect(()=>{if(g){let R=T?.[0],B=e.toAccountId&&T?.find($=>$.id===e.toAccountId)||R;B&&c(B);}else c(r);},[e?.toAccountId,g,r,T]),Qi.useEffect(()=>{let R=x?.map(B=>({symbol:B.token,precision:B.decimals}));if(R?.length){R.sort(($,Z)=>$.symbol==="USDC"?-1:Z.symbol==="USDC"?1:0);let B=R?.find($=>$.symbol===e.token);u(R),f(B||R?.[0]||ir);}},[x,e.token]);let De=Qi.useCallback(R=>{i(R);let B=T?.[0];if(R?.id===b){c(B);return}if(R?.id&&R?.id!==b){c(r);return}},[b,r,T]),le=Qi.useCallback(R=>{c(R);},[]),we=Qi.useCallback(()=>{i(a),c(s);},[s,a]);return {networkId:h,onTransfer:ue,quantity:n,amount:j,onQuantityChange:o,maxQuantity:oe,tokens:p,token:l,onTokenChange:f,disabled:pe,submitting:C,hintMessage:L,inputStatus:ee,hasPositions:z,onSettlePnl:D,unsettledPnL:O,toAccountAsset:ye,fromAccount:s,toAccount:a,fromAccounts:he,onFromAccountChange:De,toAccounts:H,onToAccountChange:le,onExchange:we,isMainAccount:g}};function ed(e){let{quantity:t,maxQuantity:n,unsettledPnL:o=0}=e,{t:s}=i18n.useTranslation(),[i,a]=Qi.useState("default"),[c,r]=Qi.useState();return Qi.useEffect(()=>{if(!t){a("default"),r("");return}let m=new utils.Decimal(t);o<0?m.gt(n)?(a("error"),r(s("transfer.insufficientBalance"))):(a("default"),r("")):m.gt(n)?(a("error"),r(s("transfer.insufficientBalance"))):m.gt(new utils.Decimal(n).minus(o))&&m.lessThanOrEqualTo(n)?(a("warning"),r(s("settle.settlePnl.warning"))):(a("default"),r(""));},[t,n]),{inputStatus:i,hintMessage:c}}var od="TransferDialogId",rd="TransferSheetId",sd=e=>{let t=ar({toAccountId:e.toAccountId,token:e.token,close:e.close});return jsxRuntime.jsx(rr,{...t})},di=e=>jsxRuntime.jsx(sd,{close:e.close,toAccountId:e.toAccountId,token:e.token});ui.registerSimpleDialog(od,di,{size:"md",classNames:{content:"oui-border oui-border-line-6"},title:()=>i18n.i18n.t("common.transfer")});ui.registerSimpleSheet(rd,di,{title:()=>i18n.i18n.t("common.transfer")});var gi=e=>{let{disabled:t,loading:n,networkId:o,onConvert:s}=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:s,children:i("transfer.convert")})})})};var fd=e=>e.reduce((t,n)=>(n.token?.toUpperCase()==="USDC"?t.usdc.push(n):t.others.push(n),t),{usdc:[],others:[]}),gd=e=>{let t=e.chain_details.find(s=>parseInt(s.chain_id)===types.Arbitrum.id),n=e.chain_details.find(s=>!s.contract_address),o="0x0000000000000000000000000000000000000000";return t?{contract_address:t.contract_address||o,quoteChainId:t.chain_id,decimals:t.decimals}:n?{contract_address:o,quoteChainId:n.chain_id,decimals:n.decimals}:{contract_address:e.chain_details[0]?.contract_address,quoteChainId:e.chain_details[0]?.chain_id,decimals:e.chain_details[0]?.decimals}},hi=e=>{let{defaultValue:t}=e,[n,o]=Qi.useState(),[s,i]=Qi.useState(),[a,c]=Qi.useState([]),r=hooks.useTokensInfo(),m=Qi.useMemo(()=>r.filter(l=>l.on_chain_swap).map(l=>{let f=gd(l);return {...l,symbol:l.token,precision:l.decimals??6,...f}}),[r]);Qi.useEffect(()=>{let{usdc:u,others:l}=fd(m);o(()=>{if(t){let f=l.find(({token:d})=>d===t);return f||l[0]}return l[0]}),c(l),i(u[0]);},[t,m]);let p=Qi.useMemo(()=>({...s?.chain_details?.find(l=>l.chain_id===n?.quoteChainId),precision:s?.precision}),[n,s]);return {sourceToken:n,sourceTokens:a,onSourceTokenChange:o,targetToken:s,targetChainInfo:p}};var {calcMinimumReceived:vd}=perp.account,Id="orderly_convert_slippage",Fd=(e,t)=>new utils.Decimal(e).mul(new utils.Decimal(10).pow(t)).toFixed(0),zt=(e,t)=>new utils.Decimal(e).div(new utils.Decimal(10).pow(t)).toString(),cr=e=>{let{token:t,close:n}=e,{t:o}=i18n.useTranslation(),[s,i]=Qi.useState(false),c=hooks.useConfig().get("networkId"),[r,m]=Qi.useState(""),{wrongNetwork:p}=reactApp.useAppContext(),{wallet:u}=hooks.useWalletConnector(),{sourceToken:l,sourceTokens:f,onSourceTokenChange:d,targetToken:y,targetChainInfo:h}=hi({defaultValue:t}),{walletName:S,address:g}=Qi.useMemo(()=>({walletName:u?.label,address:u?.accounts?.[0].address}),[u]),I=O=>{m(O);},[x,k]=hooks.useLocalStorage(Id,1),{maxAmount:C,convert:F}=hooks.useConvert({token:l?.token}),w=async()=>{if(!s)return i(true),F({amount:Number(r),slippage:new utils.Decimal(x).div(100).toNumber()}).then(()=>{ui.toast.success(o("transfer.convert.completed")),n?.(),m("");}).catch(O=>{ui.toast.error(O.message?.includes("user rejected")?o("transfer.convert.failed"):O.message);}).finally(()=>{i(false);})},[T,{data:b,isMutating:v}]=hooks.useOdosQuote();Qi.useEffect(()=>{let{quoteChainId:O,contract_address:oe,decimals:ee}=l||{},L=h?.contract_address;r&&O&&oe&&L&&T({chainId:parseInt(O),inputTokens:[{amount:Fd(r,ee),tokenAddress:oe}],outputTokens:[{proportion:1,tokenAddress:L}]});},[r,l,h,T]);let E=Qi.useMemo(()=>!b||v?"-":b?.outAmounts[0],[b,v]),A=Qi.useMemo(()=>!b||v?"-":new utils.Decimal(zt(b.outAmounts[0],h?.decimals??6)).div(zt(b.inAmounts[0],l?.decimals??6)).toString(),[v,b,l,h]),D=Qi.useMemo(()=>!b||v?0:vd({amount:b?.outAmounts[0],slippage:Number(x)}),[b,v,x]),P=hooks.useComputedLTV(),_=hooks.useComputedLTV({input:Number(r),token:l?.token}),W=!r||Number(r)===0,{hasPositions:U,onSettlePnl:z}=yt();return {walletName:S,address:g,quantity:r,onQuantityChange:I,token:l,sourceTokens:f,onSourceTokenChange:d,targetToken:y,balanceRevalidating:false,maxQuantity:C,disabled:W,loading:s,wrongNetwork:p,onConvert:w,hasPositions:U,onSettlePnl:z,networkId:c,slippage:x,onSlippageChange:k,convertRate:A,minimumReceived:D,outAmounts:E,isQuoteLoading:v,currentLTV:P,nextLTV:_,targetChainInfo:h}};var dr=e=>{let{loading:t,disabled:n,quantity:o,onQuantityChange:s,maxQuantity:i,token:a,targetToken:c,sourceTokens:r,onSourceTokenChange:m,onConvert:p,slippage:u,onSlippageChange:l,convertRate:f,outAmounts:d,minimumReceived:y,isQuoteLoading:h,currentLTV:S,nextLTV:g,networkId:I,balanceRevalidating:x,targetChainInfo:k}=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(K,{value:o,onValueChange:s,token:a,tokens:r,onTokenChange:m})}),jsxRuntime.jsx(ce,{token:a,amount:o,maxQuantity:i.toString(),loading:x,onClick:()=>{s(i.toString());}}),jsxRuntime.jsx(me,{}),jsxRuntime.jsx(K,{readOnly:true,loading:h,token:c,value:h||!o||Number.isNaN(Number(d))?"":zt(d,k?.decimals??6)}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",mt:2,gap:1,children:[jsxRuntime.jsx(Nt,{indexPrice:h||!o||Number.isNaN(Number(f))?"-":f,sourceSymbol:a?.token,targetSymbol:c?.token}),jsxRuntime.jsx(ot,{value:u,onValueChange:l}),jsxRuntime.jsx(Yt,{symbol:c?.token||"",precision:k?.precision??6,value:h||!o||Number.isNaN(Number(y))?"-":zt(y.toString(),k?.decimals??6)}),jsxRuntime.jsx(Ve,{showDiff:typeof o<"u"&&Number(o)>0,currentLtv:S,nextLTV:g}),jsxRuntime.jsx(At,{dstGasFee:"0"})]})]}),jsxRuntime.jsx(ui.Flex,{itemAlign:"center",justify:"center",children:jsxRuntime.jsx(gi,{networkId:I,disabled:n,loading:t,onConvert:p})})]})};var Pd="ConvertDialogId",_d="ConvertSheetId",fr=e=>{let t=cr(e);return jsxRuntime.jsx(dr,{...t})};ui.registerSimpleDialog(Pd,fr,{size:"md",classNames:{content:"oui-border oui-border-line-6"},title:()=>i18n.i18n.t("transfer.convert")});ui.registerSimpleSheet(_d,fr,{title:()=>i18n.i18n.t("transfer.convert")});var yr=e=>{let{canTrade:t,className:n,classNames:o,pendingCount:s,completedCount:i}=e;return !t||s===0&&i===0?null:jsxRuntime.jsxs(ui.Flex,{direction:"column",gapY:1,width:"100%",className:ui.cn(n,o?.root),children:[jsxRuntime.jsx(Ci,{className:o?.items,count:s,status:types.AssetHistoryStatusEnum.PENDING,onClick:e.onClick,estimatedTime:e.estimatedTime,onClose:e.onClose}),jsxRuntime.jsx(Ci,{className:o?.items,count:i,status:types.AssetHistoryStatusEnum.COMPLETED,onClick:e.onClick,onClose:e.onClose})]})},Ci=e=>{let{t}=i18n.useTranslation(),{count:n,status:o,estimatedTime:s}=e,i=Qi.useMemo(()=>o===types.AssetHistoryStatusEnum.PENDING?n>1?t("transfer.deposit.status.pending.multiple"):t("transfer.deposit.status.pending.one"):n>1?t("transfer.deposit.status.completed.multiple"):t("transfer.deposit.status.completed.one"),[t,o,n]);if(n===0)return null;let a=typeof e.onClick=="function",c=()=>o===types.AssetHistoryStatusEnum.PENDING&&n===1&&s?jsxRuntime.jsxs(ui.Text,{size:"2xs",color:"primary",children:["~ ",s]}):jsxRuntime.jsx(Bd,{children:e.count});return jsxRuntime.jsxs(ui.Flex,{intensity:900,gapX:1,width:"100%",r:"full",className:ui.cn("oui-px-3 lg:oui-px-0","oui-py-2 lg:oui-py-0",e.className),children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",itemAlign:"center",className:ui.cn("oui-font-normal","oui-text-base-contrast-80 hover:oui-text-base-contrast",a&&"oui-cursor-pointer"),width:"100%",onClick:e.onClick,children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(Od,{className:o===types.AssetHistoryStatusEnum.COMPLETED?"oui-bg-success":"oui-bg-primary"}),jsxRuntime.jsx(ui.Text,{size:"2xs",children:i})]}),c()]}),jsxRuntime.jsx(ui.CloseIcon,{size:14,opacity:1,className:"oui-text-base-contrast-54 hover:oui-text-base-contrast",onClick:r=>{r.preventDefault(),r.stopPropagation(),e.onClose(o);}})]})},Bd=e=>jsxRuntime.jsx(ui.Flex,{justify:"center",itemAlign:"center",r:"full",width:18,height:18,className:ui.cn("oui-bg-line-12",e.className),children:jsxRuntime.jsx(ui.Text,{size:"3xs",intensity:80,children:e.children})}),Od=e=>jsxRuntime.jsx("div",{className:ui.cn("oui-mx-[5px] oui-size-2 oui-shrink-0 oui-rounded-full",e.className)});var Vd=5;async function Si(e){let t=new ethers.ethers.JsonRpcProvider(e.network_infos.public_rpc_url),n=await t.getBlockNumber(),s=(await Promise.all(Array.from({length:Vd},(a,c)=>t.getBlock(n-c)))).filter(a=>a?.timestamp!=null).map(a=>Number(a?.timestamp));if(s.length<2)return 0;let i=0;for(let a=0;a<s.length-1;a++){let c=s[a]-s[a+1];i+=c;}return i/(s.length-1)}async function vi(e,t){if(!t)return 0;let n=new defaultSolanaAdapter.DefaultSolanaWalletAdapter;n.active({address:t.accounts[0].address,chain:{id:e.network_infos.chain_id},provider:t.provider});let o=await n.connection.getRecentPerformanceSamples(60),s=0,i=0;for(let a of o)if(a.numSlots>0&&a.samplePeriodSecs>0){let c=a.samplePeriodSecs/a.numSlots;s+=c,i++;}return s/i}async function Ii(e){let{chainId:t,chain:n,wallet:o}=e;return utils.isSolana(t)?vi(n,o):Si(n)}var Fi=[{inputs:[{internalType:"address",name:"_oapp",type:"address"},{internalType:"uint32",name:"_remoteEid",type:"uint32"}],name:"getAppUlnConfig",outputs:[{components:[{internalType:"uint64",name:"confirmations",type:"uint64"},{internalType:"uint8",name:"requiredDVNCount",type:"uint8"},{internalType:"uint8",name:"optionalDVNCount",type:"uint8"},{internalType:"uint8",name:"optionalDVNThreshold",type:"uint8"},{internalType:"address[]",name:"requiredDVNs",type:"address[]"},{internalType:"address[]",name:"optionalDVNs",type:"address[]"}],internalType:"struct UlnConfig",name:"",type:"tuple"}],stateMutability:"view",type:"function"}];var Gd={1:30101,10:30111,42161:30110,137:30109,8453:30184,59144:30183,534352:30214,324:30165,1101:30158,169:30217,5e3:30181,81457:30243,252:30255,34443:30260,167e3:30290,7777777:30195,11155420:40232,421614:40231,84532:40245,300:40305,11155111:40161,17e3:40217,56:30102,204:30202,97:40102,43114:30106,43113:40106,250:30112,100:30145,42220:30125,16666e5:30116,25:30359,388:30360,1088:30151,1284:30126,1285:30167,592:30210,3776:30257,7700:30159,122:30138,2222:30177,82:30176,1313161554:30211,53935:30115,7979:30149,666666666:30267,432204:30118,19011:30265,7332:30215,1992:30182,1559:30173,40:30199,710420:30238,88:30196,37:30216,660279:30236,111188:30237,2525:30234,1380012617:30235,148:30230,2046399126:30273,291:30213,1116:30153,1030:30212,14:30295,1625:30294,81:30285,8217:30150,66:30155,4337:30198,5151706:30197,957:30311,2818:30322,"":30325,6001:30293,7560:30283,8822:30284,1996:30278,1329:30280,60808:30279,5165:30363,69e3:30372,33139:30312,80094:30362,11501:30317,200901:30314,3637:30376,81224:30323,12739:30366,68770:30315,41923:30328,747:30336,42793:30292,1300:30342,2345:30361,43419:30371,295:30316,43111:30329,999:30367,57073:30339,747474:30375,232:30373,1890:30309,1135:30321,4200:30266,6900:30369,8227:30341,3338:30302,98866:30370,1729:30313,30:30333,1868:30340,146:30332,50104:30334,1514:30364,964:30374,55244:30327,1923:30335,239:30377,130:30320,1480:30330,480:30319,196:30274,94524:30291,50:30365,48900:30303,810180:30301,2741:30324,42170:30175,21e6:30331,998:40362,80069:40371,10143:40204,80002:40267,101:30168,103:40168,900900900:30168,901901901:40168,728126428:30420,2494104990:40420};function Ai(e){return Gd[e]}async function Di(e){let t=e.network_infos.chain_id,n=e.network_infos.mainnet,o=n?"https://rpc.orderly.network":"https://testnet-rpc.orderly.org",s=n?"0xCFf08a35A5f27F306e2DA99ff198dB90f13DEF77":"0x3013C32e5F45E69ceA9baD4d96786704C2aE148c",i=Ai(t),a="0x0000000000000000000000000000000000000000",c=new ethers.ethers.JsonRpcProvider(o),m=await new ethers.ethers.Contract(s,Fi,c).getAppUlnConfig(a,i);return Number(m.confirmations||0)}var Ri=e=>{let[t,n]=Qi.useState(0),[o,s]=Qi.useState(0),i=Qi.useRef({}),a=Qi.useRef({}),[,{findByChainId:c}]=hooks.useChains(),{wallet:r}=hooks.useWalletConnector(),m=Qi.useMemo(()=>{if(!e)return;let u=typeof e=="number"?e:Number.parseInt(e);return c(u)},[e,c]);return Qi.useEffect(()=>{if(!m||!r)return;let u=m.network_infos.chain_id;i.current[u]?n(i.current[u]):Ii({chainId:u,chain:m,wallet:r}).then(l=>{console.log("average block time",u,l),n(l),i.current[u]=l;}).catch(l=>{console.error("getBlockTime error",l);}),a.current[u]?s(a.current[u]):Di(m).then(l=>{console.log("confirmations",u,l),s(l),a.current[u]=l;}).catch(l=>{console.error("getChainConfirmations error",l);});},[m,r]),Qi.useMemo(()=>t&&o?t*o:0,[t,o])};function Un(){let e=Date.now();return [e-1e3*60*60,e]}function wr(){let[e,t]=Qi.useState(Un()),[n,o]=Qi.useState(Un()),[s,i]=Qi.useState(0),[a,c]=Qi.useState(0),[r,m]=Qi.useState(0),[p,u]=Qi.useState([]),[l,f]=hooks.useLocalStorage("orderly_deposit_status_hide_notification_time",{[types.AssetHistoryStatusEnum.PENDING]:0,[types.AssetHistoryStatusEnum.COMPLETED]:0}),{state:d}=hooks.useAccount(),y=d.status===types.AccountStatusEnum.EnableTrading||d.status===types.AccountStatusEnum.EnableTradingWithoutConnected,{chainId:h,blockTime:S}=Qi.useMemo(()=>y&&p.length===1?{chainId:p[0].chain_id,blockTime:p[0].block_time}:{chainId:void 0,blockTime:void 0},[y,p]),g=Ri(h),I=Qi.useMemo(()=>{if(g&&S){let v=S/1e3+g-Date.now()/1e3;return console.log("transactionTime",g,v),nf(v)}return 0},[g,S]),[x,{isLoading:k}]=hooks.useAssetsHistory({startTime:e[0],endTime:e[1],page:1,pageSize:200,side:"DEPOSIT"},{shouldUpdateOnWalletChanged:()=>false}),[C]=hooks.useTransferHistory({dataRange:n,side:"IN",size:200,page:1,main_sub_only:false}),F=hooks.useDebouncedCallback(v=>{t(Un());},300);hooks.useWalletTopic({onMessage(v){let{side:E,transStatus:A}=v;E===types.AssetHistorySideEnum.DEPOSIT&&(A===types.AssetHistoryStatusEnum.PENDING||A===types.AssetHistoryStatusEnum.COMPLETED)&&(console.log("deposit status updated",v),F(v));}});let w=hooks.useDebouncedCallback(v=>{o(Un());},300);hooks.useBalanceTopic({onMessage(v){console.log("balance updated",v),w(v);}}),Qi.useEffect(()=>{if(!x||k)return;let v=l[types.AssetHistoryStatusEnum.PENDING],E=l[types.AssetHistoryStatusEnum.COMPLETED],A=x.filter(P=>P.trans_status===types.AssetHistoryStatusEnum.PENDING);v&&(A=A.filter(P=>P.created_time>v));let D=x.filter(P=>P.trans_status===types.AssetHistoryStatusEnum.COMPLETED);E&&(D=D.filter(P=>P.created_time>E)),i(A?.length||0),c(D?.length||0),u(A||[]);},[x,k,l]),Qi.useEffect(()=>{if(!C)return;let v=l[types.AssetHistoryStatusEnum.COMPLETED],E=v?C.filter(A=>A.created_time>v):C;m(E.length);},[C,l]);let T=Qi.useMemo(()=>a+r,[a,r]),b=Qi.useCallback(v=>{f({...l,[v]:Date.now()});},[l]);return {pendingCount:s,completedCount:T,canTrade:y,estimatedTime:I,onClose:b}}function nf(e){let t=Math.max(30,e),n=Math.floor(t/60),o=t%60;return o>0&&o<=30?o=30:o>30&&(n+=1,o=0),n>0?o>0?`${n} m ${o} s`:`${n} m`:`${o} s`}var of=e=>{let t=wr();return jsxRuntime.jsx(yr,{...t,...e})};
|
|
25
25
|
|
|
26
|
-
exports.ActionButton =
|
|
27
|
-
exports.AvailableQuantity =
|
|
28
|
-
exports.BrokerWallet =
|
|
29
|
-
exports.ChainSelect =
|
|
30
|
-
exports.ConvertFormUI =
|
|
31
|
-
exports.ConvertFormWidget =
|
|
32
|
-
exports.DepositAction =
|
|
33
|
-
exports.DepositAndWithdraw =
|
|
34
|
-
exports.DepositAndWithdrawWithDialogId =
|
|
35
|
-
exports.DepositAndWithdrawWithSheetId =
|
|
36
|
-
exports.DepositForm =
|
|
37
|
-
exports.DepositFormWidget =
|
|
38
|
-
exports.DepositStatus =
|
|
39
|
-
exports.DepositStatusWidget =
|
|
40
|
-
exports.ExchangeDivider =
|
|
41
|
-
exports.Fee =
|
|
26
|
+
exports.ActionButton = Ft;
|
|
27
|
+
exports.AvailableQuantity = ce;
|
|
28
|
+
exports.BrokerWallet = ze;
|
|
29
|
+
exports.ChainSelect = qe;
|
|
30
|
+
exports.ConvertFormUI = dr;
|
|
31
|
+
exports.ConvertFormWidget = fr;
|
|
32
|
+
exports.DepositAction = no;
|
|
33
|
+
exports.DepositAndWithdraw = ai;
|
|
34
|
+
exports.DepositAndWithdrawWithDialogId = Tp;
|
|
35
|
+
exports.DepositAndWithdrawWithSheetId = xp;
|
|
36
|
+
exports.DepositForm = zo;
|
|
37
|
+
exports.DepositFormWidget = qo;
|
|
38
|
+
exports.DepositStatus = yr;
|
|
39
|
+
exports.DepositStatusWidget = of;
|
|
40
|
+
exports.ExchangeDivider = me;
|
|
41
|
+
exports.Fee = At;
|
|
42
42
|
exports.QuantityInput = K;
|
|
43
|
-
exports.SwapCoin =
|
|
44
|
-
exports.SwapDepositForm =
|
|
45
|
-
exports.SwapDepositFormWidget =
|
|
46
|
-
exports.TransferDialogId =
|
|
47
|
-
exports.TransferForm =
|
|
48
|
-
exports.TransferFormWidget =
|
|
49
|
-
exports.TransferSheetId =
|
|
50
|
-
exports.TransferWidget =
|
|
51
|
-
exports.Web3Wallet =
|
|
43
|
+
exports.SwapCoin = Nt;
|
|
44
|
+
exports.SwapDepositForm = Jo;
|
|
45
|
+
exports.SwapDepositFormWidget = _p;
|
|
46
|
+
exports.TransferDialogId = od;
|
|
47
|
+
exports.TransferForm = rr;
|
|
48
|
+
exports.TransferFormWidget = sd;
|
|
49
|
+
exports.TransferSheetId = rd;
|
|
50
|
+
exports.TransferWidget = di;
|
|
51
|
+
exports.Web3Wallet = Dt;
|
|
52
52
|
exports.WithdrawForm = Ho;
|
|
53
|
-
exports.WithdrawFormWidget =
|
|
54
|
-
exports.WithdrawTo =
|
|
55
|
-
exports.checkIsAccountId =
|
|
56
|
-
exports.feeDecimalsOffset =
|
|
57
|
-
exports.getDepositKnownErrorMessage =
|
|
58
|
-
exports.getTokenByTokenList =
|
|
59
|
-
exports.getTransferErrorMessage =
|
|
60
|
-
exports.useActionType =
|
|
61
|
-
exports.useChainSelect =
|
|
62
|
-
exports.useConvertForm =
|
|
63
|
-
exports.useDepositAction =
|
|
64
|
-
exports.useDepositFormScript =
|
|
65
|
-
exports.useDepositStatusScript =
|
|
66
|
-
exports.useInputStatus =
|
|
67
|
-
exports.useSwapDepositFormScript =
|
|
68
|
-
exports.useTransferFormScript =
|
|
69
|
-
exports.useWithdrawFormScript =
|
|
53
|
+
exports.WithdrawFormWidget = Zo;
|
|
54
|
+
exports.WithdrawTo = Ye;
|
|
55
|
+
exports.checkIsAccountId = as;
|
|
56
|
+
exports.feeDecimalsOffset = He;
|
|
57
|
+
exports.getDepositKnownErrorMessage = us;
|
|
58
|
+
exports.getTokenByTokenList = ut;
|
|
59
|
+
exports.getTransferErrorMessage = xn;
|
|
60
|
+
exports.useActionType = Et;
|
|
61
|
+
exports.useChainSelect = Rt;
|
|
62
|
+
exports.useConvertForm = cr;
|
|
63
|
+
exports.useDepositAction = Mt;
|
|
64
|
+
exports.useDepositFormScript = Lo;
|
|
65
|
+
exports.useDepositStatusScript = wr;
|
|
66
|
+
exports.useInputStatus = Wt;
|
|
67
|
+
exports.useSwapDepositFormScript = tr;
|
|
68
|
+
exports.useTransferFormScript = ar;
|
|
69
|
+
exports.useWithdrawFormScript = jo;
|
|
70
70
|
//# sourceMappingURL=out.js.map
|
|
71
71
|
//# sourceMappingURL=index.js.map
|