@@ -169,7 +169,10 @@ const getRedBankQueryClient = async (chainConfig: ChainConfig) => {
169169 }
170170}
171171
172- const getManagedVaultQueryClient = async ( chainConfig : ChainConfig , address : string ) => {
172+ const getManagedVaultQueryClient = async (
173+ chainConfig : ChainConfig ,
174+ address : string ,
175+ ) : Promise < MarsVaultQueryClient | null > => {
173176 try {
174177 const rpc = getUrl ( chainConfig . endpoints . rpc )
175178 const key = rpc + address
@@ -181,24 +184,30 @@ const getManagedVaultQueryClient = async (chainConfig: ChainConfig, address: str
181184
182185 return _managedVaultQueryClient . get ( key ) !
183186 } catch ( error ) {
184- setNodeError ( getUrl ( chainConfig . endpoints . rpc ) , error )
185- throw error
187+ console . error ( `Error creating managed vault query client for ${ address } :` , error )
188+ return null
186189 }
187190}
191+
188192const getManagedVaultOwnerAddress = async ( chainConfig : ChainConfig , address : string ) => {
189193 try {
190194 const client = await getClient ( getUrl ( chainConfig . endpoints . rpc ) )
191195 const contractInfo = await client . getContract ( address )
192196 return contractInfo . creator
193197 } catch ( error ) {
194- setNodeError ( getUrl ( chainConfig . endpoints . rpc ) , error )
195- throw error
198+ console . error ( `Error fetching owner address for vault ${ address } :` , error )
199+ return undefined
196200 }
197201}
198202
199- const getManagedVaultDetails = async ( chainConfig : ChainConfig , vaultAddress : string ) => {
203+ const getManagedVaultDetails = async (
204+ chainConfig : ChainConfig ,
205+ vaultAddress : string ,
206+ ) : Promise < ManagedVaultSCDetailsResponse | null > => {
200207 try {
201208 const client = await getManagedVaultQueryClient ( chainConfig , vaultAddress )
209+ if ( ! client ) return null
210+
202211 const response = await client . vaultExtension ( {
203212 vault_info : { } ,
204213 } )
@@ -212,13 +221,15 @@ const getManagedVaultDetails = async (chainConfig: ChainConfig, vaultAddress: st
212221const getManagedVaultPnl = async ( chainConfig : ChainConfig , vaultAddress : string ) => {
213222 try {
214223 const client = await getManagedVaultQueryClient ( chainConfig , vaultAddress )
224+ if ( ! client ) return null
225+
215226 const response = await client . vaultExtension ( {
216227 vault_pnl : { } ,
217228 } )
218229 return response as unknown as ManagedVaultPnlResponse
219230 } catch ( error ) {
220- setNodeError ( getUrl ( chainConfig . endpoints . rpc ) , error )
221- throw error
231+ console . error ( `Error fetching PnL for vault ${ vaultAddress } :` , error )
232+ return null
222233 }
223234}
224235
@@ -229,15 +240,17 @@ const getManagedVaultUserPosition = async (
229240) => {
230241 try {
231242 const client = await getManagedVaultQueryClient ( chainConfig , vaultAddress )
243+ if ( ! client ) return null
244+
232245 const response = await client . vaultExtension ( {
233246 user_pnl : {
234247 user_address : userAddress ,
235248 } ,
236249 } )
237250 return response as unknown as ManagedVaultUserPositionResponse
238251 } catch ( error ) {
239- setNodeError ( getUrl ( chainConfig . endpoints . rpc ) , error )
240- throw error
252+ console . error ( `Error fetching user position for vault ${ vaultAddress } :` , error )
253+ return null
241254 }
242255}
243256
@@ -247,13 +260,15 @@ const getManagedVaultPerformanceFeeState = async (
247260) => {
248261 try {
249262 const client = await getManagedVaultQueryClient ( chainConfig , vaultAddress )
263+ if ( ! client ) return null
264+
250265 const response = await client . vaultExtension ( {
251266 performance_fee_state : { } ,
252267 } )
253268 return response as unknown as PerformanceFeeState
254269 } catch ( error ) {
255- setNodeError ( getUrl ( chainConfig . endpoints . rpc ) , error )
256- throw error
270+ console . error ( `Error fetching performance fee state for vault ${ vaultAddress } :` , error )
271+ return null
257272 }
258273}
259274
@@ -264,15 +279,17 @@ const getManagedVaultUserUnlocks = async (
264279) => {
265280 try {
266281 const client = await getManagedVaultQueryClient ( chainConfig , vaultAddress )
282+ if ( ! client ) return [ ]
283+
267284 const response = await client . vaultExtension ( {
268285 user_unlocks : {
269286 user_address : userAddress ,
270287 } ,
271288 } )
272289 return response as unknown as UserManagedVaultUnlockResponse [ ]
273290 } catch ( error ) {
274- setNodeError ( getUrl ( chainConfig . endpoints . rpc ) , error )
275- throw error
291+ console . error ( `Error fetching user unlocks for vault ${ vaultAddress } :` , error )
292+ return [ ]
276293 }
277294}
278295
@@ -284,6 +301,8 @@ const getManagedVaultAllUnlocks = async (
284301) => {
285302 try {
286303 const client = await getManagedVaultQueryClient ( chainConfig , vaultAddress )
304+ if ( ! client ) return { data : [ ] , metadata : { has_more : false } }
305+
287306 const response = await client . vaultExtension ( {
288307 all_unlocks : {
289308 limit,
@@ -295,8 +314,8 @@ const getManagedVaultAllUnlocks = async (
295314 metadata : { has_more : boolean }
296315 }
297316 } catch ( error ) {
298- setNodeError ( getUrl ( chainConfig . endpoints . rpc ) , error )
299- throw error
317+ console . error ( `Error fetching all unlocks for vault ${ vaultAddress } :` , error )
318+ return { data : [ ] , metadata : { has_more : false } }
300319 }
301320}
302321
@@ -307,13 +326,15 @@ const getManagedVaultPreviewRedeem = async (
307326) => {
308327 try {
309328 const client = await getManagedVaultQueryClient ( chainConfig , vaultAddress )
329+ if ( ! client ) return null
330+
310331 const response = await client . previewRedeem ( {
311332 amount,
312333 } )
313334 return response
314335 } catch ( error ) {
315- setNodeError ( getUrl ( chainConfig . endpoints . rpc ) , error )
316- throw error
336+ console . error ( `Error fetching preview redeem for vault ${ vaultAddress } :` , error )
337+ return null
317338 }
318339}
319340
@@ -324,13 +345,15 @@ const getManagedVaultConvertToTokens = async (
324345) => {
325346 try {
326347 const client = await getManagedVaultQueryClient ( chainConfig , vaultAddress )
348+ if ( ! client ) return null
349+
327350 const response = await client . convertToAssets ( {
328351 amount,
329352 } )
330353 return response
331354 } catch ( error ) {
332- setNodeError ( getUrl ( chainConfig . endpoints . rpc ) , error )
333- throw error
355+ console . error ( `Error fetching convert to tokens for vault ${ vaultAddress } :` , error )
356+ return null
334357 }
335358}
336359
@@ -341,13 +364,15 @@ const getManagedVaultConvertToShares = async (
341364) => {
342365 try {
343366 const client = await getManagedVaultQueryClient ( chainConfig , vaultAddress )
367+ if ( ! client ) return null
368+
344369 const response = await client . convertToShares ( {
345370 amount,
346371 } )
347372 return response
348373 } catch ( error ) {
349- setNodeError ( getUrl ( chainConfig . endpoints . rpc ) , error )
350- throw error
374+ console . error ( `Error fetching convert to shares for vault ${ vaultAddress } :` , error )
375+ return null
351376 }
352377}
353378
0 commit comments