@orderly.network/vaults 2.6.1 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,16 +1,17 @@
1
- import { modal, useModal, SimpleDialog, Text, Button, registerSimpleDialog, registerSimpleSheet, cn, Tabs, TabPanel, ArrowDownSquareFillIcon, ArrowUpSquareFillIcon, Box, toast, TokenIcon, ArrowRightUpSquareFillIcon, Divider } from '@orderly.network/ui';
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';
2
2
  import { create } from 'zustand';
3
3
  import { useTranslation } from '@orderly.network/i18n';
4
4
  import { useState, useMemo, useEffect } from 'react';
5
- import { useCollateral, useTokenInfo, useAccount, useGetEnv, useMutation, usePrivateQuery, useConfig } from '@orderly.network/hooks';
5
+ import { useCollateral, useTokenInfo, useAccount, useGetEnv, useTrack, useMutation, usePrivateQuery, useConfig } from '@orderly.network/hooks';
6
6
  import { Decimal } from '@orderly.network/utils';
7
+ import { TrackerEventName, EMPTY_LIST } from '@orderly.network/types';
7
8
  import { BrokerWallet, QuantityInput, AvailableQuantity } from '@orderly.network/ui-transfer';
8
9
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
10
  import { AuthGuard } from '@orderly.network/ui-connector';
10
11
  import { uniqBy } from 'ramda';
11
12
 
