@orderly.network/vaults 2.7.2 → 2.7.3-alpha.0

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.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import H, { useState, useMemo, useEffect } from 'react';
2
- import { useCollateral, useTokenInfo, useAccount, useGetEnv, useTrack, useMutation, useConfig, usePrivateQuery } from '@orderly.network/hooks';
1
+ import Q, { useState, useMemo, useEffect } from 'react';
2
+ import { useCollateral, useMaxWithdrawal, useTokenInfo, useAccount, useGetEnv, useTrack, useMutation, useConfig, usePrivateQuery } from '@orderly.network/hooks';
3
3
  import { create } from 'zustand';
4
4
  import { useTranslation } from '@orderly.network/i18n';
5
5
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -10,8 +10,8 @@ import { Decimal } from '@orderly.network/utils';
10
10
  import { BrokerWallet, QuantityInput, AvailableQuantity } from '@orderly.network/ui-transfer';
11
11
  import { AuthGuard } from '@orderly.network/ui-connector';
12
12
 
13
- var Co=Object.defineProperty;var n=(t,o)=>()=>(t&&(o=t(t=0)),o);var ut=(t,o)=>{for(var e in o)Co(t,e,{get:o[e],enumerable:true});};var ee,oe,lt=n(()=>{ee={prod:"https://api-sv.orderly.org",staging:"https://testnet-api-sv.orderly.org",qa:"https://qa-api-sv-aliyun.orderly.org",dev:"https://dev-api-sv.orderly.org"},oe={prod:"https://app.orderly.network",staging:"https://staging-app.orderly.network",qa:"https://qa-app.orderly.network",dev:"https://dev-app.orderly.network"};});function K(){let t=useGetEnv();return useMemo(()=>ee[t],[t])}var pt=n(()=>{lt();});function _o(t){let o=Wo(t),e=new URLSearchParams;return Object.entries(o).forEach(([r,a])=>{a!=null&&e.append(r,String(a));}),e.toString()}function Wo(t){let o={};return Object.entries(t).forEach(([e,r])=>{r!=null&&(typeof r=="string"||typeof r=="number"||typeof r=="boolean"?o[e]=r:typeof r=="object"&&r!==null&&Object.entries(r).forEach(([s,i])=>{i!=null&&(typeof i=="string"||typeof i=="number"||typeof i=="boolean")&&(o[s]=i);}));}),o}function Do(t,o){if(!o||Object.keys(o).length===0)return t;let e=_o(o);if(!e)return t;let r=t.includes("?")?"&":"?";return `${t}${r}${e}`}var A,ct,No,J,re=n(()=>{A=class extends Error{constructor(e,r,a,s){super(e);this.code=r;this.status=a;this.response=s;this.name="VaultsApiError";}};ct=class{constructor(){this.requestInterceptors=[];this.responseInterceptors=[];this.defaultConfig={timeout:1e4,retry:3,retryDelay:1e3,validateStatus:o=>o>=200&&o<300,headers:{"Content-Type":"application/json"}};}addRequestInterceptor(o){this.requestInterceptors.push(o);}addResponseInterceptor(o){this.responseInterceptors.push(o);}createTimeoutController(o){let e=new AbortController;return setTimeout(()=>e.abort(),o),e}mergeHeaders(o={},e={}){return {...o,...e}}sleep(o){return new Promise(e=>setTimeout(e,o))}async request(o,e={}){let a={...this.defaultConfig,...e,headers:this.mergeHeaders(this.defaultConfig.headers,e.headers)};for(let V of this.requestInterceptors)a=await V(a);let s=o;typeof o=="string"&&!o.startsWith("http")&&a.baseURL&&(s=`${a.baseURL}${o.startsWith("/")?"":"/"}${o}`),a.params&&(s=typeof s=="string"?Do(s,a.params):s);let i;a.timeout&&a.timeout>0&&(i=this.createTimeoutController(a.timeout),a.signal=i.signal);let{retry:u=0,retryDelay:l=1e3,validateStatus:f,params:v,baseURL:g,timeout:b,data:x,method:w,...L}=a,d={...L,method:w};x!==void 0&&(d.body=typeof x=="string"?x:JSON.stringify(x));let S;for(let V=0;V<=u;V++)try{let h=await fetch(s,d);if(!f(h.status)){let P=h.statusText,te;try{let nt=await h.json();P=nt.message||nt.code||P,te=nt.code;}catch{}throw new A(P,te,h.status,h)}let jt;try{jt=await h.json();}catch{throw new A("Invalid JSON response","PARSE_ERROR",h.status,h)}let _=jt;for(let P of this.responseInterceptors)_=await P(h,_);if(typeof _=="object"&&_!==null&&"success"in _){let P=_;if(P.success)return P.data;throw new A(P.message||"API request failed",P.code,h.status,h)}return _}catch(h){if(S=h instanceof Error?h:new Error(String(h)),h instanceof A||h?.name==="AbortError"||V===u)throw S;V<u&&await this.sleep(l);}finally{i?.abort();}throw S}async get(o,e={}){return this.request(o,{...e,method:"GET"})}async post(o,e={}){return this.request(o,{...e,method:"POST"})}async put(o,e={}){return this.request(o,{...e,method:"PUT"})}async delete(o,e={}){return this.request(o,{...e,method:"DELETE"})}async patch(o,e={}){return this.request(o,{...e,method:"PATCH"})}},No=new ct,J=No;});async function ae(t){return J.get("/v1/public/strategy_vault/vault/info",{baseURL:t})}async function ie(t,o){return J.get("/v1/public/strategy_vault/vault/performance",{params:o,baseURL:t})}async function se(t,o){return J.get("/v1/public/strategy_vault/lp/info",{params:o,baseURL:t})}var dt=n(()=>{re();});var m,ne,Pa,La,Sa,Ca,Ta,Ra,X,_a,Wa,Da,Na,Q=n(()=>{dt();m=create((t,o)=>({baseUrl:"",vaultInfo:{data:[],loading:false,error:null,lastUpdated:null},vaultLpPerformance:{data:{},loading:false,error:null,lastUpdated:null,params:null},vaultLpInfo:{data:{},loading:false,error:null,lastUpdated:null,params:null},vaultsPageConfig:null,setBaseUrl:e=>{t({baseUrl:e});},fetchVaultInfo:async e=>{let r=o(),a=e||r.baseUrl;if(!a){t(s=>({vaultInfo:{...s.vaultInfo,error:"Base URL is required"}}));return}t(s=>({baseUrl:e||s.baseUrl,vaultInfo:{...s.vaultInfo,loading:true,error:null}}));try{let s=await ae(a);t(i=>({vaultInfo:{...i.vaultInfo,data:s.rows,loading:!1,error:null,lastUpdated:Date.now()}}));}catch(s){t(i=>({vaultInfo:{...i.vaultInfo,loading:false,error:s instanceof Error?s.message:"Failed to fetch vault info"}}));}},refreshVaultInfo:async()=>{let e=o();e.vaultInfo.lastUpdated&&e.baseUrl&&await e.fetchVaultInfo();},fetchVaultLpPerformance:async(e,r)=>{let a=o(),s=r||a.baseUrl;if(!s){t(i=>({vaultLpPerformance:{...i.vaultLpPerformance,error:"Base URL is required"}}));return}t(i=>({baseUrl:r||i.baseUrl,vaultLpPerformance:{...i.vaultLpPerformance,loading:true,error:null,params:e}}));try{let i=await ie(s,e);t(u=>({vaultLpPerformance:{...u.vaultLpPerformance,data:{...u.vaultLpPerformance.data,[e.vault_id]:i.rows},loading:!1,error:null,lastUpdated:Date.now()}}));}catch(i){t(u=>({vaultLpPerformance:{...u.vaultLpPerformance,loading:false,error:i instanceof Error?i.message:"Failed to fetch vault LP performance"}}));}},refreshVaultLpPerformance:async()=>{let e=o();e.vaultLpPerformance.lastUpdated&&e.vaultLpPerformance.params&&e.baseUrl&&await e.fetchVaultLpPerformance(e.vaultLpPerformance.params);},fetchVaultLpInfo:async(e,r)=>{let a=o(),s=r||a.baseUrl;if(!s){t(i=>({vaultLpInfo:{...i.vaultLpInfo,error:"Base URL is required"}}));return}t(i=>({baseUrl:r||i.baseUrl,vaultLpInfo:{...i.vaultLpInfo,loading:true,error:null,params:e}}));try{let i=await se(s,e);t(u=>({vaultLpInfo:{...u.vaultLpInfo,data:{...u.vaultLpInfo.data,[e.vault_id]:i.rows},loading:!1,error:null,lastUpdated:Date.now()}}));}catch(i){t(u=>({vaultLpInfo:{...u.vaultLpInfo,loading:false,error:i instanceof Error?i.message:"Failed to fetch vault LP info"}}));}},refreshVaultLpInfo:async()=>{let e=o();e.vaultLpInfo.lastUpdated&&e.vaultLpInfo.params&&e.baseUrl&&await e.fetchVaultLpInfo(e.vaultLpInfo.params);},setVaultsPageConfig:e=>{t({vaultsPageConfig:e});}})),ne=()=>m(t=>t.vaultInfo),Pa=()=>m(t=>t.vaultLpPerformance),La=()=>m(t=>t.vaultLpInfo),Sa=()=>m(t=>({fetchVaultInfo:t.fetchVaultInfo,refreshVaultInfo:t.refreshVaultInfo})),Ca=()=>m(t=>({fetchVaultLpPerformance:t.fetchVaultLpPerformance,refreshVaultLpPerformance:t.refreshVaultLpPerformance})),Ta=()=>m(t=>({fetchVaultLpInfo:t.fetchVaultLpInfo,refreshVaultLpInfo:t.refreshVaultLpInfo})),Ra=t=>m(o=>o.vaultLpPerformance.data[t]),X=t=>m(o=>o.vaultLpInfo.data[t]),_a=()=>m(t=>Object.keys(t.vaultLpPerformance.data)),Wa=()=>m(t=>Object.keys(t.vaultLpInfo.data)),Da=()=>m(t=>Object.values(t.vaultLpPerformance.data).flat()),Na=()=>m(t=>Object.values(t.vaultLpInfo.data).flat());});var O=n(()=>{Q();});var ft,gt=n(()=>{ft=t=>{let{supportVaults:o,headerImage:e,brokerName:r}=t,{t:a}=useTranslation(),s=useMemo(()=>jsx("div",{className:"oui-flex oui-items-center",children:o.map((u,l)=>jsx("img",{src:`https://oss.orderly.network/static/network_logo/${u.chain_id}.png`,alt:u.chain_id,className:"oui-relative oui-size-5",style:{marginLeft:l>0?"-4px":"0",zIndex:o.length-l}},u.chain_id))}),[o]),i=useMemo(()=>typeof e=="string"?jsx("img",{src:e,alt:"header",className:"oui-bg-contain oui-bg-center oui-bg-no-repeat"}):e,[e]);return jsxs("div",{className:"oui-flex oui-items-center oui-justify-between",children:[jsxs("div",{className:"oui-flex oui-max-w-[726px] oui-flex-col",children:[jsxs("div",{className:"oui-flex oui-items-center oui-gap-1 oui-text-[18px] oui-font-normal oui-text-base-contrast-54",children:[a("vaults.availableOn")," ",s]}),jsx("div",{className:"oui-mb-6 oui-mt-8 oui-text-5xl oui-font-bold oui-leading-[44px] oui-text-base-contrast",children:a("vaults.header.title")}),jsx("div",{className:"oui-text-xl oui-font-normal oui-text-base-contrast-54",children:a("vaults.header.description",{brokerName:r})})]}),jsx("div",{className:"oui-h-[238px] oui-w-[360px]",children:i})]})};});var de,me=n(()=>{de=t=>{let{supportVaults:o,headerImage:e}=t,{t:r}=useTranslation(),a=useConfig("brokerName"),s=useMemo(()=>jsx("div",{className:"oui-flex oui-items-center",children:o.map((u,l)=>jsx("img",{src:`https://oss.orderly.network/static/network_logo/${u.chain_id}.png`,alt:u.chain_id,className:"oui-relative oui-size-[18px]",style:{marginLeft:l>0?"-4px":"0",zIndex:o.length-l}},u.chain_id))}),[o]),i=useMemo(()=>typeof e=="string"?jsx("img",{src:e,alt:"header",className:"oui-bg-contain oui-bg-center oui-bg-no-repeat"}):e,[e]);return jsxs("div",{className:"oui-relative",children:[jsxs("div",{className:"oui-flex oui-flex-col",children:[jsxs("div",{className:"oui-flex oui-items-center oui-gap-1 oui-text-2xs oui-font-semibold oui-text-base-contrast-54",children:[r("vaults.availableOn")," ",s]}),jsx("div",{className:"oui-mb-4 oui-mt-6 oui-min-h-[56px] oui-max-w-[calc(100%-187px)] oui-text-xl oui-font-bold oui-text-base-contrast",children:r("vaults.header.title")}),jsx("div",{className:"oui-max-w-[450px] oui-text-2xs oui-font-normal oui-text-base-contrast-54",children:r("vaults.header.description",{brokerName:a})})]}),jsx("div",{className:"oui-absolute -oui-right-3 -oui-top-4 oui-h-[124px] oui-w-[187px]",children:i})]})};});var ht,xt=n(()=>{O();ht=()=>{let{vaultInfo:t,vaultsPageConfig:o}=m(),e=useConfig("brokerName");return {supportVaults:useMemo(()=>{let a=[];return t.data.forEach(s=>{a.push(...s.supported_chains);}),uniqBy(s=>s.chain_id,a)},[t.data]),headerImage:o?.headerImage,brokerName:e}};});var zo,ge=n(()=>{gt();me();xt();zo=()=>{let t=ht(),{isMobile:o}=useScreen();return o?jsx(de,{...t}):jsx(ft,{...t})};});var ve={};ut(ve,{VaultsHeaderDesktop:()=>ft,VaultsHeaderWidget:()=>zo,useVaultsHeaderScript:()=>ht});var bt=n(()=>{ge();gt();xt();});var xe,yt,ye=n(()=>{xe=t=>{let{t:o}=useTranslation(),{isMobile:e}=useScreen(),{vaultsInfo:r}=t;return jsxs("div",{className:cn("oui-flex oui-items-center ","oui-via-21.6% oui-via-83.23% oui-bg-gradient-to-r oui-from-[rgba(var(--oui-gradient-neutral-end)/1)] oui-to-[rgba(var(--oui-gradient-neutral-start)/1)]",e?"oui-gap-3 oui-rounded-xl oui-p-3":"oui-gap-6 oui-rounded-2xl oui-p-6"),children:[jsx(yt,{title:o("vaults.introduction.tvl"),value:r.tvl,textProps:{currency:"$"},isMobile:e}),jsx(Divider,{direction:"vertical",className:cn("oui-bg-white/[0.12]",e?"oui-h-[44px]":"oui-h-[64px]")}),jsx(yt,{title:o("common.vaults"),value:r.vaultsCount,isMobile:e}),jsx(Divider,{direction:"vertical",className:cn("oui-bg-white/[0.12]",e?"oui-h-[44px]":"oui-h-[64px]")}),jsx(yt,{title:o("vaults.introduction.depositors"),value:r.lpCount,isMobile:e})]})},yt=t=>{let{title:o,value:e,textProps:r,isMobile:a}=t;return jsxs("div",{className:cn("oui-flex oui-flex-1 oui-flex-col oui-items-center ",a?"oui-gap-0.5":"oui-gap-3"),children:[jsx("div",{className:cn("oui-font-normal oui-text-base-contrast-54",a?"oui-text-2xs":"oui-text-base"),children:o}),jsx(Text.numeral,{className:cn("oui-font-semibold",a?"oui-text-base":"oui-text-xl"),dp:0,...r,children:e})]})};});var Ie,Ve=n(()=>{O();Ie=()=>{let{vaultInfo:t}=m();return {vaultsInfo:useMemo(()=>{let e=t.data.reduce((a,s)=>a+s.tvl,0),r=t.data.reduce((a,s)=>a+s.lp_counts,0);return {tvl:e,lpCount:r,vaultsCount:t.data.length}},[t.data])}};});var Yo,we=n(()=>{ye();Ve();Yo=()=>{let t=Ie();return jsx(xe,{...t})};});var Pe={};ut(Pe,{VaultsIntroductionWidget:()=>Yo});var It=n(()=>{we();});var Vt,D,C=n(()=>{Vt=(e=>(e.LP="lp",e.SP="sp",e))(Vt||{}),D=(e=>(e.DEPOSIT="deposit",e.WITHDRAWAL="withdrawal",e))(D||{});});var Le,Se=n(()=>{Le={prod:{vaultProtocol:"0x70Fe7d65Ac7c1a1732f64d2E6fC0E33622D0C991",vaultCrossChainManager:"0x58c9747ccAAE56182C7d9c814F5eaca395D8c93B",vaultPvLedger:"0xB7E792f0da9104A27288421583748215AefFFd78",vaultId:"0xa3426a1cef4052c056fced18099be899d93f1427d13b9a1df1806b91fad3d0c2",spAddress:"0x8bAA309D93FFFB54A64444FD98E10d92D4d9Eb22"},staging:{vaultProtocol:"0x6B6059259B4096ea6420Eb5e08a22214d2303aE9",vaultCrossChainManager:"0x510dD61a988797114A9a51b0d228E894037BD9cb",vaultPvLedger:"0x20AFe57C75D1C548A9Da265fBFC5416c43783589",vaultId:"0x95514fb145354f07bb889f711e856481b5ed52fce52200148aa834b3b29544c8",spAddress:"0xbddfd22ef902a4898147a1ca5b985d03c62a8c41"},qa:{vaultProtocol:"0xF5b12d5F1db6DAB8C7c0561152b5e4bb8fD5eb38",vaultCrossChainManager:"0xB8a3245407571804b4db5219cBe8D9F2EA1828DE",vaultPvLedger:"0x15c9B5705CaCB4eb140dfd7a8c651E18027e5146",vaultId:"0x4812cbb88f4025372a3e2acd10d02b5f680d7d1fe78091f6cfde80122c861099",spAddress:"0xbddfd22ef902a4898147a1ca5b985d03c62a8c41"},dev:{vaultProtocol:"0xA292E1126703F804FBD5671F034c7226538C54C7",vaultCrossChainManager:"0x7568ACC147Af12b02713143C3177D7e89C28A9A6",vaultPvLedger:"0x2a5909498d85650744dD5CF964F2136962e5AE6E",vaultId:"0x4812cbb88f4025372a3e2acd10d02b5f680d7d1fe78091f6cfde80122c861099",spAddress:"0xbddfd22ef902a4898147a1ca5b985d03c62a8c41"}};});var Ce,Te=n(()=>{C();Ce=(t,o)=>t==="deposit"&&o==="lp"?0:t==="withdrawal"&&o==="lp"?1:t==="deposit"&&o==="sp"?2:t==="withdrawal"&&o==="sp"?3:1;});var k,Z=n(()=>{k=t=>{let{type:o,vaultId:e}=t,{data:r,mutate:a}=usePrivateQuery(`/v1/account_sv_transaction_history?type=${o}&vault_id=${e}&size=1`,{formatter:i=>i?.rows||EMPTY_LIST,revalidateOnFocus:false});return {latestOperation:useMemo(()=>r?.[0],[r]),refetch:a}};});var j,wt=n(()=>{Se();C();Te();Z();j=t=>{let{account:o,state:e}=useAccount(),r=useGetEnv(),{track:a}=useTrack(),s=useMemo(()=>Le[r].vaultPvLedger,[r]),[i]=useMutation("/v1/sv_operation_request"),{refetch:u}=k({type:t.type,vaultId:t.vaultId}),l=useMemo(()=>e?.accountId!==e?.mainAccountId,[e?.accountId,e?.mainAccountId]);return {handleOperation:async({amount:v,vaultId:g})=>{if(e.accountId!==e.mainAccountId){toast.error("Please switch to the main account to perform this operation.");return}if(t.type==="deposit"&&new Decimal(v).lt(10)){toast.error("Deposit amount is less than the minimum 10 USDC.");return}let x={payloadType:Ce(t.type,"lp"),amount:new Decimal(Number(v)).mul(10**6).toString(),vaultId:g,token:"USDC",domain:{name:"Orderly",version:"1",chainId:e.connectWallet?.chainId,verifyingContract:s}},{message:w,signatured:L}=await o.generateDexRequest(x);try{let d=await i({message:{...w,chainId:e.connectWallet?.chainId},signature:L,userAddress:e.address,verifyingContract:s});if(!d.success){t.type==="deposit"?a(TrackerEventName.vaultDepositFailed,{msg:d.message}):a(TrackerEventName.vaultWithdrawFailed,{msg:d.message}),toast.error(d.message);return}await u(),t.type==="deposit"?a(TrackerEventName.vaultDepositSuccess,{quantity:v,vaultId:g}):a(TrackerEventName.vaultWithdrawSuccess,{quantity:v,vaultId:g}),toast.success(`${t.type} successful`);}catch(d){let S=d instanceof Error?d.message:String(d);t.type==="deposit"?a(TrackerEventName.vaultDepositFailed,{msg:S}):a(TrackerEventName.vaultWithdrawFailed,{msg:S}),toast.error(S);}},disabledOperation:l}};});var Pt,We,De=n(()=>{Q();C();wt();Pt=10,We=t=>{let{vaultId:o}=t,[e,r]=useState(""),{vaultInfo:a}=m(),{handleOperation:s,disabledOperation:i}=j({type:"deposit",vaultId:o}),{holding:u}=useCollateral(),{t:l}=useTranslation(),f=useMemo(()=>u?.find(V=>V.token==="USDC")?.holding||0,[u]),v=useMemo(()=>a.data.find(h=>h.vault_id===o)?.est_main_share_price,[a.data,o]),g=useMemo(()=>!v||!e?"-":new Decimal(e).div(v).toString(),[e,v]),b=async()=>{!g||g==="-"||(await s({amount:e,vaultId:o}),r(""));},x=useTokenInfo("USDC"),w=useMemo(()=>({...x,display_name:x?.token,symbol:x?.token}),[x]),L=V=>{if(V&&new Decimal(V).gt(f)){r(f.toString());return}r(V);},d=useMemo(()=>!e||e==="0"||i||!!e&&new Decimal(e).lt(Pt),[e,i]),S=useMemo(()=>e&&new Decimal(e).lt(Pt)?{hintMessage:l("vaults.operation.error.minDeposit",{amount:Pt}),status:"error"}:{hintMessage:"",status:""},[e,l]);return {quantity:e,onQuantityChange:L,sourceToken:w,maxQuantity:f,sharePrice:v,shares:g,handleDeposit:b,vaultId:o,disabledDeposit:d,disabledOperation:i,inputHint:S}};});var Ne,Ae=n(()=>{C();Z();Ne=({vaultId:t})=>{let{latestOperation:o}=k({type:"deposit",vaultId:t});return {latestOperation:o}};});var et,Lt=n(()=>{et=t=>t==="completed"?"success":t==="rejected"||t==="failed"?"danger":"primary";});var Ue,Ee=n(()=>{Lt();Ue=t=>{let{latestOperation:o}=t,{t:e}=useTranslation();return o?jsxs("div",{className:"oui-mt-3 oui-flex oui-flex-col oui-gap-2",children:[jsx("div",{className:"oui-text-xs oui-font-normal oui-text-base-contrast-54",children:e("vaults.deposit.latestDeposit")}),jsx("div",{className:"oui-h-[44px] oui-rounded-lg oui-border oui-border-white/[0.12] oui-p-3",children:jsxs("div",{className:"oui-flex oui-items-center",children:[jsx("div",{className:cn("oui-mr-1 oui-size-1 oui-rounded-full",o.status==="completed"&&"oui-bg-success",o.status==="rejected"&&"oui-bg-danger",o.status==="failed"&&"oui-bg-danger",(o.status==="pending"||o.status==="new")&&"oui-bg-primary")}),jsx(Text,{color:et(o.status),className:"oui-text-xs oui-font-normal",children:o.status.slice(0,1).toUpperCase()+o.status.slice(1)}),jsx(TokenIcon,{name:"USDC",className:"oui-ml-auto oui-mr-1 oui-size-4"}),jsx(Text.numeral,{className:"oui-text-sm oui-font-semibold oui-text-base-contrast-80",children:o.amount_change})]})})]}):null};});var ke,St=n(()=>{Ae();Ee();ke=t=>{let{vaultId:o}=t,e=Ne({vaultId:o});return jsx(Ue,{...e})};});var qe,Me=n(()=>{St();qe=t=>{let{quantity:o,onQuantityChange:e,sourceToken:r,maxQuantity:a,shares:s,handleDeposit:i,vaultId:u,disabledDeposit:l,disabledOperation:f,inputHint:v}=t,{t:g}=useTranslation();return jsxs("div",{children:[jsx(BrokerWallet,{}),jsx(Box,{mt:3,mb:1,children:jsx(QuantityInput,{value:o,onValueChange:e,token:{...r,precision:6},testId:"oui-testid-vault-deposit-dialog-quantity-input",hintMessage:v.hintMessage,status:v.status})}),jsx(AvailableQuantity,{maxQuantity:a?.toString()||"0",onClick:()=>{e(a?.toString()||"0");}}),jsxs(Box,{mt:5,mb:1,className:"oui-flex oui-items-center oui-justify-between oui-text-sm oui-font-semibold oui-text-base-contrast-54",children:[jsx("div",{children:g("vaults.deposit.estShares")}),jsx(Text.numeral,{dp:6,padding:false,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-54",children:g("vaults.deposit.shares")}),children:s})]}),jsxs(Box,{mb:5,className:"oui-flex oui-items-center oui-justify-between oui-text-sm oui-font-semibold oui-text-base-contrast-54",children:[jsx("div",{children:g("vaults.deposit.lockupDuration")}),jsx(Text.numeral,{suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-54",children:"hrs"}),children:"48"})]}),f&&jsx("div",{className:"oui-mt-3 oui-text-center",children:jsx(Text,{color:"warning",className:"oui-text-sm oui-font-semibold",children:g("vaults.operation.error.switchAccount")})}),jsx(Button,{fullWidth:true,color:"primary",disabled:l,className:"oui-mt-3",onClick:i,children:g("common.deposit")}),jsx(ke,{vaultId:u})]})};});var Be,ze=n(()=>{De();Me();Be=t=>{let{vaultId:o}=t,e=We({vaultId:o});return jsx(qe,{...e})};});var _t=n(()=>{ze();});var Qe,$e=n(()=>{O();C();wt();Qe=t=>{let{vaultId:o}=t,[e,r]=useState(""),{handleOperation:a,disabledOperation:s}=j({type:"withdrawal",vaultId:o}),i=X(o),{vaultInfo:u}=m(),l=useMemo(()=>u.data.find(L=>L.vault_id===o)?.est_main_share_price||0,[u.data,o]),f=i?.[0]?.available_main_shares||0,v=useMemo(()=>!e||!l?"-":new Decimal(e).mul(l).toString(),[e,l]),g=async()=>{await a({amount:e,vaultId:o});},b=w=>{w&&new Decimal(w).gt(f)?r(f.toString()):r(w);},x=useMemo(()=>!e||e==="0"||s,[e,s]);return {quantity:e,onQuantityChange:b,maxQuantity:f,handleWithdraw:g,vaultId:o,sharePrice:l,receivingAmount:v,disabledWithdraw:x,disabledOperation:s}};});var Ge,Ye=n(()=>{C();Z();Ge=({vaultId:t})=>{let{latestOperation:o}=k({type:"withdrawal",vaultId:t});return {latestOperation:o}};});var Dt,Ke,Nt,yr,ot,At=n(()=>{Dt=()=>jsx("div",{className:"oui-size-2 oui-rounded-full oui-bg-white/[0.54]"}),Ke=()=>jsx("div",{className:"oui-h-px oui-flex-1 oui-bg-white/[0.2]"}),Nt=({children:t,className:o})=>jsx("div",{className:cn("oui-flex-1 oui-text-2xs oui-font-normal oui-text-base-contrast-80",o),children:t}),yr=()=>{let{t}=useTranslation();return jsxs(Fragment,{children:[jsxs("div",{className:"oui-flex oui-items-center",children:[jsx(Dt,{}),jsx("div",{className:"oui-flex-1",children:jsx(Ke,{})}),jsx(Dt,{}),jsx("div",{className:"oui-flex-1",children:jsx(Ke,{})}),jsx(Dt,{})]}),jsxs("div",{className:"oui-mt-1 oui-flex oui-justify-between",children:[jsx(Nt,{children:t("vaults.withdraw.process.initiate")}),jsx(Nt,{className:"oui-text-center",children:t("vaults.withdraw.process.vaultProcess")}),jsx(Nt,{className:"oui-text-right",children:t("vaults.withdraw.process.transferred")})]})]})},ot=()=>{let{t}=useTranslation();return jsxs("div",{className:"oui-flex oui-flex-col oui-gap-2 oui-rounded-xl oui-border oui-border-white/[0.12] oui-p-3",children:[jsxs("div",{className:"oui-flex oui-items-center oui-justify-between oui-text-sm oui-font-semibold oui-text-base-contrast-54",children:[jsx("div",{children:t("vaults.withdraw.process.withdrawProcess")}),jsx(Text,{color:"primary",children:t("vaults.withdraw.process.upTo")})]}),jsx(yr,{})]})};});var je,to=n(()=>{Lt();At();je=t=>{let{latestOperation:o}=t,{t:e}=useTranslation();return o?jsxs("div",{className:"oui-mt-3 oui-flex oui-flex-col oui-gap-2",children:[jsx("div",{className:"oui-text-xs oui-font-normal oui-text-base-contrast-54",children:e("vaults.withdraw.latestWithdraw")}),jsx("div",{className:"oui-h-[44px] oui-rounded-lg oui-border oui-border-white/[0.12] oui-p-3",children:jsxs("div",{className:"oui-flex oui-items-center",children:[jsx("div",{className:cn("oui-mr-1 oui-size-1 oui-rounded-full",o.status==="completed"&&"oui-bg-success",o.status==="rejected"&&"oui-bg-danger",o.status==="failed"&&"oui-bg-danger",(o.status==="pending"||o.status==="new")&&"oui-bg-primary")}),jsx(Text,{color:et(o.status),className:"oui-text-xs oui-font-normal",children:o.status.slice(0,1).toUpperCase()+o.status.slice(1)}),jsx(TokenIcon,{name:"USDC",className:"oui-ml-auto oui-mr-1 oui-size-4"}),jsx(Text.numeral,{className:"oui-text-sm oui-font-semibold oui-text-base-contrast-80",children:o.amount_change||"-"})]})})]}):jsx(ot,{})};});var eo,oo=n(()=>{Ye();to();eo=t=>{let{vaultId:o}=t,e=Ge({vaultId:o});return jsx(je,{...e})};});var Ot=n(()=>{oo();});var io,rt,so,Ar,Or,no=n(()=>{Ot();At();io=t=>{let{quantity:o,onQuantityChange:e,maxQuantity:r,handleWithdraw:a,vaultId:s,sharePrice:i,receivingAmount:u,disabledWithdraw:l,disabledOperation:f}=t,{isMobile:v}=useScreen(),g=()=>{modal.show(v?Or:Ar,{quantity:o,receivingAmount:u,handleWithdraw:a});},{t:b}=useTranslation();return jsxs("div",{children:[jsx(BrokerWallet,{}),jsx(Box,{mt:3,mb:1,children:jsx(QuantityInput,{value:o,onValueChange:e,token:{display_name:"Shares",precision:6},testId:"oui-testid-vault-withdraw-dialog-quantity-input"})}),jsx(AvailableQuantity,{maxQuantity:r,onClick:()=>{e(r.toString());}}),jsx(rt,{label:b("vaults.withdraw.estPricePerShare"),currency:"$",value:i||"-",className:"oui-mb-1 oui-mt-5"}),jsx(rt,{label:b("vaults.withdraw.estReceivingAmount"),value:u,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-36",children:"USDC"}),className:"oui-mb-5"}),f&&jsx("div",{className:"oui-mt-3 oui-text-center",children:jsx(Text,{color:"warning",className:"oui-text-sm oui-font-semibold",children:b("vaults.operation.error.switchAccount")})}),jsx(Button,{fullWidth:true,color:"primary",disabled:l,className:"oui-mt-3",onClick:g,children:b("common.withdraw")}),jsx("div",{className:"oui-mt-3",children:jsx(eo,{vaultId:s})})]})},rt=({label:t,value:o,suffix:e,currency:r,className:a})=>jsxs("div",{className:cn("oui-flex oui-items-center oui-justify-between oui-text-sm oui-font-semibold oui-text-base-contrast-54",a),children:[jsx("div",{children:t}),jsx(Text.numeral,{currency:r,className:"oui-text-base-contrast",suffix:e,children:o})]}),so=t=>{let{quantity:o,receivingAmount:e,handleWithdraw:r,hide:a}=t,{t:s}=useTranslation();return jsxs("div",{className:"oui-flex oui-flex-col",children:[jsx(rt,{label:s("vaults.withdraw.dialog.withdrawalAmount"),value:o,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-36",children:"Shares"})}),jsx(rt,{label:s("vaults.withdraw.dialog.estimatedReceiving"),value:e,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-36",children:"USDC"}),className:"oui-mt-1"}),jsx(Text,{color:"warning",className:"oui-my-5 oui-text-sm oui-font-semibold",children:s("vaults.withdraw.dialog.note")}),jsx(ot,{}),jsx(Button,{fullWidth:true,color:"primary",className:"oui-mt-5",onClick:async()=>{await r(),a?.();},children:s("vaults.withdraw.dialog.initiateWithdrawal")})]})},Ar=modal.create(({quantity:t,receivingAmount:o,handleWithdraw:e})=>{let{visible:r,hide:a,onOpenChange:s}=useModal(),{t:i}=useTranslation();return jsx(SimpleDialog,{title:i("vaults.withdraw.dialog.title"),open:r,onOpenChange:s,children:jsx(so,{quantity:t,receivingAmount:o,handleWithdraw:e,hide:a})})}),Or=modal.create(({quantity:t,receivingAmount:o,handleWithdraw:e})=>{let{visible:r,hide:a,onOpenChange:s}=useModal(),{t:i}=useTranslation();return jsx(SimpleSheet,{title:i("vaults.withdraw.dialog.title"),open:r,onOpenChange:s,children:jsx(so,{quantity:t,receivingAmount:o,handleWithdraw:e,hide:a})})});});var uo,lo=n(()=>{$e();no();uo=t=>{let{vaultId:o}=t,e=Qe({vaultId:o});return jsx(io,{...e})};});var kt=n(()=>{lo();});var qt,Mt,co,Bt=n(()=>{_t();kt();qt="VaultDepositAndWithdrawWithDialogId",Mt="VaultDepositAndWithdrawWithSheetId",co=t=>{let[o,e]=useState(t.activeTab||"deposit"),{vaultId:r}=t,{t:a}=useTranslation();return jsxs(Tabs,{value:o,onValueChange:e,variant:"contained",size:"lg",classNames:{tabsList:"oui-px-0",tabsContent:"oui-pt-5"},children:[jsx(TabPanel,{title:a("common.deposit"),icon:jsx(ArrowDownSquareFillIcon,{}),value:"deposit",children:jsx(Be,{vaultId:r})}),jsx(TabPanel,{title:a("common.withdraw"),icon:jsx(ArrowUpSquareFillIcon,{}),value:"withdraw",children:jsx(uo,{vaultId:r})})]})};registerSimpleDialog(qt,co,{size:"md",classNames:{content:"oui-border oui-border-line-6"}});registerSimpleSheet(Mt,co);});var mo,yn,In,zt=n(()=>{mo="https://oss.orderly.network/static/symbol_logo/ORDER.png",yn="Orderly OmniVault",In="Earn passive yields effortlessly, no trading expertise required. OmniVault deploys market-making strategies, taking on liquidations, and accrue platform fees.";});var fo,Ht=n(()=>{lt();pt();Q();Bt();zt();fo=t=>{let{t:o}=useTranslation(),e=X(t.vault_id),{fetchVaultLpInfo:r}=m(),a=useGetEnv(),{isMobile:s}=useScreen(),{state:i}=useAccount(),u=K(),{holding:l}=useCollateral(),f=useMemo(()=>l?.find(d=>d.token==="USDC")?.holding||0,[l]);useEffect(()=>{!i.address||!u||!t.vault_id||r({vault_id:t.vault_id,wallet_address:i.address},u);},[t.vault_id,i.address,u]);let v=useMemo(()=>f,[f]),g=useMemo(()=>{let d=e?.[0];return d?{deposits:d.lp_tvl-d.potential_pnl,earnings:d.potential_pnl}:{deposits:"--",earnings:"--"}},[e]),b=useMemo(()=>i.chainNamespace==="EVM",[i.chainNamespace]),x=useMemo(()=>i.chainNamespace!=="EVM"&&i.accountId!==i.mainAccountId,[i.chainNamespace,i.accountId,i.mainAccountId]),w=d=>{modal.show(s?Mt:qt,{activeTab:d,vaultId:t.vault_id});},L=()=>{let d=oe[a];window.open(`${d}/vaults`,"_blank");};return {title:o("vaults.card.orderly.title"),description:o("vaults.card.orderly.description"),icon:mo,vaultInfo:t,lpInfo:g,isEVMConnected:b,openDepositAndWithdraw:w,availableBalance:v,openVaultWebsite:L,isWrongNetwork:x}};});var xo,go,$t,oa,Yt=n(()=>{xo=t=>{let{title:o,vaultInfo:e,lpInfo:r,description:a,isEVMConnected:s,openDepositAndWithdraw:i,availableBalance:u,openVaultWebsite:l}=t,{t:f}=useTranslation(),{isMobile:v}=useScreen(),g=useMemo(()=>jsx("div",{className:"oui-flex oui-items-center",children:e.supported_chains.map((b,x)=>jsx("img",{src:`https://oss.orderly.network/static/network_logo/${b.chain_id}.png`,alt:b.chain_id,className:cn("oui-relative",v?"oui-size-[18px]":"oui-size-5"),style:{marginLeft:x>0?"-4px":"0",zIndex:e.supported_chains.length-x}},b.chain_id))}),[e.supported_chains]);return jsxs("div",{className:"oui-relative oui-h-[388px] oui-overflow-hidden oui-rounded-2xl oui-border oui-border-solid oui-border-white/[0.12] oui-bg-base-9",children:[jsx("div",{style:{position:"absolute",top:0,right:0,width:"100%",height:"180px",backdropFilter:"blur(2px)",zIndex:1,background:"linear-gradient(180deg, rgba(44, 5, 69, 0.80) 0%, rgba(19, 21, 25, 0.80) 63.46%, #131519 100%)"}}),jsx("img",{src:"/vaults/orderly_vault_card_bg.png",alt:"",style:{position:"absolute",top:0,right:0,width:"100%",height:"180px",zIndex:0}}),jsxs("div",{className:"oui-absolute oui-left-0 oui-top-0 oui-z-20 oui-flex oui-flex-col oui-gap-3 oui-p-6",children:[jsxs("div",{className:"oui-flex oui-items-center oui-gap-2",children:[jsx("img",{src:"https://oss.orderly.network/static/symbol_logo/ORDER.png",alt:"",className:"oui-size-8"}),jsx("div",{className:"oui-text-[18px] oui-font-semibold oui-text-white",children:o}),g,jsx("div",{className:"oui-z-50 oui-ml-auto oui-cursor-pointer",onClick:l,children:jsx(ArrowRightUpSquareFillIcon,{color:"white",width:18,height:18,viewBox:"0 0 18 18"})})]}),jsx("div",{className:"oui-text-2xs oui-font-normal oui-leading-[18px] oui-text-base-contrast-54",children:a}),jsxs("div",{className:"oui-flex oui-items-center oui-gap-2",children:[jsx(go,{label:f("vaults.card.tvl"),value:e.tvl,textProps:{currency:"$",dp:0,type:"numeral"}}),jsx(go,{label:f("vaults.card.apy"),value:(e["30d_apy"]*100).toFixed(2)+"%",textProps:{color:"brand",type:"gradient"}})]}),jsxs("div",{className:"oui-mt-3 oui-flex oui-flex-col oui-items-center oui-gap-2 oui-rounded-lg oui-bg-white/[0.06] oui-p-3",children:[jsx($t,{label:f("vaults.card.myDeposits"),value:r.deposits}),jsx($t,{label:f("vaults.card.myEarnings"),value:r.earnings})]}),jsx($t,{label:f("vaults.card.accountBalance"),value:u}),jsx(oa,{isEVMConnected:s,openDepositAndWithdraw:i})]})]})},go=t=>{let{label:o,value:e,textProps:r}=t;return jsxs("div",{className:cn("oui-flex oui-flex-1 oui-flex-col oui-items-center oui-justify-center oui-px-3 oui-py-2","oui-rounded-lg oui-border oui-border-solid oui-border-white/[0.12]"),children:[jsx("div",{className:"oui-text-2xs oui-font-normal oui-leading-[18px] oui-text-base-contrast-54",children:o}),r.type==="gradient"?jsx(Text.gradient,{className:"oui-text-base oui-font-semibold",...r,children:e}):jsx(Text.numeral,{className:"oui-text-base oui-font-semibold",...r,children:e})]})},$t=t=>{let{label:o,value:e,textProps:r}=t;return jsxs("div",{className:"oui-flex oui-w-full oui-items-center oui-justify-between oui-text-2xs oui-font-normal",children:[jsx("div",{className:"oui-text-base-contrast-54",children:o}),jsx(Text.numeral,{className:"oui-text-base-contrast-80",...r,dp:2,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-36",children:"USDC"}),children:e})]})},oa=t=>{let{isEVMConnected:o,openDepositAndWithdraw:e}=t,{t:r}=useTranslation();return jsx(AuthGuard,{buttonProps:{size:"md",fullWidth:true},children:o?jsxs("div",{className:"oui-flex oui-items-center oui-gap-2",children:[jsx(Button,{className:"oui-flex-1",size:"md",onClick:()=>e("deposit"),children:r("common.deposit")}),jsx(Button,{className:"oui-flex-1",size:"md",color:"secondary",onClick:()=>e("withdraw"),children:r("common.withdraw")})]}):jsx(Button,{size:"md",color:"warning",children:r("connector.wrongNetwork")})})};});var it,bo=n(()=>{Ht();Yt();it=t=>{let{vault:o}=t,e=fo(o);return jsx(xo,{...e})};});var st=n(()=>{bo();Ht();Yt();zt();});var Jt,Xt=n(()=>{st();Jt=t=>{let{vaults:o}=t,{t:e}=useTranslation();return jsxs("div",{className:"oui-flex oui-flex-col oui-gap-6",children:[jsx("div",{className:"oui-text-xl oui-font-normal oui-text-base-contrast",children:e("vaults.allVaults")}),jsx("div",{className:"oui-grid oui-grid-cols-3 oui-gap-4 min-[1024px]:oui-grid-cols-3",children:o.map(r=>jsx(it,{vault:r},r.vault_id))})]})};});var Io,Vo=n(()=>{st();Io=t=>{let{vaults:o}=t;return jsx("div",{className:"oui-flex oui-flex-col oui-gap-3",children:o.map(e=>jsx(it,{vault:e},e.vault_id))})};});var na,Po=n(()=>{Q();Xt();Vo();na=()=>{let{data:t}=ne(),{isMobile:o}=useScreen();return o?jsx(Io,{vaults:t}):jsx(Jt,{vaults:t})};});var Lo={};ut(Lo,{AllVaultsDesktop:()=>Jt,AllVaultsWidget:()=>na});var Zt=n(()=>{Po();Xt();});pt();O();var le=t=>{let o=K(),{fetchVaultInfo:e,setVaultsPageConfig:r}=m();return useEffect(()=>{t.config&&r(t.config);},[t.config]),useEffect(()=>{o&&e(o);},[o]),jsx("div",{children:t.children})};var la=H.lazy(()=>Promise.resolve().then(()=>(bt(),ve)).then(t=>({default:t.VaultsHeaderWidget}))),pa=H.lazy(()=>Promise.resolve().then(()=>(It(),Pe)).then(t=>({default:t.VaultsIntroductionWidget}))),ca=H.lazy(()=>Promise.resolve().then(()=>(Zt(),Lo)).then(t=>({default:t.AllVaultsWidget}))),fu=t=>{let{isMobile:o}=useScreen();return jsx(le,{...t,children:jsx("div",{className:cn("oui-relative oui-min-h-screen ","oui-bg-base-10",o?"oui-px-3 oui-py-6":"oui-px-6 oui-py-12",t?.className),children:jsxs("div",{id:"vaults-content",className:cn("oui-mx-auto oui-flex oui-max-w-[1200px] oui-flex-col",o?"oui-gap-6":"oui-gap-12"),children:[jsx(H.Suspense,{fallback:null,children:jsx(la,{})}),jsx(H.Suspense,{fallback:null,children:jsx(pa,{})}),jsx(H.Suspense,{fallback:null,children:jsx(ca,{})})]})})})};C();dt();O();Zt();st();bt();It();Bt();_t();kt();St();Ot();
13
+ var So=Object.defineProperty;var n=(t,o)=>()=>(t&&(o=t(t=0)),o);var pt=(t,o)=>{for(var e in o)So(t,e,{get:o[e],enumerable:true});};var ee,oe,ct=n(()=>{ee={prod:"https://api-sv.orderly.org",staging:"https://testnet-api-sv.orderly.org",qa:"https://qa-api-sv-aliyun.orderly.org",dev:"https://dev-api-sv.orderly.org"},oe={prod:"https://app.orderly.network",staging:"https://staging-app.orderly.network",qa:"https://qa-app.orderly.network",dev:"https://dev-app.orderly.network"};});function X(){let t=useGetEnv();return useMemo(()=>ee[t],[t])}var dt=n(()=>{ct();});function _o(t){let o=Ro(t),e=new URLSearchParams;return Object.entries(o).forEach(([r,a])=>{a!=null&&e.append(r,String(a));}),e.toString()}function Ro(t){let o={};return Object.entries(t).forEach(([e,r])=>{r!=null&&(typeof r=="string"||typeof r=="number"||typeof r=="boolean"?o[e]=r:typeof r=="object"&&r!==null&&Object.entries(r).forEach(([s,i])=>{i!=null&&(typeof i=="string"||typeof i=="number"||typeof i=="boolean")&&(o[s]=i);}));}),o}function Wo(t,o){if(!o||Object.keys(o).length===0)return t;let e=_o(o);if(!e)return t;let r=t.includes("?")?"&":"?";return `${t}${r}${e}`}var O,mt,Do,Z,re=n(()=>{O=class extends Error{constructor(e,r,a,s){super(e);this.code=r;this.status=a;this.response=s;this.name="VaultsApiError";}};mt=class{constructor(){this.requestInterceptors=[];this.responseInterceptors=[];this.defaultConfig={timeout:1e4,retry:3,retryDelay:1e3,validateStatus:o=>o>=200&&o<300,headers:{"Content-Type":"application/json"}};}addRequestInterceptor(o){this.requestInterceptors.push(o);}addResponseInterceptor(o){this.responseInterceptors.push(o);}createTimeoutController(o){let e=new AbortController;return setTimeout(()=>e.abort(),o),e}mergeHeaders(o={},e={}){return {...o,...e}}sleep(o){return new Promise(e=>setTimeout(e,o))}async request(o,e={}){let a={...this.defaultConfig,...e,headers:this.mergeHeaders(this.defaultConfig.headers,e.headers)};for(let S of this.requestInterceptors)a=await S(a);let s=o;typeof o=="string"&&!o.startsWith("http")&&a.baseURL&&(s=`${a.baseURL}${o.startsWith("/")?"":"/"}${o}`),a.params&&(s=typeof s=="string"?Wo(s,a.params):s);let i;a.timeout&&a.timeout>0&&(i=this.createTimeoutController(a.timeout),a.signal=i.signal);let{retry:u=0,retryDelay:m=1e3,validateStatus:h,params:l,baseURL:v,timeout:P,data:f,method:I,...C}=a,x={...C,method:I};f!==void 0&&(x.body=typeof f=="string"?f:JSON.stringify(f));let p;for(let S=0;S<=u;S++)try{let b=await fetch(s,x);if(!h(b.status)){let L=b.statusText,te;try{let lt=await b.json();L=lt.message||lt.code||L,te=lt.code;}catch{}throw new O(L,te,b.status,b)}let J;try{J=await b.json();}catch{throw new O("Invalid JSON response","PARSE_ERROR",b.status,b)}let V=J;for(let L of this.responseInterceptors)V=await L(b,V);if(typeof V=="object"&&V!==null&&"success"in V){let L=V;if(L.success)return L.data;throw new O(L.message||"API request failed",L.code,b.status,b)}return V}catch(b){if(p=b instanceof Error?b:new Error(String(b)),b instanceof O||b?.name==="AbortError"||S===u)throw p;S<u&&await this.sleep(m);}finally{i?.abort();}throw p}async get(o,e={}){return this.request(o,{...e,method:"GET"})}async post(o,e={}){return this.request(o,{...e,method:"POST"})}async put(o,e={}){return this.request(o,{...e,method:"PUT"})}async delete(o,e={}){return this.request(o,{...e,method:"DELETE"})}async patch(o,e={}){return this.request(o,{...e,method:"PATCH"})}},Do=new mt,Z=Do;});async function ae(t){return Z.get("/v1/public/strategy_vault/vault/info",{baseURL:t})}async function ie(t,o){return Z.get("/v1/public/strategy_vault/vault/performance",{params:o,baseURL:t})}async function se(t,o){return Z.get("/v1/public/strategy_vault/lp/info",{params:o,baseURL:t})}var ft=n(()=>{re();});var g,ne,La,Sa,Ca,Ta,_a,Ra,j,Wa,Da,Na,Aa,$=n(()=>{ft();g=create((t,o)=>({baseUrl:"",vaultInfo:{data:[],loading:false,error:null,lastUpdated:null},vaultLpPerformance:{data:{},loading:false,error:null,lastUpdated:null,params:null},vaultLpInfo:{data:{},loading:false,error:null,lastUpdated:null,params:null},vaultsPageConfig:null,setBaseUrl:e=>{t({baseUrl:e});},fetchVaultInfo:async e=>{let r=o(),a=e||r.baseUrl;if(!a){t(s=>({vaultInfo:{...s.vaultInfo,error:"Base URL is required"}}));return}t(s=>({baseUrl:e||s.baseUrl,vaultInfo:{...s.vaultInfo,loading:true,error:null}}));try{let s=await ae(a);t(i=>({vaultInfo:{...i.vaultInfo,data:s.rows,loading:!1,error:null,lastUpdated:Date.now()}}));}catch(s){t(i=>({vaultInfo:{...i.vaultInfo,loading:false,error:s instanceof Error?s.message:"Failed to fetch vault info"}}));}},refreshVaultInfo:async()=>{let e=o();e.vaultInfo.lastUpdated&&e.baseUrl&&await e.fetchVaultInfo();},fetchVaultLpPerformance:async(e,r)=>{let a=o(),s=r||a.baseUrl;if(!s){t(i=>({vaultLpPerformance:{...i.vaultLpPerformance,error:"Base URL is required"}}));return}t(i=>({baseUrl:r||i.baseUrl,vaultLpPerformance:{...i.vaultLpPerformance,loading:true,error:null,params:e}}));try{let i=await ie(s,e);t(u=>({vaultLpPerformance:{...u.vaultLpPerformance,data:{...u.vaultLpPerformance.data,[e.vault_id]:i.rows},loading:!1,error:null,lastUpdated:Date.now()}}));}catch(i){t(u=>({vaultLpPerformance:{...u.vaultLpPerformance,loading:false,error:i instanceof Error?i.message:"Failed to fetch vault LP performance"}}));}},refreshVaultLpPerformance:async()=>{let e=o();e.vaultLpPerformance.lastUpdated&&e.vaultLpPerformance.params&&e.baseUrl&&await e.fetchVaultLpPerformance(e.vaultLpPerformance.params);},fetchVaultLpInfo:async(e,r)=>{let a=o(),s=r||a.baseUrl;if(!s){t(i=>({vaultLpInfo:{...i.vaultLpInfo,error:"Base URL is required"}}));return}t(i=>({baseUrl:r||i.baseUrl,vaultLpInfo:{...i.vaultLpInfo,loading:true,error:null,params:e}}));try{let i=await se(s,e);t(u=>({vaultLpInfo:{...u.vaultLpInfo,data:{...u.vaultLpInfo.data,[e.vault_id]:i.rows},loading:!1,error:null,lastUpdated:Date.now()}}));}catch(i){t(u=>({vaultLpInfo:{...u.vaultLpInfo,loading:false,error:i instanceof Error?i.message:"Failed to fetch vault LP info"}}));}},refreshVaultLpInfo:async()=>{let e=o();e.vaultLpInfo.lastUpdated&&e.vaultLpInfo.params&&e.baseUrl&&await e.fetchVaultLpInfo(e.vaultLpInfo.params);},setVaultsPageConfig:e=>{t({vaultsPageConfig:e});}})),ne=()=>g(t=>t.vaultInfo),La=()=>g(t=>t.vaultLpPerformance),Sa=()=>g(t=>t.vaultLpInfo),Ca=()=>g(t=>({fetchVaultInfo:t.fetchVaultInfo,refreshVaultInfo:t.refreshVaultInfo})),Ta=()=>g(t=>({fetchVaultLpPerformance:t.fetchVaultLpPerformance,refreshVaultLpPerformance:t.refreshVaultLpPerformance})),_a=()=>g(t=>({fetchVaultLpInfo:t.fetchVaultLpInfo,refreshVaultLpInfo:t.refreshVaultLpInfo})),Ra=t=>g(o=>o.vaultLpPerformance.data[t]),j=t=>g(o=>o.vaultLpInfo.data[t]),Wa=()=>g(t=>Object.keys(t.vaultLpPerformance.data)),Da=()=>g(t=>Object.keys(t.vaultLpInfo.data)),Na=()=>g(t=>Object.values(t.vaultLpPerformance.data).flat()),Aa=()=>g(t=>Object.values(t.vaultLpInfo.data).flat());});var F=n(()=>{$();});var vt,ht=n(()=>{vt=t=>{let{supportVaults:o,headerImage:e,brokerName:r}=t,{t:a}=useTranslation(),s=useMemo(()=>jsx("div",{className:"oui-flex oui-items-center",children:o.map((u,m)=>jsx("img",{src:`https://oss.orderly.network/static/network_logo/${u.chain_id}.png`,alt:u.chain_id,className:"oui-relative oui-size-5",style:{marginLeft:m>0?"-4px":"0",zIndex:o.length-m}},u.chain_id))}),[o]),i=useMemo(()=>typeof e=="string"?jsx("img",{src:e,alt:"header",className:"oui-bg-contain oui-bg-center oui-bg-no-repeat"}):e,[e]);return jsxs("div",{className:"oui-flex oui-items-center oui-justify-between",children:[jsxs("div",{className:"oui-flex oui-max-w-[726px] oui-flex-col",children:[jsxs("div",{className:"oui-flex oui-items-center oui-gap-1 oui-text-[18px] oui-font-normal oui-text-base-contrast-54",children:[a("vaults.availableOn")," ",s]}),jsx("div",{className:"oui-mb-6 oui-mt-8 oui-text-5xl oui-font-bold oui-leading-[44px] oui-text-base-contrast",children:a("vaults.header.title")}),jsx("div",{className:"oui-text-xl oui-font-normal oui-text-base-contrast-54",children:a("vaults.header.description",{brokerName:r})})]}),jsx("div",{className:"oui-h-[238px] oui-w-[360px]",children:i})]})};});var de,me=n(()=>{de=t=>{let{supportVaults:o,headerImage:e}=t,{t:r}=useTranslation(),a=useConfig("brokerName"),s=useMemo(()=>jsx("div",{className:"oui-flex oui-items-center",children:o.map((u,m)=>jsx("img",{src:`https://oss.orderly.network/static/network_logo/${u.chain_id}.png`,alt:u.chain_id,className:"oui-relative oui-size-[18px]",style:{marginLeft:m>0?"-4px":"0",zIndex:o.length-m}},u.chain_id))}),[o]),i=useMemo(()=>typeof e=="string"?jsx("img",{src:e,alt:"header",className:"oui-bg-contain oui-bg-center oui-bg-no-repeat"}):e,[e]);return jsxs("div",{className:"oui-relative",children:[jsxs("div",{className:"oui-flex oui-flex-col",children:[jsxs("div",{className:"oui-flex oui-items-center oui-gap-1 oui-text-2xs oui-font-semibold oui-text-base-contrast-54",children:[r("vaults.availableOn")," ",s]}),jsx("div",{className:"oui-mb-4 oui-mt-6 oui-min-h-[56px] oui-max-w-[calc(100%-187px)] oui-text-xl oui-font-bold oui-text-base-contrast",children:r("vaults.header.title")}),jsx("div",{className:"oui-max-w-[450px] oui-text-2xs oui-font-normal oui-text-base-contrast-54",children:r("vaults.header.description",{brokerName:a})})]}),jsx("div",{className:"oui-absolute -oui-right-3 -oui-top-4 oui-h-[124px] oui-w-[187px]",children:i})]})};});var bt,yt=n(()=>{F();bt=()=>{let{vaultInfo:t,vaultsPageConfig:o}=g(),e=useConfig("brokerName");return {supportVaults:useMemo(()=>{let a=[];return t.data.forEach(s=>{a.push(...s.supported_chains);}),uniqBy(s=>s.chain_id,a)},[t.data]),headerImage:o?.headerImage,brokerName:e}};});var Bo,ge=n(()=>{ht();me();yt();Bo=()=>{let t=bt(),{isMobile:o}=useScreen();return o?jsx(de,{...t}):jsx(vt,{...t})};});var ve={};pt(ve,{VaultsHeaderDesktop:()=>vt,VaultsHeaderWidget:()=>Bo,useVaultsHeaderScript:()=>bt});var It=n(()=>{ge();ht();yt();});var xe,Vt,ye=n(()=>{xe=t=>{let{t:o}=useTranslation(),{isMobile:e}=useScreen(),{vaultsInfo:r}=t;return jsxs("div",{className:cn("oui-flex oui-items-center ","oui-via-21.6% oui-via-83.23% oui-bg-gradient-to-r oui-from-[rgba(var(--oui-gradient-neutral-end)/1)] oui-to-[rgba(var(--oui-gradient-neutral-start)/1)]",e?"oui-gap-3 oui-rounded-xl oui-p-3":"oui-gap-6 oui-rounded-2xl oui-p-6"),children:[jsx(Vt,{title:o("vaults.introduction.tvl"),value:r.tvl,textProps:{currency:"$"},isMobile:e}),jsx(Divider,{direction:"vertical",className:cn("oui-bg-white/[0.12]",e?"oui-h-[44px]":"oui-h-[64px]")}),jsx(Vt,{title:o("common.vaults"),value:r.vaultsCount,isMobile:e}),jsx(Divider,{direction:"vertical",className:cn("oui-bg-white/[0.12]",e?"oui-h-[44px]":"oui-h-[64px]")}),jsx(Vt,{title:o("vaults.introduction.depositors"),value:r.lpCount,isMobile:e})]})},Vt=t=>{let{title:o,value:e,textProps:r,isMobile:a}=t;return jsxs("div",{className:cn("oui-flex oui-flex-1 oui-flex-col oui-items-center ",a?"oui-gap-0.5":"oui-gap-3"),children:[jsx("div",{className:cn("oui-font-normal oui-text-base-contrast-54",a?"oui-text-2xs":"oui-text-base"),children:o}),jsx(Text.numeral,{className:cn("oui-font-semibold",a?"oui-text-base":"oui-text-xl"),dp:0,...r,children:e})]})};});var Ie,Ve=n(()=>{F();Ie=()=>{let{vaultInfo:t}=g();return {vaultsInfo:useMemo(()=>{let e=t.data.reduce((a,s)=>a+s.tvl,0),r=t.data.reduce((a,s)=>a+s.lp_counts,0);return {tvl:e,lpCount:r,vaultsCount:t.data.length}},[t.data])}};});var Go,we=n(()=>{ye();Ve();Go=()=>{let t=Ie();return jsx(xe,{...t})};});var Pe={};pt(Pe,{VaultsIntroductionWidget:()=>Go});var wt=n(()=>{we();});var Pt,D,T=n(()=>{Pt=(e=>(e.LP="lp",e.SP="sp",e))(Pt||{}),D=(e=>(e.DEPOSIT="deposit",e.WITHDRAWAL="withdrawal",e))(D||{});});var Le,Se=n(()=>{Le={prod:{vaultProtocol:"0x70Fe7d65Ac7c1a1732f64d2E6fC0E33622D0C991",vaultCrossChainManager:"0x58c9747ccAAE56182C7d9c814F5eaca395D8c93B",vaultPvLedger:"0xB7E792f0da9104A27288421583748215AefFFd78",vaultId:"0xa3426a1cef4052c056fced18099be899d93f1427d13b9a1df1806b91fad3d0c2",spAddress:"0x8bAA309D93FFFB54A64444FD98E10d92D4d9Eb22"},staging:{vaultProtocol:"0x6B6059259B4096ea6420Eb5e08a22214d2303aE9",vaultCrossChainManager:"0x510dD61a988797114A9a51b0d228E894037BD9cb",vaultPvLedger:"0x20AFe57C75D1C548A9Da265fBFC5416c43783589",vaultId:"0x95514fb145354f07bb889f711e856481b5ed52fce52200148aa834b3b29544c8",spAddress:"0xbddfd22ef902a4898147a1ca5b985d03c62a8c41"},qa:{vaultProtocol:"0xF5b12d5F1db6DAB8C7c0561152b5e4bb8fD5eb38",vaultCrossChainManager:"0xB8a3245407571804b4db5219cBe8D9F2EA1828DE",vaultPvLedger:"0x15c9B5705CaCB4eb140dfd7a8c651E18027e5146",vaultId:"0x4812cbb88f4025372a3e2acd10d02b5f680d7d1fe78091f6cfde80122c861099",spAddress:"0xbddfd22ef902a4898147a1ca5b985d03c62a8c41"},dev:{vaultProtocol:"0xA292E1126703F804FBD5671F034c7226538C54C7",vaultCrossChainManager:"0x7568ACC147Af12b02713143C3177D7e89C28A9A6",vaultPvLedger:"0x2a5909498d85650744dD5CF964F2136962e5AE6E",vaultId:"0x4812cbb88f4025372a3e2acd10d02b5f680d7d1fe78091f6cfde80122c861099",spAddress:"0xbddfd22ef902a4898147a1ca5b985d03c62a8c41"}};});var Ce,Te=n(()=>{T();Ce=(t,o)=>t==="deposit"&&o==="lp"?0:t==="withdrawal"&&o==="lp"?1:t==="deposit"&&o==="sp"?2:t==="withdrawal"&&o==="sp"?3:1;});var q,tt=n(()=>{q=t=>{let{type:o,vaultId:e}=t,{data:r,mutate:a}=usePrivateQuery(`/v1/account_sv_transaction_history?type=${o}&vault_id=${e}&size=1`,{formatter:i=>i?.rows||EMPTY_LIST,revalidateOnFocus:false});return {latestOperation:useMemo(()=>r?.[0],[r]),refetch:a}};});var et,Lt=n(()=>{Se();T();Te();tt();et=t=>{let{account:o,state:e}=useAccount(),r=useGetEnv(),{track:a}=useTrack(),s=useMemo(()=>Le[r].vaultPvLedger,[r]),[i]=useMutation("/v1/sv_operation_request"),{refetch:u}=q({type:t.type,vaultId:t.vaultId}),m=useMemo(()=>e?.accountId!==e?.mainAccountId,[e?.accountId,e?.mainAccountId]);return {handleOperation:async({amount:l,vaultId:v})=>{if(e.accountId!==e.mainAccountId){toast.error("Please switch to the main account to perform this operation.");return}if(t.type==="deposit"&&new Decimal(l).lt(10)){toast.error("Deposit amount is less than the minimum 10 USDC.");return}let f={payloadType:Ce(t.type,"lp"),amount:new Decimal(Number(l)).mul(10**6).toString(),vaultId:v,token:"USDC",domain:{name:"Orderly",version:"1",chainId:e.connectWallet?.chainId,verifyingContract:s}},{message:I,signatured:C}=await o.generateDexRequest(f);try{let x=await i({message:{...I,chainId:e.connectWallet?.chainId},signature:C,userAddress:e.address,verifyingContract:s});if(!x.success){t.type==="deposit"?a(TrackerEventName.vaultDepositFailed,{msg:x.message}):a(TrackerEventName.vaultWithdrawFailed,{msg:x.message}),toast.error(x.message);return}await u(),t.type==="deposit"?a(TrackerEventName.vaultDepositSuccess,{quantity:l,vaultId:v}):a(TrackerEventName.vaultWithdrawSuccess,{quantity:l,vaultId:v}),toast.success(`${t.type} successful`);}catch(x){let p=x instanceof Error?x.message:String(x);t.type==="deposit"?a(TrackerEventName.vaultDepositFailed,{msg:p}):a(TrackerEventName.vaultWithdrawFailed,{msg:p}),toast.error(p);}},disabledOperation:m}};});var We,De=n(()=>{$();T();Lt();We=t=>{let{vaultId:o}=t,[e,r]=useState(""),{vaultInfo:a}=g(),{handleOperation:s,disabledOperation:i}=et({type:"deposit",vaultId:o}),{holding:u}=useCollateral(),{t:m}=useTranslation(),h=a.data[0]?.min_deposit_amount||0,l=useMaxWithdrawal("USDC"),v=useMemo(()=>u?.find(V=>V.token==="USDC")?.holding||0,[u]),P=useMemo(()=>Math.min(l,v),[l,v]),f=useMemo(()=>a.data.find(L=>L.vault_id===o)?.est_main_share_price,[a.data,o]),I=useMemo(()=>!f||!e?"-":new Decimal(e).div(f).toString(),[e,f]),C=async()=>{!I||I==="-"||(await s({amount:e,vaultId:o}),r(""));},x=useTokenInfo("USDC"),p=useMemo(()=>({...x,display_name:x?.token,symbol:x?.token}),[x]),S=V=>{if(V&&new Decimal(V).gt(P)){r(P.toString());return}r(V);},b=useMemo(()=>!e||e==="0"||i||!!e&&new Decimal(e).lt(h),[e,i]),J=useMemo(()=>e&&new Decimal(e).lt(h)?{hintMessage:m("vaults.operation.error.minDeposit",{amount:h}),status:"error"}:{hintMessage:"",status:""},[e,m,l,v]);return {quantity:e,onQuantityChange:S,sourceToken:p,maxQuantity:P,sharePrice:f,shares:I,handleDeposit:C,vaultId:o,disabledDeposit:b,disabledOperation:i,inputHint:J}};});var Ne,Ae=n(()=>{T();tt();Ne=({vaultId:t})=>{let{latestOperation:o}=q({type:"deposit",vaultId:t});return {latestOperation:o}};});var rt,St=n(()=>{rt=t=>t==="completed"?"success":t==="rejected"||t==="failed"?"danger":"primary";});var Ue,Ee=n(()=>{St();Ue=t=>{let{latestOperation:o}=t,{t:e}=useTranslation();return o?jsxs("div",{className:"oui-mt-3 oui-flex oui-flex-col oui-gap-2",children:[jsx("div",{className:"oui-text-xs oui-font-normal oui-text-base-contrast-54",children:e("vaults.deposit.latestDeposit")}),jsx("div",{className:"oui-h-[44px] oui-rounded-lg oui-border oui-border-white/[0.12] oui-p-3",children:jsxs("div",{className:"oui-flex oui-items-center",children:[jsx("div",{className:cn("oui-mr-1 oui-size-1 oui-rounded-full",o.status==="completed"&&"oui-bg-success",o.status==="rejected"&&"oui-bg-danger",o.status==="failed"&&"oui-bg-danger",(o.status==="pending"||o.status==="new")&&"oui-bg-primary")}),jsx(Text,{color:rt(o.status),className:"oui-text-xs oui-font-normal",children:o.status.slice(0,1).toUpperCase()+o.status.slice(1)}),jsx(TokenIcon,{name:"USDC",className:"oui-ml-auto oui-mr-1 oui-size-4"}),jsx(Text.numeral,{className:"oui-text-sm oui-font-semibold oui-text-base-contrast-80",children:o.amount_change})]})})]}):null};});var ke,Ct=n(()=>{Ae();Ee();ke=t=>{let{vaultId:o}=t,e=Ne({vaultId:o});return jsx(Ue,{...e})};});var qe,Me=n(()=>{Ct();qe=t=>{let{quantity:o,onQuantityChange:e,sourceToken:r,maxQuantity:a,shares:s,handleDeposit:i,vaultId:u,disabledDeposit:m,disabledOperation:h,inputHint:l}=t,{t:v}=useTranslation();return jsxs("div",{children:[jsx(BrokerWallet,{}),jsx(Box,{mt:3,mb:1,children:jsx(QuantityInput,{value:o,onValueChange:e,token:{...r,precision:6},testId:"oui-testid-vault-deposit-dialog-quantity-input",hintMessage:l.hintMessage,status:l.status})}),jsx(AvailableQuantity,{maxQuantity:a?.toString()||"0",onClick:()=>{e(a?.toString()||"0");}}),jsxs(Box,{mt:5,mb:1,className:"oui-flex oui-items-center oui-justify-between oui-text-sm oui-font-semibold oui-text-base-contrast-54",children:[jsx("div",{children:v("vaults.deposit.estShares")}),jsx(Text.numeral,{dp:6,padding:false,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-54",children:v("vaults.deposit.shares")}),children:s})]}),jsxs(Box,{mb:5,className:"oui-flex oui-items-center oui-justify-between oui-text-sm oui-font-semibold oui-text-base-contrast-54",children:[jsx("div",{children:v("vaults.deposit.lockupDuration")}),jsx(Text.numeral,{suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-54",children:"hrs"}),children:"48"})]}),h&&jsx("div",{className:"oui-mt-3 oui-text-center",children:jsx(Text,{color:"warning",className:"oui-text-sm oui-font-semibold",children:v("vaults.operation.error.switchAccount")})}),jsx(Button,{fullWidth:true,color:"primary",disabled:m,className:"oui-mt-3",onClick:i,children:v("common.deposit")}),jsx(ke,{vaultId:u})]})};});var Be,He=n(()=>{De();Me();Be=t=>{let{vaultId:o}=t,e=We({vaultId:o});return jsx(qe,{...e})};});var Wt=n(()=>{He();});var ze,Qe=n(()=>{F();T();Lt();ze=t=>{let{vaultId:o}=t,[e,r]=useState(""),{handleOperation:a,disabledOperation:s}=et({type:"withdrawal",vaultId:o}),i=j(o),{vaultInfo:u}=g(),{t:m}=useTranslation(),h=useMemo(()=>u.data.find(S=>S.vault_id===o)?.est_main_share_price||0,[u.data,o]),l=i?.[0]?.available_main_shares||0,v=useMemo(()=>!e||!h?"-":new Decimal(e).mul(h).toString(),[e,h]),P=async()=>{await a({amount:e,vaultId:o});},f=p=>{p&&new Decimal(p).gt(l)?r(l.toString()):r(p);},I=useMemo(()=>!e||!u.data[0]?.est_main_share_price||!u.data[0]?.min_withdrawal_amount||e===l.toString()?false:new Decimal(e).mul(u.data[0]?.est_main_share_price).lt(u.data[0]?.min_withdrawal_amount),[e,u,l]),C=useMemo(()=>!e||e==="0"||s||!!e&&I,[e,s]),x=useMemo(()=>e&&I?{hintMessage:m("vaults.operation.error.minWithdrawal",{amount:u.data[0]?.min_withdrawal_amount}),status:"error"}:{hintMessage:"",status:""},[e,m]);return {quantity:e,onQuantityChange:f,maxQuantity:l,handleWithdraw:P,vaultId:o,sharePrice:h,receivingAmount:v,disabledWithdraw:C,disabledOperation:s,inputHint:x}};});var $e,Ge=n(()=>{T();tt();$e=({vaultId:t})=>{let{latestOperation:o}=q({type:"withdrawal",vaultId:t});return {latestOperation:o}};});var Nt,Ye,At,Ir,at,Ot=n(()=>{Nt=()=>jsx("div",{className:"oui-size-2 oui-rounded-full oui-bg-white/[0.54]"}),Ye=()=>jsx("div",{className:"oui-h-px oui-flex-1 oui-bg-white/[0.2]"}),At=({children:t,className:o})=>jsx("div",{className:cn("oui-flex-1 oui-text-2xs oui-font-normal oui-text-base-contrast-80",o),children:t}),Ir=()=>{let{t}=useTranslation();return jsxs(Fragment,{children:[jsxs("div",{className:"oui-flex oui-items-center",children:[jsx(Nt,{}),jsx("div",{className:"oui-flex-1",children:jsx(Ye,{})}),jsx(Nt,{}),jsx("div",{className:"oui-flex-1",children:jsx(Ye,{})}),jsx(Nt,{})]}),jsxs("div",{className:"oui-mt-1 oui-flex oui-justify-between",children:[jsx(At,{children:t("vaults.withdraw.process.initiate")}),jsx(At,{className:"oui-text-center",children:t("vaults.withdraw.process.vaultProcess")}),jsx(At,{className:"oui-text-right",children:t("vaults.withdraw.process.transferred")})]})]})},at=()=>{let{t}=useTranslation();return jsxs("div",{className:"oui-flex oui-flex-col oui-gap-2 oui-rounded-xl oui-border oui-border-white/[0.12] oui-p-3",children:[jsxs("div",{className:"oui-flex oui-items-center oui-justify-between oui-text-sm oui-font-semibold oui-text-base-contrast-54",children:[jsx("div",{children:t("vaults.withdraw.process.withdrawProcess")}),jsx(Text,{color:"primary",children:t("vaults.withdraw.process.upTo")})]}),jsx(Ir,{})]})};});var Ze,je=n(()=>{St();Ot();Ze=t=>{let{latestOperation:o}=t,{t:e}=useTranslation();return o?jsxs("div",{className:"oui-mt-3 oui-flex oui-flex-col oui-gap-2",children:[jsx("div",{className:"oui-text-xs oui-font-normal oui-text-base-contrast-54",children:e("vaults.withdraw.latestWithdraw")}),jsx("div",{className:"oui-h-[44px] oui-rounded-lg oui-border oui-border-white/[0.12] oui-p-3",children:jsxs("div",{className:"oui-flex oui-items-center",children:[jsx("div",{className:cn("oui-mr-1 oui-size-1 oui-rounded-full",o.status==="completed"&&"oui-bg-success",o.status==="rejected"&&"oui-bg-danger",o.status==="failed"&&"oui-bg-danger",(o.status==="pending"||o.status==="new")&&"oui-bg-primary")}),jsx(Text,{color:rt(o.status),className:"oui-text-xs oui-font-normal",children:o.status.slice(0,1).toUpperCase()+o.status.slice(1)}),jsx(TokenIcon,{name:"USDC",className:"oui-ml-auto oui-mr-1 oui-size-4"}),jsx(Text.numeral,{className:"oui-text-sm oui-font-semibold oui-text-base-contrast-80",children:o.amount_change||"-"})]})})]}):jsx(at,{})};});var to,eo=n(()=>{Ge();je();to=t=>{let{vaultId:o}=t,e=$e({vaultId:o});return jsx(Ze,{...e})};});var Ft=n(()=>{eo();});var ao,it,io,Or,Fr,so=n(()=>{Ft();Ot();ao=t=>{let{quantity:o,onQuantityChange:e,maxQuantity:r,handleWithdraw:a,vaultId:s,sharePrice:i,receivingAmount:u,disabledWithdraw:m,disabledOperation:h,inputHint:l}=t,{isMobile:v}=useScreen(),P=()=>{modal.show(v?Fr:Or,{quantity:o,receivingAmount:u,handleWithdraw:a});},{t:f}=useTranslation();return jsxs("div",{children:[jsx(BrokerWallet,{}),jsx(Box,{mt:3,mb:1,children:jsx(QuantityInput,{value:o,onValueChange:e,token:{display_name:"Shares",precision:6},testId:"oui-testid-vault-withdraw-dialog-quantity-input",hintMessage:l.hintMessage,status:l.status})}),jsx(AvailableQuantity,{maxQuantity:r,onClick:()=>{e(r.toString());}}),jsx(it,{label:f("vaults.withdraw.estPricePerShare"),currency:"$",value:i||"-",className:"oui-mb-1 oui-mt-5"}),jsx(it,{label:f("vaults.withdraw.estReceivingAmount"),value:u,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-36",children:"USDC"}),className:"oui-mb-5"}),h&&jsx("div",{className:"oui-mt-3 oui-text-center",children:jsx(Text,{color:"warning",className:"oui-text-sm oui-font-semibold",children:f("vaults.operation.error.switchAccount")})}),jsx(Button,{fullWidth:true,color:"primary",disabled:m,className:"oui-mt-3",onClick:P,children:f("common.withdraw")}),jsx("div",{className:"oui-mt-3",children:jsx(to,{vaultId:s})})]})},it=({label:t,value:o,suffix:e,currency:r,className:a})=>jsxs("div",{className:cn("oui-flex oui-items-center oui-justify-between oui-text-sm oui-font-semibold oui-text-base-contrast-54",a),children:[jsx("div",{children:t}),jsx(Text.numeral,{currency:r,className:"oui-text-base-contrast",suffix:e,children:o})]}),io=t=>{let{quantity:o,receivingAmount:e,handleWithdraw:r,hide:a}=t,{t:s}=useTranslation();return jsxs("div",{className:"oui-flex oui-flex-col",children:[jsx(it,{label:s("vaults.withdraw.dialog.withdrawalAmount"),value:o,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-36",children:"Shares"})}),jsx(it,{label:s("vaults.withdraw.dialog.estimatedReceiving"),value:e,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-36",children:"USDC"}),className:"oui-mt-1"}),jsx(Text,{color:"warning",className:"oui-my-5 oui-text-sm oui-font-semibold",children:s("vaults.withdraw.dialog.note")}),jsx(at,{}),jsx(Button,{fullWidth:true,color:"primary",className:"oui-mt-5",onClick:async()=>{await r(),a?.();},children:s("vaults.withdraw.dialog.initiateWithdrawal")})]})},Or=modal.create(({quantity:t,receivingAmount:o,handleWithdraw:e})=>{let{visible:r,hide:a,onOpenChange:s}=useModal(),{t:i}=useTranslation();return jsx(SimpleDialog,{title:i("vaults.withdraw.dialog.title"),open:r,onOpenChange:s,children:jsx(io,{quantity:t,receivingAmount:o,handleWithdraw:e,hide:a})})}),Fr=modal.create(({quantity:t,receivingAmount:o,handleWithdraw:e})=>{let{visible:r,hide:a,onOpenChange:s}=useModal(),{t:i}=useTranslation();return jsx(SimpleSheet,{title:i("vaults.withdraw.dialog.title"),open:r,onOpenChange:s,children:jsx(io,{quantity:t,receivingAmount:o,handleWithdraw:e,hide:a})})});});var no,uo=n(()=>{Qe();so();no=t=>{let{vaultId:o}=t,e=ze({vaultId:o});return jsx(ao,{...e})};});var qt=n(()=>{uo();});var Mt,Bt,po,Ht=n(()=>{Wt();qt();Mt="VaultDepositAndWithdrawWithDialogId",Bt="VaultDepositAndWithdrawWithSheetId",po=t=>{let[o,e]=useState(t.activeTab||"deposit"),{vaultId:r}=t,{t:a}=useTranslation();return jsxs(Tabs,{value:o,onValueChange:e,variant:"contained",size:"lg",classNames:{tabsList:"oui-px-0",tabsContent:"oui-pt-5"},children:[jsx(TabPanel,{title:a("common.deposit"),icon:jsx(ArrowDownSquareFillIcon,{}),value:"deposit",children:jsx(Be,{vaultId:r})}),jsx(TabPanel,{title:a("common.withdraw"),icon:jsx(ArrowUpSquareFillIcon,{}),value:"withdraw",children:jsx(no,{vaultId:r})})]})};registerSimpleDialog(Mt,po,{size:"md",classNames:{content:"oui-border oui-border-line-6"}});registerSimpleSheet(Bt,po);});var co,wn,Pn,zt=n(()=>{co="https://oss.orderly.network/static/symbol_logo/ORDER.png",wn="Orderly OmniVault",Pn="Earn passive yields effortlessly, no trading expertise required. OmniVault deploys market-making strategies, taking on liquidations, and accrue platform fees.";});var mo,Qt=n(()=>{ct();dt();$();Ht();zt();mo=t=>{let{t:o}=useTranslation(),e=j(t.vault_id),{fetchVaultLpInfo:r}=g(),a=useGetEnv(),{isMobile:s}=useScreen(),{state:i}=useAccount(),u=X(),{holding:m}=useCollateral(),h=useMemo(()=>m?.find(p=>p.token==="USDC")?.holding||0,[m]);useEffect(()=>{!i.address||!u||!t.vault_id||r({vault_id:t.vault_id,wallet_address:i.address},u);},[t.vault_id,i.address,u]);let l=useMemo(()=>h,[h]),v=useMemo(()=>{let p=e?.[0];return p?{deposits:p.lp_tvl-p.potential_pnl,earnings:p.potential_pnl}:{deposits:"--",earnings:"--"}},[e]),P=useMemo(()=>i.chainNamespace==="EVM",[i.chainNamespace]),f=useMemo(()=>i.chainNamespace==="SOL",[i.chainNamespace]),I=useMemo(()=>i.chainNamespace!=="EVM"&&i.chainNamespace!=="SOL"&&i.accountId!==i.mainAccountId,[i.chainNamespace,i.accountId,i.mainAccountId]),C=p=>{modal.show(s?Bt:Mt,{activeTab:p,vaultId:t.vault_id});},x=()=>{let p=oe[a];window.open(`${p}/vaults`,"_blank");};return {title:o("vaults.card.orderly.title"),description:o("vaults.card.orderly.description"),icon:co,vaultInfo:t,lpInfo:v,isEVMConnected:P,isSOLConnected:f,openDepositAndWithdraw:C,availableBalance:l,openVaultWebsite:x,isWrongNetwork:I}};});var ho,fo,Gt,ra,Kt=n(()=>{ho=t=>{let{title:o,vaultInfo:e,lpInfo:r,description:a,isEVMConnected:s,isSOLConnected:i,openDepositAndWithdraw:u,availableBalance:m,openVaultWebsite:h}=t,{t:l}=useTranslation(),{isMobile:v}=useScreen(),P=useMemo(()=>jsx("div",{className:"oui-flex oui-items-center",children:e.supported_chains.map((f,I)=>jsx("img",{src:`https://oss.orderly.network/static/network_logo/${f.chain_id}.png`,alt:f.chain_id,className:cn("oui-relative",v?"oui-size-[18px]":"oui-size-5"),style:{marginLeft:I>0?"-4px":"0",zIndex:e.supported_chains.length-I}},f.chain_id))}),[e.supported_chains]);return jsxs("div",{className:"oui-relative oui-h-[388px] oui-overflow-hidden oui-rounded-2xl oui-border oui-border-solid oui-border-white/[0.12] oui-bg-base-9",children:[jsx("div",{style:{position:"absolute",top:0,right:0,width:"100%",height:"180px",backdropFilter:"blur(2px)",zIndex:1,background:"linear-gradient(180deg, rgba(44, 5, 69, 0.80) 0%, rgba(19, 21, 25, 0.80) 63.46%, #131519 100%)"}}),jsx("img",{src:"/vaults/orderly_vault_card_bg.png",alt:"",style:{position:"absolute",top:0,right:0,width:"100%",height:"180px",zIndex:0}}),jsxs("div",{className:"oui-absolute oui-left-0 oui-top-0 oui-z-20 oui-flex oui-flex-col oui-gap-3 oui-p-6",children:[jsxs("div",{className:"oui-flex oui-items-center oui-gap-2",children:[jsx("img",{src:"https://oss.orderly.network/static/symbol_logo/ORDER.png",alt:"",className:"oui-size-8"}),jsx("div",{className:"oui-text-[18px] oui-font-semibold oui-text-white",children:o}),P,jsx("div",{className:"oui-z-50 oui-ml-auto oui-cursor-pointer",onClick:h,children:jsx(ArrowRightUpSquareFillIcon,{color:"white",width:18,height:18,viewBox:"0 0 18 18"})})]}),jsx("div",{className:"oui-text-2xs oui-font-normal oui-leading-[18px] oui-text-base-contrast-54",children:a}),jsxs("div",{className:"oui-flex oui-items-center oui-gap-2",children:[jsx(fo,{label:l("vaults.card.tvl"),value:e.tvl,textProps:{currency:"$",dp:0,type:"numeral"}}),jsx(fo,{label:l("vaults.card.apy"),value:(e["30d_apy"]*100).toFixed(2)+"%",textProps:{color:"brand",type:"gradient"}})]}),jsxs("div",{className:"oui-mt-3 oui-flex oui-flex-col oui-items-center oui-gap-2 oui-rounded-lg oui-bg-white/[0.06] oui-p-3",children:[jsx(Gt,{label:l("vaults.card.myDeposits"),value:r.deposits}),jsx(Gt,{label:l("vaults.card.myEarnings"),value:r.earnings})]}),jsx(Gt,{label:l("vaults.card.accountBalance"),value:m}),jsx(ra,{isEVMConnected:s,isSOLConnected:i,openDepositAndWithdraw:u})]})]})},fo=t=>{let{label:o,value:e,textProps:r}=t;return jsxs("div",{className:cn("oui-flex oui-flex-1 oui-flex-col oui-items-center oui-justify-center oui-px-3 oui-py-2","oui-rounded-lg oui-border oui-border-solid oui-border-white/[0.12]"),children:[jsx("div",{className:"oui-text-2xs oui-font-normal oui-leading-[18px] oui-text-base-contrast-54",children:o}),r.type==="gradient"?jsx(Text.gradient,{className:"oui-text-base oui-font-semibold",...r,children:e}):jsx(Text.numeral,{className:"oui-text-base oui-font-semibold",...r,children:e})]})},Gt=t=>{let{label:o,value:e,textProps:r}=t;return jsxs("div",{className:"oui-flex oui-w-full oui-items-center oui-justify-between oui-text-2xs oui-font-normal",children:[jsx("div",{className:"oui-text-base-contrast-54",children:o}),jsx(Text.numeral,{className:"oui-text-base-contrast-80",...r,dp:2,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-36",children:"USDC"}),children:e})]})},ra=t=>{let{isEVMConnected:o,isSOLConnected:e,openDepositAndWithdraw:r}=t,{t:a}=useTranslation();return jsx(AuthGuard,{buttonProps:{size:"md",fullWidth:true},children:o||e?jsxs("div",{className:"oui-flex oui-items-center oui-gap-2",children:[jsx(Button,{className:"oui-flex-1",size:"md",onClick:()=>r("deposit"),children:a("common.deposit")}),jsx(Button,{className:"oui-flex-1",size:"md",color:"secondary",onClick:()=>r("withdraw"),children:a("common.withdraw")})]}):jsx(Button,{size:"md",color:"warning",children:a("connector.wrongNetwork")})})};});var nt,xo=n(()=>{Qt();Kt();nt=t=>{let{vault:o}=t,e=mo(o);return jsx(ho,{...e})};});var ut=n(()=>{xo();Qt();Kt();zt();});var Xt,Zt=n(()=>{ut();Xt=t=>{let{vaults:o}=t,{t:e}=useTranslation();return jsxs("div",{className:"oui-flex oui-flex-col oui-gap-6",children:[jsx("div",{className:"oui-text-xl oui-font-normal oui-text-base-contrast",children:e("vaults.allVaults")}),jsx("div",{className:"oui-grid oui-grid-cols-3 oui-gap-4 min-[1024px]:oui-grid-cols-3",children:o.map(r=>jsx(nt,{vault:r},r.vault_id))})]})};});var yo,Io=n(()=>{ut();yo=t=>{let{vaults:o}=t;return jsx("div",{className:"oui-flex oui-flex-col oui-gap-3",children:o.map(e=>jsx(nt,{vault:e},e.vault_id))})};});var ua,wo=n(()=>{$();Zt();Io();ua=()=>{let{data:t}=ne(),{isMobile:o}=useScreen();return o?jsx(yo,{vaults:t}):jsx(Xt,{vaults:t})};});var Po={};pt(Po,{AllVaultsDesktop:()=>Xt,AllVaultsWidget:()=>ua});var jt=n(()=>{wo();Zt();});dt();F();var le=t=>{let o=X(),{fetchVaultInfo:e,setVaultsPageConfig:r}=g();return useEffect(()=>{t.config&&r(t.config);},[t.config]),useEffect(()=>{o&&e(o);},[o]),jsx("div",{children:t.children})};var pa=Q.lazy(()=>Promise.resolve().then(()=>(It(),ve)).then(t=>({default:t.VaultsHeaderWidget}))),ca=Q.lazy(()=>Promise.resolve().then(()=>(wt(),Pe)).then(t=>({default:t.VaultsIntroductionWidget}))),da=Q.lazy(()=>Promise.resolve().then(()=>(jt(),Po)).then(t=>({default:t.AllVaultsWidget}))),hu=t=>{let{isMobile:o}=useScreen();return jsx(le,{...t,children:jsx("div",{className:cn("oui-relative oui-min-h-screen ","oui-bg-base-10",o?"oui-px-3 oui-py-6":"oui-px-6 oui-py-12",t?.className),children:jsxs("div",{id:"vaults-content",className:cn("oui-mx-auto oui-flex oui-max-w-[1200px] oui-flex-col",o?"oui-gap-6":"oui-gap-12"),children:[jsx(Q.Suspense,{fallback:null,children:jsx(pa,{})}),jsx(Q.Suspense,{fallback:null,children:jsx(ca,{})}),jsx(Q.Suspense,{fallback:null,children:jsx(da,{})})]})})})};T();ft();F();jt();ut();It();wt();Ht();Wt();qt();Ct();Ft();
14
14
 
15
- export { Jt as AllVaultsDesktop, na as AllVaultsWidget, ke as LatestDepositWidget, eo as LatestWithdrawWidget, mo as ORDERLY_ICON, In as ORDERLY_VAULT_DESCRIPTION, yn as ORDERLY_VAULT_TITLE, D as OperationType, Vt as RoleType, xo as VaultCard, it as VaultCardWidget, co as VaultDepositAndWithdraw, qt as VaultDepositAndWithdrawWithDialogId, Mt as VaultDepositAndWithdrawWithSheetId, Be as VaultDepositWidget, uo as VaultWithdrawWidget, ft as VaultsHeaderDesktop, zo as VaultsHeaderWidget, Yo as VaultsIntroductionWidget, fu as VaultsPage, ae as getVaultInfo, se as getVaultLpInfo, ie as getVaultLpPerformance, fo as useVaultCardScript, Sa as useVaultInfoActions, ne as useVaultInfoState, Ta as useVaultLpInfoActions, Na as useVaultLpInfoArray, X as useVaultLpInfoById, Wa as useVaultLpInfoIds, La as useVaultLpInfoState, Ca as useVaultLpPerformanceActions, Da as useVaultLpPerformanceArray, Ra as useVaultLpPerformanceById, _a as useVaultLpPerformanceIds, Pa as useVaultLpPerformanceState, ht as useVaultsHeaderScript, m as useVaultsStore };
15
+ export { Xt as AllVaultsDesktop, ua as AllVaultsWidget, ke as LatestDepositWidget, to as LatestWithdrawWidget, co as ORDERLY_ICON, Pn as ORDERLY_VAULT_DESCRIPTION, wn as ORDERLY_VAULT_TITLE, D as OperationType, Pt as RoleType, ho as VaultCard, nt as VaultCardWidget, po as VaultDepositAndWithdraw, Mt as VaultDepositAndWithdrawWithDialogId, Bt as VaultDepositAndWithdrawWithSheetId, Be as VaultDepositWidget, no as VaultWithdrawWidget, vt as VaultsHeaderDesktop, Bo as VaultsHeaderWidget, Go as VaultsIntroductionWidget, hu as VaultsPage, ae as getVaultInfo, se as getVaultLpInfo, ie as getVaultLpPerformance, mo as useVaultCardScript, Ca as useVaultInfoActions, ne as useVaultInfoState, _a as useVaultLpInfoActions, Aa as useVaultLpInfoArray, j as useVaultLpInfoById, Da as useVaultLpInfoIds, Sa as useVaultLpInfoState, Ta as useVaultLpPerformanceActions, Na as useVaultLpPerformanceArray, Ra as useVaultLpPerformanceById, Wa as useVaultLpPerformanceIds, La as useVaultLpPerformanceState, bt as useVaultsHeaderScript, g as useVaultsStore };
16
16
  //# sourceMappingURL=out.js.map
17
17
  //# sourceMappingURL=index.mjs.map