From b99910d1296bd0f8f5c138ffa4a98e3a83b30ca3 Mon Sep 17 00:00:00 2001 From: Farhan Khwaja Date: Thu, 6 Jul 2023 19:05:02 -0700 Subject: [PATCH] added trycatch for network error --- worker/controller/wallet.ts | 67 ++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 31 deletions(-) diff --git a/worker/controller/wallet.ts b/worker/controller/wallet.ts index acd5c032..077b9c6c 100644 --- a/worker/controller/wallet.ts +++ b/worker/controller/wallet.ts @@ -34,39 +34,44 @@ export const setupWalletsForWorker = async ( server.log.info(`Primary key found in wallets table`); } for (const chain of getSupportedChains()) { - const { slug } = chain; - let lastUsedNonce = 0; - server.log.info(`Setting up wallet for chain ${slug}`); - const sdk = await getSDK(slug); - const walletAddress = - (await sdk.getSigner()?.getAddress())?.toLowerCase() ?? ""; - if (walletAddress.length === 0) { - server.log.warn(`Wallet address not found for chain ${slug}.`); - continue; - } - const walletNonce = await getWalletNonce( - walletAddress, - sdk.getProvider(), - ); - const walletDataInDB = await getWalletDetailsWithoutTrx( - walletAddress, - BigNumber.from(chain.chainId).toString(), - knex, - ); + try { + const { slug } = chain; + let lastUsedNonce = 0; + server.log.info(`Setting up wallet for chain ${slug}`); + const sdk = await getSDK(slug); + const walletAddress = + (await sdk.getSigner()?.getAddress())?.toLowerCase() ?? ""; + if (walletAddress.length === 0) { + server.log.warn(`Wallet address not found for chain ${slug}.`); + continue; + } + const walletNonce = await getWalletNonce( + walletAddress, + sdk.getProvider(), + ); + const walletDataInDB = await getWalletDetailsWithoutTrx( + walletAddress, + BigNumber.from(chain.chainId).toString(), + knex, + ); - if (walletDataInDB) { - lastUsedNonce = walletDataInDB.lastUsedNonce; - } + if (walletDataInDB) { + lastUsedNonce = walletDataInDB.lastUsedNonce; + } - const walletData = { - walletAddress: walletAddress.toLowerCase(), - chainId: getChainBySlug(slug).chainId.toString(), - blockchainNonce: BigNumber.from(walletNonce ?? 0).toNumber(), - lastSyncedTimestamp: new Date(), - lastUsedNonce, - walletType: slug, - }; - await insertIntoWallets(walletData, knex!); + const walletData = { + walletAddress: walletAddress.toLowerCase(), + chainId: getChainBySlug(slug).chainId.toString(), + blockchainNonce: BigNumber.from(walletNonce ?? 0).toNumber(), + lastSyncedTimestamp: new Date(), + lastUsedNonce, + walletType: slug, + }; + await insertIntoWallets(walletData, knex!); + } catch (error) { + server.log.error((error as any).message); + continue; + } } await knex.destroy(); } catch (error) {