@orderly.network/vaults 2.6.3 → 2.7.0-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,17 +1,17 @@
1
- import { modal, useModal, SimpleDialog, SimpleSheet, registerSimpleDialog, registerSimpleSheet, Text, Button, Tabs, TabPanel, ArrowDownSquareFillIcon, ArrowUpSquareFillIcon, cn as cn$1, Box, useScreen, toast, TokenIcon, ArrowRightUpSquareFillIcon, Divider } from '@orderly.network/ui';
1
+ import H, { useState, useMemo, useEffect } from 'react';
2
+ import { useCollateral, useTokenInfo, useAccount, useGetEnv, useTrack, useMutation, useConfig, usePrivateQuery } from '@orderly.network/hooks';
2
3
  import { create } from 'zustand';
3
4
  import { useTranslation } from '@orderly.network/i18n';
4
- import { useState, useMemo, useEffect } from 'react';
5
- import { useCollateral, useTokenInfo, useAccount, useGetEnv, useTrack, useMutation, usePrivateQuery, useConfig } from '@orderly.network/hooks';
6
- import { Decimal } from '@orderly.network/utils';
5
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
6
+ import { uniqBy } from 'ramda';
7
+ import { registerSimpleDialog, registerSimpleSheet, Tabs, TabPanel, ArrowDownSquareFillIcon, ArrowUpSquareFillIcon, Box, Text, Button, useScreen, cn, modal, useModal, SimpleDialog, SimpleSheet, toast, ArrowRightUpSquareFillIcon, Divider, TokenIcon } from '@orderly.network/ui';
7
8
  import { TrackerEventName, EMPTY_LIST } from '@orderly.network/types';
9
+ import { Decimal } from '@orderly.network/utils';
8
10
  import { BrokerWallet, QuantityInput, AvailableQuantity } from '@orderly.network/ui-transfer';
9
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
10
11
  import { AuthGuard } from '@orderly.network/ui-connector';
11
- import { uniqBy } from 'ramda';
12
12
 