12
- var R=class extends Error{constructor(o,r,s,i){super(o);this.code=r;this.status=s;this.response=i;this.name="VaultsApiError";}};function me(t){let e=fe(t),o=new URLSearchParams;return Object.entries(e).forEach(([r,s])=>{s!=null&&o.append(r,String(s));}),o.toString()}function fe(t){let e={};return Object.entries(t).forEach(([o,r])=>{r!=null&&(typeof r=="string"||typeof r=="number"||typeof r=="boolean"?e[o]=r:typeof r=="object"&&r!==null&&Object.entries(r).forEach(([i,a])=>{a!=null&&(typeof a=="string"||typeof a=="number"||typeof a=="boolean")&&(e[i]=a);}));}),e}function ge(t,e){if(!e||Object.keys(e).length===0)return t;let o=me(e);if(!o)return t;let r=t.includes("?")?"&":"?";return `${t}${r}${o}`}var Y=class{constructor(){this.requestInterceptors=[];this.responseInterceptors=[];this.defaultConfig={timeout:1e4,retry:3,retryDelay:1e3,validateStatus:e=>e>=200&&e<300,headers:{"Content-Type":"application/json"}};}addRequestInterceptor(e){this.requestInterceptors.push(e);}addResponseInterceptor(e){this.responseInterceptors.push(e);}createTimeoutController(e){let o=new AbortController;return setTimeout(()=>o.abort(),e),o}mergeHeaders(e={},o={}){return {...e,...o}}sleep(e){return new Promise(o=>setTimeout(o,e))}async request(e,o={}){let s={...this.defaultConfig,...o,headers:this.mergeHeaders(this.defaultConfig.headers,o.headers)};for(let T of this.requestInterceptors)s=await T(s);let i=e;typeof e=="string"&&!e.startsWith("http")&&s.baseURL&&(i=`${s.baseURL}${e.startsWith("/")?"":"/"}${e}`),s.params&&(i=typeof i=="string"?ge(i,s.params):i);let a;s.timeout&&s.timeout>0&&(a=this.createTimeoutController(s.timeout),s.signal=a.signal);let{retry:n=0,retryDelay:u=1e3,validateStatus:c,params:V,baseURL:v,timeout:h,data:y,method:g,...x}=s,ut={...x,method:g};y!==void 0&&(ut.body=typeof y=="string"?y:JSON.stringify(y));let $;for(let T=0;T<=n;T++)try{let m=await fetch(i,ut);if(!c(m.status)){let I=m.statusText,pt;try{let G=await m.json();I=G.message||G.code||I,pt=G.code;}catch{}throw new R(I,pt,m.status,m)}let lt;try{lt=await m.json();}catch{throw new R("Invalid JSON response","PARSE_ERROR",m.status,m)}let w=lt;for(let I of this.responseInterceptors)w=await I(m,w);if(typeof w=="object"&&w!==null&&"success"in w){let I=w;if(I.success)return I.data;throw new R(I.message||"API request failed",I.code,m.status,m)}return w}catch(m){if($=m instanceof Error?m:new Error(String(m)),m instanceof R||m?.name==="AbortError"||T===n)throw $;T<n&&await this.sleep(u);}finally{a?.abort();}throw $}async get(e,o={}){return this.request(e,{...o,method:"GET"})}async post(e,o={}){return this.request(e,{...o,method:"POST"})}async put(e,o={}){return this.request(e,{...o,method:"PUT"})}async delete(e,o={}){return this.request(e,{...o,method:"DELETE"})}async patch(e,o={}){return this.request(e,{...o,method:"PATCH"})}},ve=new Y;var E=ve;async function ct(t){return E.get("/v1/public/strategy_vault/vault/info",{baseURL:t})}async function dt(t,e){return E.get("/v1/public/strategy_vault/vault/performance",{params:e,baseURL:t})}async function mt(t,e){return E.get("/v1/public/strategy_vault/lp/info",{params:e,baseURL:t})}var p=create((t,e)=>({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:o=>{t({baseUrl:o});},fetchVaultInfo:async o=>{let r=e(),s=o||r.baseUrl;if(!s){t(i=>({vaultInfo:{...i.vaultInfo,error:"Base URL is required"}}));return}t(i=>({baseUrl:o||i.baseUrl,vaultInfo:{...i.vaultInfo,loading:true,error:null}}));try{let i=await ct(s);t(a=>({vaultInfo:{...a.vaultInfo,data:i.rows,loading:!1,error:null,lastUpdated:Date.now()}}));}catch(i){t(a=>({vaultInfo:{...a.vaultInfo,loading:false,error:i instanceof Error?i.message:"Failed to fetch vault info"}}));}},refreshVaultInfo:async()=>{let o=e();o.vaultInfo.lastUpdated&&o.baseUrl&&await o.fetchVaultInfo();},fetchVaultLpPerformance:async(o,r)=>{let s=e(),i=r||s.baseUrl;if(!i){t(a=>({vaultLpPerformance:{...a.vaultLpPerformance,error:"Base URL is required"}}));return}t(a=>({baseUrl:r||a.baseUrl,vaultLpPerformance:{...a.vaultLpPerformance,loading:true,error:null,params:o}}));try{let a=await dt(i,o);t(n=>({vaultLpPerformance:{...n.vaultLpPerformance,data:{...n.vaultLpPerformance.data,[o.vault_id]:a.rows},loading:!1,error:null,lastUpdated:Date.now()}}));}catch(a){t(n=>({vaultLpPerformance:{...n.vaultLpPerformance,loading:false,error:a instanceof Error?a.message:"Failed to fetch vault LP performance"}}));}},refreshVaultLpPerformance:async()=>{let o=e();o.vaultLpPerformance.lastUpdated&&o.vaultLpPerformance.params&&o.baseUrl&&await o.fetchVaultLpPerformance(o.vaultLpPerformance.params);},fetchVaultLpInfo:async(o,r)=>{let s=e(),i=r||s.baseUrl;if(!i){t(a=>({vaultLpInfo:{...a.vaultLpInfo,error:"Base URL is required"}}));return}t(a=>({baseUrl:r||a.baseUrl,vaultLpInfo:{...a.vaultLpInfo,loading:true,error:null,params:o}}));try{let a=await mt(i,o);t(n=>({vaultLpInfo:{...n.vaultLpInfo,data:{...n.vaultLpInfo.data,[o.vault_id]:a.rows},loading:!1,error:null,lastUpdated:Date.now()}}));}catch(a){t(n=>({vaultLpInfo:{...n.vaultLpInfo,loading:false,error:a instanceof Error?a.message:"Failed to fetch vault LP info"}}));}},refreshVaultLpInfo:async()=>{let o=e();o.vaultLpInfo.lastUpdated&&o.vaultLpInfo.params&&o.baseUrl&&await o.fetchVaultLpInfo(o.vaultLpInfo.params);},setVaultsPageConfig:o=>{t({vaultsPageConfig:o});}})),ft=()=>p(t=>t.vaultInfo),$o=()=>p(t=>t.vaultLpPerformance),Go=()=>p(t=>t.vaultLpInfo),Yo=()=>p(t=>({fetchVaultInfo:t.fetchVaultInfo,refreshVaultInfo:t.refreshVaultInfo})),Ko=()=>p(t=>({fetchVaultLpPerformance:t.fetchVaultLpPerformance,refreshVaultLpPerformance:t.refreshVaultLpPerformance})),Jo=()=>p(t=>({fetchVaultLpInfo:t.fetchVaultLpInfo,refreshVaultLpInfo:t.refreshVaultLpInfo})),jo=t=>p(e=>e.vaultLpPerformance.data[t]),k=t=>p(e=>e.vaultLpInfo.data[t]),Xo=()=>p(t=>Object.keys(t.vaultLpPerformance.data)),Zo=()=>p(t=>Object.keys(t.vaultLpInfo.data)),tr=()=>p(t=>Object.values(t.vaultLpPerformance.data).flat()),er=()=>p(t=>Object.values(t.vaultLpInfo.data).flat());var gt={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"},vt={prod:"https://app.orderly.network",staging:"https://staging-app.orderly.network",qa:"https://qa-app.orderly.network",dev:"https://dev-app.orderly.network"};function q(){let t=useGetEnv();return useMemo(()=>gt[t],[t])}var K=(o=>(o.LP="lp",o.SP="sp",o))(K||{}),L=(o=>(o.DEPOSIT="deposit",o.WITHDRAWAL="withdrawal",o))(L||{});var ht={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 xt=(t,e)=>t==="deposit"&&e==="lp"?0:t==="withdrawal"&&e==="lp"?1:1;var _=t=>{let{type:e,vaultId:o}=t,{data:r,mutate:s}=usePrivateQuery(`/v1/account_sv_transaction_history?type=${e}&vault_id=${o}&size=1`,{formatter:a=>a?.rows||[],revalidateOnFocus:false});return {latestOperation:useMemo(()=>r?.[0],[r]),refetch:s}};var B=t=>{let{account:e,state:o}=useAccount(),r=useGetEnv(),s=useMemo(()=>ht[r].vaultPvLedger,[r]),[i]=useMutation("/v1/sv_operation_request"),{refetch:a}=_({type:t.type,vaultId:t.vaultId});return {handleOperation:async({amount:u,vaultId:c})=>{if(o.accountId!==o.mainAccountId){toast.error("Please switch to the main account to perform this operation.");return}if(t.type==="deposit"&&new Decimal(u).lt(10)){toast.error("Deposit amount is less than the minimum 10 USDC.");return}let v={payloadType:xt(t.type,"lp"),amount:new Decimal(Number(u)).mul(10**6).toString(),vaultId:c,token:"USDC",domain:{name:"Orderly",version:"1",chainId:o.connectWallet?.chainId,verifyingContract:s}},{message:h,signatured:y}=await e.generateDexRequest(v);try{let g=await i({message:{...h,chainId:o.connectWallet?.chainId},signature:y,userAddress:o.address,verifyingContract:s});if(!g.success){toast.error(g.message);return}await a(),toast.success(`${t.type} successful`);}catch(g){toast.error(g.message);}}}};var It=t=>{let{vaultId:e}=t,[o,r]=useState(""),{vaultInfo:s}=p(),{handleOperation:i}=B({type:"deposit",vaultId:e}),{holding:a}=useCollateral(),n=useMemo(()=>a?.find(g=>g.token==="USDC")?.holding||0,[a]),u=useMemo(()=>s.data.find(x=>x.vault_id===e)?.est_main_share_price,[s.data,e]),c=useMemo(()=>!u||!o?"-":new Decimal(o).div(u).toString(),[o,u]),V=async()=>{!c||c==="-"||(await i({amount:o,vaultId:e}),r(""));},v=useTokenInfo("USDC"),h=useMemo(()=>({...v,display_name:v?.token,symbol:v?.token}),[v]);return {quantity:o,onQuantityChange:g=>{if(g&&new Decimal(g).gt(n)){r(n.toString());return}r(g);},sourceToken:h,maxQuantity:n,sharePrice:u,shares:c,handleDeposit:V,vaultId:e}};var Vt=({vaultId:t})=>{let{latestOperation:e}=_({type:"deposit",vaultId:t});return {latestOperation:e}};var Q=t=>t==="completed"?"success":t==="rejected"?"danger":"primary";var Lt=t=>{let{latestOperation:e}=t,{t:o}=useTranslation();return e?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:o("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",e.status==="completed"&&"oui-bg-success",e.status==="rejected"&&"oui-bg-danger",(e.status==="pending"||e.status==="new")&&"oui-bg-primary")}),jsx(Text,{color:Q(e.status),className:"oui-text-xs oui-font-normal",children:e.status.slice(0,1).toUpperCase()+e.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:e.amount_change})]})})]}):null};var Ct=t=>{let{vaultId:e}=t,o=Vt({vaultId:e});return jsx(Lt,{...o})};var Tt=t=>{let{quantity:e,onQuantityChange:o,sourceToken:r,maxQuantity:s,shares:i,handleDeposit:a,vaultId:n}=t,{t:u}=useTranslation();return jsxs("div",{children:[jsx(BrokerWallet,{}),jsx(Box,{mt:3,mb:1,children:jsx(QuantityInput,{value:e,onValueChange:o,token:{...r,precision:6},testId:"oui-testid-vault-deposit-dialog-quantity-input"})}),jsx(AvailableQuantity,{maxQuantity:s?.toString()||"0",onClick:()=>{o(s?.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:u("vaults.deposit.estShares")}),jsx(Text.numeral,{dp:6,padding:false,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-54",children:u("vaults.deposit.shares")}),children:i})]}),jsxs(Box,{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:u("vaults.deposit.lockupDuration")}),jsx(Text.numeral,{suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-54",children:"hrs"}),children:"48"})]}),jsx(Button,{fullWidth:true,color:"primary",disabled:!e||e==="0",className:"oui-mt-8",onClick:a,children:u("common.deposit")}),jsx(Ct,{vaultId:n})]})};var Rt=t=>{let{vaultId:e}=t,o=It({vaultId:e});return jsx(Tt,{...o})};var Wt=t=>{let{vaultId:e}=t,[o,r]=useState(""),{handleOperation:s}=B({type:"withdrawal",vaultId:e}),i=k(e),{vaultInfo:a}=p(),n=useMemo(()=>a.data.find(y=>y.vault_id===e)?.est_main_share_price||0,[a.data,e]),u=i?.[0]?.available_main_shares||0,c=useMemo(()=>!o||!n?"-":new Decimal(o).mul(n).toString(),[o,n]);return {quantity:o,onQuantityChange:h=>{h&&new Decimal(h).gt(u)?r(u.toString()):r(h);},maxQuantity:u,handleWithdraw:async()=>{await s({amount:o,vaultId:e});},vaultId:e,sharePrice:n,receivingAmount:c}};var Nt=({vaultId:t})=>{let{latestOperation:e}=_({type:"withdrawal",vaultId:t});return {latestOperation:e}};var X=()=>jsx("div",{className:"oui-size-2 oui-rounded-full oui-bg-white/[0.54]"}),At=()=>jsx("div",{className:"oui-h-px oui-flex-1 oui-bg-white/[0.2]"}),Z=({children:t,className:e})=>jsx("div",{className:cn("oui-flex-1 oui-text-2xs oui-font-normal oui-text-base-contrast-80",e),children:t}),Me=()=>{let{t}=useTranslation();return jsxs(Fragment,{children:[jsxs("div",{className:"oui-flex oui-items-center",children:[jsx(X,{}),jsx("div",{className:"oui-flex-1",children:jsx(At,{})}),jsx(X,{}),jsx("div",{className:"oui-flex-1",children:jsx(At,{})}),jsx(X,{})]}),jsxs("div",{className:"oui-mt-1 oui-flex oui-justify-between",children:[jsx(Z,{children:t("vaults.withdraw.process.initiate")}),jsx(Z,{className:"oui-text-center",children:t("vaults.withdraw.process.vaultProcess")}),jsx(Z,{className:"oui-text-right",children:t("vaults.withdraw.process.transferred")})]})]})},H=()=>{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(Me,{})]})};var Et=t=>{let{latestOperation:e}=t,{t:o}=useTranslation();return e?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:o("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",e.status==="completed"&&"oui-bg-success",e.status==="rejected"&&"oui-bg-danger",(e.status==="pending"||e.status==="new")&&"oui-bg-primary")}),jsx(Text,{color:Q(e.status),className:"oui-text-xs oui-font-normal",children:e.status.slice(0,1).toUpperCase()+e.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:e.amount_change||"-"})]})})]}):jsx(H,{})};var kt=t=>{let{vaultId:e}=t,o=Nt({vaultId:e});return jsx(Et,{...o})};var Ht=t=>{let{quantity:e,onQuantityChange:o,maxQuantity:r,handleWithdraw:s,vaultId:i,sharePrice:a,receivingAmount:n}=t,u=()=>{modal.show(eo,{quantity:e,receivingAmount:n,handleWithdraw:s});},{t:c}=useTranslation();return jsxs("div",{children:[jsx(BrokerWallet,{}),jsx(Box,{mt:3,mb:1,children:jsx(QuantityInput,{value:e,onValueChange:o,token:{display_name:"Shares",precision:6},testId:"oui-testid-vault-withdraw-dialog-quantity-input"})}),jsx(AvailableQuantity,{maxQuantity:r,onClick:()=>{o(r.toString());}}),jsx(z,{label:c("vaults.withdraw.estPricePerShare"),currency:"$",value:a||"-",className:"oui-mb-1 oui-mt-5"}),jsx(z,{label:c("vaults.withdraw.estReceivingAmount"),value:n,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-36",children:"USDC"}),className:"oui-mb-1"}),jsx(Button,{fullWidth:true,color:"primary",disabled:!e||e==="0",className:"oui-mt-8",onClick:u,children:c("common.withdraw")}),jsx("div",{className:"oui-mt-3",children:jsx(kt,{vaultId:i})})]})},z=({label:t,value:e,suffix:o,currency:r,className:s})=>jsxs("div",{className:cn("oui-flex oui-items-center oui-justify-between oui-text-sm oui-font-semibold oui-text-base-contrast-54",s),children:[jsx("div",{children:t}),jsx(Text.numeral,{currency:r,className:"oui-text-base-contrast",suffix:o,children:e})]}),eo=modal.create(({quantity:t,receivingAmount:e,handleWithdraw:o})=>{let{visible:r,hide:s,onOpenChange:i}=useModal(),{t:a}=useTranslation();return jsx(SimpleDialog,{title:a("vaults.withdraw.dialog.title"),open:r,onOpenChange:i,children:jsxs("div",{className:"oui-flex oui-flex-col",children:[jsx(z,{label:a("vaults.withdraw.dialog.withdrawalAmount"),value:t,suffix:jsx("span",{className:"oui-ml-1 oui-text-base-contrast-36",children:"Shares"})}),jsx(z,{label:a("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:a("vaults.withdraw.dialog.note")}),jsx(H,{}),jsx(Button,{fullWidth:true,color:"primary",className:"oui-mt-5",onClick:async()=>{await o(),s();},children:a("vaults.withdraw.dialog.initiateWithdrawal")})]})})});var zt=t=>{let{vaultId:e}=t,o=Wt({vaultId:e});return jsx(Ht,{...o})};var et="VaultDepositAndWithdrawWithDialogId",po="VaultDepositAndWithdrawWithSheetId",Gt=t=>{let[e,o]=useState(t.activeTab||"deposit"),{vaultId:r}=t,{t:s}=useTranslation();return jsxs(Tabs,{value:e,onValueChange:o,variant:"contained",size:"lg",classNames:{tabsList:"oui-px-0",tabsContent:"oui-pt-5"},children:[jsx(TabPanel,{title:s("common.deposit"),icon:jsx(ArrowDownSquareFillIcon,{}),value:"deposit",children:jsx(Rt,{vaultId:r})}),jsx(TabPanel,{title:s("common.withdraw"),icon:jsx(ArrowUpSquareFillIcon,{}),value:"withdraw",children:jsx(zt,{vaultId:r})})]})};registerSimpleDialog(et,Gt,{size:"md",classNames:{content:"oui-border oui-border-line-6"}});registerSimpleSheet(po,Gt);var Yt="https://oss.orderly.network/static/symbol_logo/ORDER.png",Xa="Orderly OmniVault",Za="Earn passive yields effortlessly, no trading expertise required. OmniVault deploys market-making strategies, taking on liquidations, and accrue platform fees.";var Kt=t=>{let{t:e}=useTranslation(),o=k(t.vault_id),{fetchVaultLpInfo:r}=p(),s=useGetEnv(),{state:i}=useAccount(),a=q(),{holding:n}=useCollateral(),u=useMemo(()=>n?.find(x=>x.token==="USDC")?.holding||0,[n]);useEffect(()=>{!i.address||!a||!t.vault_id||r({vault_id:t.vault_id,wallet_address:i.address},a);},[t.vault_id,i.address,a]);let c=useMemo(()=>u,[u]),V=useMemo(()=>{let x=o?.[0];return x?{deposits:x.lp_tvl-x.potential_pnl,earnings:x.potential_pnl}:{deposits:"--",earnings:"--"}},[o]),v=useMemo(()=>i.chainNamespace==="EVM",[i.chainNamespace]),h=useMemo(()=>i.chainNamespace!=="EVM"&&i.accountId!==i.mainAccountId,[i.chainNamespace,i.accountId,i.mainAccountId]),y=x=>{modal.show(et,{activeTab:x,vaultId:t.vault_id});},g=()=>{let x=vt[s];window.open(`${x}/vaults`,"_blank");};return {title:e("vaults.card.orderly.title"),description:e("vaults.card.orderly.description"),icon:Yt,vaultInfo:t,lpInfo:V,isEVMConnected:v,openDepositAndWithdraw:y,availableBalance:c,openVaultWebsite:g,isWrongNetwork:h}};var Xt=t=>{let{title:e,vaultInfo:o,lpInfo:r,description:s,isEVMConnected:i,openDepositAndWithdraw:a,availableBalance:n,openVaultWebsite:u}=t,{t:c}=useTranslation(),V=useMemo(()=>jsx("div",{className:"oui-flex oui-items-center",children:o.supported_chains.map((v,h)=>jsx("img",{src:`https://oss.orderly.network/static/network_logo/${v.chain_id}.png`,alt:v.chain_id,className:"oui-relative oui-size-5",style:{marginLeft:h>0?"-4px":"0",zIndex:o.supported_chains.length-h}},v.chain_id))}),[o.supported_chains]);return jsxs("div",{style:{height:"388px"},className:"oui-relative oui-h-[388px] oui-overflow-hidden oui-rounded-2xl 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:e}),V,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:s}),jsxs("div",{className:"oui-flex oui-items-center oui-gap-2",children:[jsx(Jt,{label:c("vaults.card.tvl"),value:o.tvl,textProps:{currency:"$",dp:0,type:"numeral"}}),jsx(Jt,{label:c("vaults.card.apy"),value:(o["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(rt,{label:c("vaults.card.myDeposits"),value:r.deposits}),jsx(rt,{label:c("vaults.card.myEarnings"),value:r.earnings})]}),jsx(rt,{label:c("vaults.card.accountBalance"),value:n}),jsx(Po,{isEVMConnected:i,openDepositAndWithdraw:a})]})]})},Jt=t=>{let{label:e,value:o,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:e}),r.type==="gradient"?jsx(Text.gradient,{className:"oui-text-base oui-font-semibold",...r,children:o}):jsx(Text.numeral,{className:"oui-text-base oui-font-semibold",...r,children:o})]})},rt=t=>{let{label:e,value:o,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:e}),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:o})]})},Po=t=>{let{isEVMConnected:e,openDepositAndWithdraw:o}=t,{t:r}=useTranslation();return jsx(AuthGuard,{buttonProps:{size:"md",fullWidth:true},children:e?jsxs("div",{className:"oui-flex oui-items-center oui-gap-2",children:[jsx(Button,{className:"oui-flex-1",size:"md",onClick:()=>o("deposit"),children:r("common.deposit")}),jsx(Button,{className:"oui-flex-1",size:"md",color:"secondary",onClick:()=>o("withdraw"),children:r("common.withdraw")})]}):jsx(Button,{size:"md",color:"warning",children:r("connector.wrongNetwork")})})};var Zt=t=>{let{vault:e}=t,o=Kt(e);return jsx(Xt,{...o})};var te=t=>{let{vaults:e}=t,{t:o}=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:o("vaults.allVaults")}),jsx("div",{className:"oui-grid oui-grid-cols-3 oui-gap-4 min-[1024px]:oui-grid-cols-3",children:e.map(r=>jsx(Zt,{vault:r},r.vault_id))})]})};var ee=()=>{let t=ft().data;return jsx(te,{vaults:t})};var re=t=>{let e=q(),{fetchVaultInfo:o,setVaultsPageConfig:r}=p();return useEffect(()=>{t.config&&r(t.config);},[t.config]),useEffect(()=>{e&&o(e);},[e]),jsx("div",{children:t.children})};var se=t=>{let{supportVaults:e,headerImage:o}=t,{t:r}=useTranslation(),s=useConfig("brokerName"),i=useMemo(()=>jsx("div",{className:"oui-flex oui-items-center",children:e.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:e.length-u}},n.chain_id))}),[e]),a=useMemo(()=>typeof o=="string"?jsx("img",{src:o,alt:"header",className:"oui-bg-contain oui-bg-center oui-bg-no-repeat"}):o,[o]);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:[r("vaults.availableOn")," ",i]}),jsx("div",{className:"oui-mb-6 oui-mt-8 oui-text-5xl oui-font-bold oui-leading-[44px] oui-text-base-contrast",children:r("vaults.header.title")}),jsx("div",{className:"oui-text-xl oui-font-normal oui-text-base-contrast-54",children:r("vaults.header.description",{brokerName:s})})]}),jsx("div",{className:"oui-h-[238px] oui-w-[360px]",children:a})]})};var ie=()=>{let{vaultInfo:t,vaultsPageConfig:e}=p();return {supportVaults:useMemo(()=>{let r=[];return t.data.forEach(s=>{r.push(...s.supported_chains);}),uniqBy(s=>s.chain_id,r)},[t.data]),headerImage:e?.headerImage}};var ne=()=>{let t=ie();return jsx(se,{...t})};var le=t=>{let{t:e}=useTranslation(),{vaultsInfo:o}=t;return jsxs("div",{className:cn("oui-flex oui-items-center oui-gap-6 oui-rounded-2xl oui-p-6"),style:{background:"linear-gradient(28.29deg, #1B1D22 21.6%, #26292E 83.23%)"},children:[jsx(nt,{title:e("vaults.introduction.tvl"),value:o.tvl,textProps:{currency:"$"}}),jsx(Divider,{direction:"vertical",className:"oui-h-[64px] oui-bg-white/[0.12]"}),jsx(nt,{title:e("common.vaults"),value:o.vaultsCount}),jsx(Divider,{direction:"vertical",className:"oui-h-[64px] oui-bg-white/[0.12]"}),jsx(nt,{title:e("vaults.introduction.depositors"),value:o.lpCount})]})},nt=t=>{let{title:e,value:o,textProps:r}=t;return jsxs("div",{className:"oui-flex oui-flex-1 oui-flex-col oui-items-center oui-gap-3 oui-rounded-2xl",children:[jsx("div",{className:"oui-text-base oui-font-normal oui-text-base-contrast-54",children:e}),jsx(Text.numeral,{className:"oui-text-xl oui-font-semibold",dp:0,...r,children:o})]})};var ce=()=>{let{vaultInfo:t}=p();return {vaultsInfo:useMemo(()=>{let o=t.data.reduce((s,i)=>s+i.tvl,0),r=t.data.reduce((s,i)=>s+i.lp_counts,0);return {tvl:o,lpCount:r,vaultsCount:t.data.length}},[t.data])}};var de=()=>{let t=ce();return jsx(le,{...t})};var Li=t=>jsx(re,{...t,children:jsx("div",{className:cn("oui-relative oui-min-h-screen oui-px-6 oui-py-12","oui-bg-base-10",t?.className),children:jsxs("div",{id:"vaults-content",className:"oui-mx-auto oui-flex oui-max-w-[1200px] oui-flex-col oui-gap-[48px]",children:[jsx(ne,{}),jsx(de,{}),jsx(ee,{})]})})});
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
14
 
14
- export { te as AllVaultsDesktop, ee as AllVaultsWidget, Ct as LatestDepositWidget, kt as LatestWithdrawWidget, Yt as ORDERLY_ICON, Za as ORDERLY_VAULT_DESCRIPTION, Xa as ORDERLY_VAULT_TITLE, L as OperationType, K as RoleType, Xt as VaultCard, Zt as VaultCardWidget, Gt as VaultDepositAndWithdraw, et as VaultDepositAndWithdrawWithDialogId, po as VaultDepositAndWithdrawWithSheetId, Rt as VaultDepositWidget, zt as VaultWithdrawWidget, se as VaultsHeaderDesktop, ne as VaultsHeaderWidget, de as VaultsIntroductionWidget, Li as VaultsPage, ct as getVaultInfo, mt as getVaultLpInfo, dt as getVaultLpPerformance, Kt as useVaultCardScript, Yo as useVaultInfoActions, ft as useVaultInfoState, Jo as useVaultLpInfoActions, er as useVaultLpInfoArray, k as useVaultLpInfoById, Zo as useVaultLpInfoIds, Go as useVaultLpInfoState, Ko as useVaultLpPerformanceActions, tr as useVaultLpPerformanceArray, jo as useVaultLpPerformanceById, Xo as useVaultLpPerformanceIds, $o as useVaultLpPerformanceState, ie as useVaultsHeaderScript, p as useVaultsStore };
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
16
  //# sourceMappingURL=out.js.map
16
17
  //# sourceMappingURL=index.mjs.map