13
- var D=class extends Error{constructor(e,r,a,s){super(e);this.code=r;this.status=a;this.response=s;this.name="VaultsApiError";}};function _e(t){let o=De(t),e=new URLSearchParams;return Object.entries(o).forEach(([r,a])=>{a!=null&&e.append(r,String(a));}),e.toString()}function De(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 We(t,o){if(!o||Object.keys(o).length===0)return t;let e=_e(o);if(!e)return t;let r=t.includes("?")?"&":"?";return `${t}${r}${e}`}var et=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 y of this.requestInterceptors)a=await y(a);let s=o;typeof o=="string"&&!o.startsWith("http")&&a.baseURL&&(s=`${a.baseURL}${o.startsWith("/")?"":"/"}${o}`),a.params&&(s=typeof s=="string"?We(s,a.params):s);let i;a.timeout&&a.timeout>0&&(i=this.createTimeoutController(a.timeout),a.signal=i.signal);let{retry:n=0,retryDelay:u=1e3,validateStatus:m,params:g,baseURL:f,timeout:x,data:h,method:V,...P}=a,c={...P,method:V};h!==void 0&&(c.body=typeof h=="string"?h:JSON.stringify(h));let C;for(let y=0;y<=n;y++)try{let v=await fetch(s,c);if(!m(v.status)){let w=v.statusText,wt;try{let tt=await v.json();w=tt.message||tt.code||w,wt=tt.code;}catch{}throw new D(w,wt,v.status,v)}let Vt;try{Vt=await v.json();}catch{throw new D("Invalid JSON response","PARSE_ERROR",v.status,v)}let S=Vt;for(let w of this.responseInterceptors)S=await w(v,S);if(typeof S=="object"&&S!==null&&"success"in S){let w=S;if(w.success)return w.data;throw new D(w.message||"API request failed",w.code,v.status,v)}return S}catch(v){if(C=v instanceof Error?v:new Error(String(v)),v instanceof D||v?.name==="AbortError"||y===n)throw C;y<n&&await this.sleep(u);}finally{i?.abort();}throw C}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"})}},Ne=new et;var z=Ne;async function Pt(t){return z.get("/v1/public/strategy_vault/vault/info",{baseURL:t})}async function Ct(t,o){return z.get("/v1/public/strategy_vault/vault/performance",{params:o,baseURL:t})}async function Lt(t,o){return z.get("/v1/public/strategy_vault/lp/info",{params:o,baseURL:t})}var d=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 Pt(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 Ct(s,e);t(n=>({vaultLpPerformance:{...n.vaultLpPerformance,data:{...n.vaultLpPerformance.data,[e.vault_id]:i.rows},loading:!1,error:null,lastUpdated:Date.now()}}));}catch(i){t(n=>({vaultLpPerformance:{...n.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 Lt(s,e);t(n=>({vaultLpInfo:{...n.vaultLpInfo,data:{...n.vaultLpInfo.data,[e.vault_id]:i.rows},loading:!1,error:null,lastUpdated:Date.now()}}));}catch(i){t(n=>({vaultLpInfo:{...n.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});}})),St=()=>d(t=>t.vaultInfo),gr=()=>d(t=>t.vaultLpPerformance),vr=()=>d(t=>t.vaultLpInfo),hr=()=>d(t=>({fetchVaultInfo:t.fetchVaultInfo,refreshVaultInfo:t.refreshVaultInfo})),xr=()=>d(t=>({fetchVaultLpPerformance:t.fetchVaultLpPerformance,refreshVaultLpPerformance:t.refreshVaultLpPerformance})),br=()=>d(t=>({fetchVaultLpInfo:t.fetchVaultLpInfo,refreshVaultLpInfo:t.refreshVaultLpInfo})),Ir=t=>d(o=>o.vaultLpPerformance.data[t]),Q=t=>d(o=>o.vaultLpInfo.data[t]),yr=()=>d(t=>Object.keys(t.vaultLpPerformance.data)),Vr=()=>d(t=>Object.keys(t.vaultLpInfo.data)),wr=()=>d(t=>Object.values(t.vaultLpPerformance.data).flat()),Pr=()=>d(t=>Object.values(t.vaultLpInfo.data).flat());var Tt={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"},Rt={prod:"https://app.orderly.network",staging:"https://staging-app.orderly.network",qa:"https://qa-app.orderly.network",dev:"https://dev-app.orderly.network"};function $(){let t=useGetEnv();return useMemo(()=>Tt[t],[t])}var ot=(e=>(e.LP="lp",e.SP="sp",e))(ot||{}),T=(e=>(e.DEPOSIT="deposit",e.WITHDRAWAL="withdrawal",e))(T||{});var _t={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 Dt=(t,o)=>t==="deposit"&&o==="lp"?0:t==="withdrawal"&&o==="lp"?1:1;var W=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 G=t=>{let{account:o,state:e}=useAccount(),r=useGetEnv(),{track:a}=useTrack(),s=useMemo(()=>_t[r].vaultPvLedger,[r]),[i]=useMutation("/v1/sv_operation_request"),{refetch:n}=W({type:t.type,vaultId:t.vaultId}),u=useMemo(()=>e?.accountId!==e?.mainAccountId,[e?.accountId,e?.mainAccountId]);return {handleOperation:async({amount:g,vaultId:f})=>{if(e.accountId!==e.mainAccountId){toast.error("Please switch to the main account to perform this operation.");return}if(t.type==="deposit"&&new Decimal(g).lt(10)){toast.error("Deposit amount is less than the minimum 10 USDC.");return}let h={payloadType:Dt(t.type,"lp"),amount:new Decimal(Number(g)).mul(10**6).toString(),vaultId:f,token:"USDC",domain:{name:"Orderly",version:"1",chainId:e.connectWallet?.chainId,verifyingContract:s}},{message:V,signatured:P}=await o.generateDexRequest(h);try{let c=await i({message:{...V,chainId:e.connectWallet?.chainId},signature:P,userAddress:e.address,verifyingContract:s});if(!c.success){t.type==="deposit"?a(TrackerEventName.vaultDepositFailed,{msg:c.message}):a(TrackerEventName.vaultWithdrawFailed,{msg:c.message}),toast.error(c.message);return}await n(),t.type==="deposit"?a(TrackerEventName.vaultDepositSuccess,{quantity:g,vaultId:f}):a(TrackerEventName.vaultWithdrawSuccess,{quantity:g,vaultId:f}),toast.success(`${t.type} successful`);}catch(c){let C=c instanceof Error?c.message:String(c);t.type==="deposit"?a(TrackerEventName.vaultDepositFailed,{msg:C}):a(TrackerEventName.vaultWithdrawFailed,{msg:C}),toast.error(C);}},disabledOperation:u}};var rt=10,At=t=>{let{vaultId:o}=t,[e,r]=useState(""),{vaultInfo:a}=d(),{handleOperation:s,disabledOperation:i}=G({type:"deposit",vaultId:o}),{holding:n}=useCollateral(),{t:u}=useTranslation(),m=useMemo(()=>n?.find(y=>y.token==="USDC")?.holding||0,[n]),g=useMemo(()=>a.data.find(v=>v.vault_id===o)?.est_main_share_price,[a.data,o]),f=useMemo(()=>!g||!e?"-":new Decimal(e).div(g).toString(),[e,g]),x=async()=>{!f||f==="-"||(await s({amount:e,vaultId:o}),r(""));},h=useTokenInfo("USDC"),V=useMemo(()=>({...h,display_name:h?.token,symbol:h?.token}),[h]),P=y=>{if(y&&new Decimal(y).gt(m)){r(m.toString());return}r(y);},c=useMemo(()=>!e||e==="0"||i||!!e&&new Decimal(e).lt(rt),[e,i]),C=useMemo(()=>e&&new Decimal(e).lt(rt)?{hintMessage:u("vaults.operation.error.minDeposit",{amount:rt}),status:"error"}:{hintMessage:"",status:""},[e,u]);return {quantity:e,onQuantityChange:P,sourceToken:V,maxQuantity:m,sharePrice:g,shares:f,handleDeposit:x,vaultId:o,disabledDeposit:c,disabledOperation:i,inputHint:C}};var Ot=({vaultId:t})=>{let{latestOperation:o}=W({type:"deposit",vaultId:t});return {latestOperation:o}};var K=t=>t==="completed"?"success":t==="rejected"||t==="failed"?"danger":"primary";var Et=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$1("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:K(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 kt=t=>{let{vaultId:o}=t,e=Ot({vaultId:o});return jsx(Et,{...e})};var qt=t=>{let{quantity:o,onQuantityChange:e,sourceToken:r,maxQuantity:a,shares:s,handleDeposit:i,vaultId:n,disabledDeposit:u,disabledOperation:m,inputHint:g}=t,{t:f}=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:g.hintMessage,status:g.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:f("vaults.deposit.estShares")}),jsx(Text.numeral,{dp:6,padding:false,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-54",children:f("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:f("vaults.deposit.lockupDuration")}),jsx(Text.numeral,{suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-54",children:"hrs"}),children:"48"})]}),m&&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:u,className:"oui-mt-3",onClick:i,children:f("common.deposit")}),jsx(kt,{vaultId:n})]})};var Mt=t=>{let{vaultId:o}=t,e=At({vaultId:o});return jsx(qt,{...e})};var Ht=t=>{let{vaultId:o}=t,[e,r]=useState(""),{handleOperation:a,disabledOperation:s}=G({type:"withdrawal",vaultId:o}),i=Q(o),{vaultInfo:n}=d(),u=useMemo(()=>n.data.find(P=>P.vault_id===o)?.est_main_share_price||0,[n.data,o]),m=i?.[0]?.available_main_shares||0,g=useMemo(()=>!e||!u?"-":new Decimal(e).mul(u).toString(),[e,u]),f=async()=>{await a({amount:e,vaultId:o});},x=V=>{V&&new Decimal(V).gt(m)?r(m.toString()):r(V);},h=useMemo(()=>!e||e==="0"||s,[e,s]);return {quantity:e,onQuantityChange:x,maxQuantity:m,handleWithdraw:f,vaultId:o,sharePrice:u,receivingAmount:g,disabledWithdraw:h,disabledOperation:s}};var zt=({vaultId:t})=>{let{latestOperation:o}=W({type:"withdrawal",vaultId:t});return {latestOperation:o}};var ut=()=>jsx("div",{className:"oui-size-2 oui-rounded-full oui-bg-white/[0.54]"}),Qt=()=>jsx("div",{className:"oui-h-px oui-flex-1 oui-bg-white/[0.2]"}),lt=({children:t,className:o})=>jsx("div",{className:cn$1("oui-flex-1 oui-text-2xs oui-font-normal oui-text-base-contrast-80",o),children:t}),no=()=>{let{t}=useTranslation();return jsxs(Fragment,{children:[jsxs("div",{className:"oui-flex oui-items-center",children:[jsx(ut,{}),jsx("div",{className:"oui-flex-1",children:jsx(Qt,{})}),jsx(ut,{}),jsx("div",{className:"oui-flex-1",children:jsx(Qt,{})}),jsx(ut,{})]}),jsxs("div",{className:"oui-mt-1 oui-flex oui-justify-between",children:[jsx(lt,{children:t("vaults.withdraw.process.initiate")}),jsx(lt,{className:"oui-text-center",children:t("vaults.withdraw.process.vaultProcess")}),jsx(lt,{className:"oui-text-right",children:t("vaults.withdraw.process.transferred")})]})]})},J=()=>{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(no,{})]})};var Kt=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$1("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:K(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(J,{})};var Jt=t=>{let{vaultId:o}=t,e=zt({vaultId:o});return jsx(Kt,{...e})};var jt=t=>{let{quantity:o,onQuantityChange:e,maxQuantity:r,handleWithdraw:a,vaultId:s,sharePrice:i,receivingAmount:n,disabledWithdraw:u,disabledOperation:m}=t,{isMobile:g}=useScreen(),f=()=>{modal.show(g?wo:Vo,{quantity:o,receivingAmount:n,handleWithdraw:a});},{t:x}=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(X,{label:x("vaults.withdraw.estPricePerShare"),currency:"$",value:i||"-",className:"oui-mb-1 oui-mt-5"}),jsx(X,{label:x("vaults.withdraw.estReceivingAmount"),value:n,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-36",children:"USDC"}),className:"oui-mb-5"}),m&&jsx("div",{className:"oui-mt-3 oui-text-center",children:jsx(Text,{color:"warning",className:"oui-text-sm oui-font-semibold",children:x("vaults.operation.error.switchAccount")})}),jsx(Button,{fullWidth:true,color:"primary",disabled:u,className:"oui-mt-3",onClick:f,children:x("common.withdraw")}),jsx("div",{className:"oui-mt-3",children:jsx(Jt,{vaultId:s})})]})},X=({label:t,value:o,suffix:e,currency:r,className:a})=>jsxs("div",{className:cn$1("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})]}),te=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(X,{label:s("vaults.withdraw.dialog.withdrawalAmount"),value:o,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-36",children:"Shares"})}),jsx(X,{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(J,{}),jsx(Button,{fullWidth:true,color:"primary",className:"oui-mt-5",onClick:async()=>{await r(),a?.();},children:s("vaults.withdraw.dialog.initiateWithdrawal")})]})},Vo=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(te,{quantity:t,receivingAmount:o,handleWithdraw:e,hide:a})})}),wo=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(te,{quantity:t,receivingAmount:o,handleWithdraw:e,hide:a})})});var ee=t=>{let{vaultId:o}=t,e=Ht({vaultId:o});return jsx(jt,{...e})};var mt="VaultDepositAndWithdrawWithDialogId",ft="VaultDepositAndWithdrawWithSheetId",re=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(Mt,{vaultId:r})}),jsx(TabPanel,{title:a("common.withdraw"),icon:jsx(ArrowUpSquareFillIcon,{}),value:"withdraw",children:jsx(ee,{vaultId:r})})]})};registerSimpleDialog(mt,re,{size:"md",classNames:{content:"oui-border oui-border-line-6"}});registerSimpleSheet(ft,re);var ae="https://oss.orderly.network/static/symbol_logo/ORDER.png",Pi="Orderly OmniVault",Ci="Earn passive yields effortlessly, no trading expertise required. OmniVault deploys market-making strategies, taking on liquidations, and accrue platform fees.";var ie=t=>{let{t:o}=useTranslation(),e=Q(t.vault_id),{fetchVaultLpInfo:r}=d(),a=useGetEnv(),{isMobile:s}=useScreen(),{state:i}=useAccount(),n=$(),{holding:u}=useCollateral(),m=useMemo(()=>u?.find(c=>c.token==="USDC")?.holding||0,[u]);useEffect(()=>{!i.address||!n||!t.vault_id||r({vault_id:t.vault_id,wallet_address:i.address},n);},[t.vault_id,i.address,n]);let g=useMemo(()=>m,[m]),f=useMemo(()=>{let c=e?.[0];return c?{deposits:c.lp_tvl-c.potential_pnl,earnings:c.potential_pnl}:{deposits:"--",earnings:"--"}},[e]),x=useMemo(()=>i.chainNamespace==="EVM",[i.chainNamespace]),h=useMemo(()=>i.chainNamespace!=="EVM"&&i.accountId!==i.mainAccountId,[i.chainNamespace,i.accountId,i.mainAccountId]),V=c=>{modal.show(s?ft:mt,{activeTab:c,vaultId:t.vault_id});},P=()=>{let c=Rt[a];window.open(`${c}/vaults`,"_blank");};return {title:o("vaults.card.orderly.title"),description:o("vaults.card.orderly.description"),icon:ae,vaultInfo:t,lpInfo:f,isEVMConnected:x,openDepositAndWithdraw:V,availableBalance:g,openVaultWebsite:P,isWrongNetwork:h}};var le=t=>{let{title:o,vaultInfo:e,lpInfo:r,description:a,isEVMConnected:s,openDepositAndWithdraw:i,availableBalance:n,openVaultWebsite:u}=t,{t:m}=useTranslation(),{isMobile:g}=useScreen(),f=useMemo(()=>jsx("div",{className:"oui-flex oui-items-center",children:e.supported_chains.map((x,h)=>jsx("img",{src:`https://oss.orderly.network/static/network_logo/${x.chain_id}.png`,alt:x.chain_id,className:cn$1("oui-relative",g?"oui-size-[18px]":"oui-size-5"),style:{marginLeft:h>0?"-4px":"0",zIndex:e.supported_chains.length-h}},x.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}),f,jsx("div",{className:"oui-z-50 oui-ml-auto oui-cursor-pointer",onClick:u,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(se,{label:m("vaults.card.tvl"),value:e.tvl,textProps:{currency:"$",dp:0,type:"numeral"}}),jsx(se,{label:m("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(vt,{label:m("vaults.card.myDeposits"),value:r.deposits}),jsx(vt,{label:m("vaults.card.myEarnings"),value:r.earnings})]}),jsx(vt,{label:m("vaults.card.accountBalance"),value:n}),jsx(zo,{isEVMConnected:s,openDepositAndWithdraw:i})]})]})},se=t=>{let{label:o,value:e,textProps:r}=t;return jsxs("div",{className:cn$1("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})]})},vt=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})]})},zo=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 j=t=>{let{vault:o}=t,e=ie(o);return jsx(le,{...e})};var pe=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(j,{vault:r},r.vault_id))})]})};var de=t=>{let{vaults:o}=t;return jsx("div",{className:"oui-flex oui-flex-col oui-gap-3",children:o.map(e=>jsx(j,{vault:e},e.vault_id))})};var fe=()=>{let t=St().data,{isMobile:o}=useScreen();return o?jsx(de,{vaults:t}):jsx(pe,{vaults:t})};var ve=t=>{let o=$(),{fetchVaultInfo:e,setVaultsPageConfig:r}=d();return useEffect(()=>{t.config&&r(t.config);},[t.config]),useEffect(()=>{o&&e(o);},[o]),jsx("div",{children:t.children})};var xe=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((n,u)=>jsx("img",{src:`https://oss.orderly.network/static/network_logo/${n.chain_id}.png`,alt:n.chain_id,className:"oui-relative oui-size-5",style:{marginLeft:u>0?"-4px":"0",zIndex:o.length-u}},n.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 Ie=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((n,u)=>jsx("img",{src:`https://oss.orderly.network/static/network_logo/${n.chain_id}.png`,alt:n.chain_id,className:"oui-relative oui-size-[18px]",style:{marginLeft:u>0?"-4px":"0",zIndex:o.length-u}},n.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 ye=()=>{let{vaultInfo:t,vaultsPageConfig:o}=d(),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 we=()=>{let t=ye(),{isMobile:o}=useScreen();return o?jsx(Ie,{...t}):jsx(xe,{...t})};var Ce=t=>{let{t:o}=useTranslation(),{isMobile:e}=useScreen(),{vaultsInfo:r}=t;return jsxs("div",{className:cn$1("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$1("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$1("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$1("oui-flex oui-flex-1 oui-flex-col oui-items-center ",a?"oui-gap-0.5":"oui-gap-3"),children:[jsx("div",{className:cn$1("oui-font-normal oui-text-base-contrast-54",a?"oui-text-2xs":"oui-text-base"),children:o}),jsx(Text.numeral,{className:cn$1("oui-font-semibold",a?"oui-text-base":"oui-text-xl"),dp:0,...r,children:e})]})};var Se=()=>{let{vaultInfo:t}=d();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 Te=()=>{let t=Se();return jsx(Ce,{...t})};var cn=t=>{let{isMobile:o}=useScreen();return jsx(ve,{...t,children:jsx("div",{className:cn$1("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$1("oui-mx-auto oui-flex oui-max-w-[1200px] oui-flex-col",o?"oui-gap-6":"oui-gap-12"),children:[jsx(we,{}),jsx(Te,{}),jsx(fe,{})]})})})};
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();
14
14
 
15
- export { pe as AllVaultsDesktop, fe as AllVaultsWidget, kt as LatestDepositWidget, Jt as LatestWithdrawWidget, ae as ORDERLY_ICON, Ci as ORDERLY_VAULT_DESCRIPTION, Pi as ORDERLY_VAULT_TITLE, T as OperationType, ot as RoleType, le as VaultCard, j as VaultCardWidget, re as VaultDepositAndWithdraw, mt as VaultDepositAndWithdrawWithDialogId, ft as VaultDepositAndWithdrawWithSheetId, Mt as VaultDepositWidget, ee as VaultWithdrawWidget, xe as VaultsHeaderDesktop, we as VaultsHeaderWidget, Te as VaultsIntroductionWidget, cn as VaultsPage, Pt as getVaultInfo, Lt as getVaultLpInfo, Ct as getVaultLpPerformance, ie as useVaultCardScript, hr as useVaultInfoActions, St as useVaultInfoState, br as useVaultLpInfoActions, Pr as useVaultLpInfoArray, Q as useVaultLpInfoById, Vr as useVaultLpInfoIds, vr as useVaultLpInfoState, xr as useVaultLpPerformanceActions, wr as useVaultLpPerformanceArray, Ir as useVaultLpPerformanceById, yr as useVaultLpPerformanceIds, gr as useVaultLpPerformanceState, ye as useVaultsHeaderScript, d as useVaultsStore };
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 };
16
16
  //# sourceMappingURL=out.js.map
17
17
  //# sourceMappingURL=index.mjs.map