Skip to content

Commit

Permalink
Handle errors while getting block info
Browse files Browse the repository at this point in the history
  • Loading branch information
Ktl-XV committed Jun 23, 2023
1 parent b9695f3 commit 6ef4598
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 18 deletions.
2 changes: 1 addition & 1 deletion src/data_sources/events/web3.ts
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ export class Web3Source {
}
return block;
} catch (err) {
return Promise.reject(new Error(`Encountered error while fetching block ${blockNumber}: ${err}`));
throw new Error(`Encountered error while fetching block ${blockNumber}: ${err}`);
}
}

Expand Down
9 changes: 7 additions & 2 deletions src/scripts/pull_and_save_tokens_from_transfers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,13 @@ export class TokensFromTransfersScraper {
const endBlockNumber = Math.min(currentBlock.number!, startBlockNumber + (MAX_BLOCKS_TO_SEARCH - 1));
logger.info(`Searching for ${eventName} between blocks ${startBlockNumber} and ${endBlockNumber}`);

const endBlockHash = (await web3Source.getBlockInfoAsync(endBlockNumber)).hash;

let endBlockHash = null;
try {
endBlockHash = (await web3Source.getBlockInfoAsync(endBlockNumber)).hash;
} catch (err) {
logger.error(`${err}, trying next time`);
return;
}
if (endBlockHash === null) {
logger.error(`Unstable last block for ${eventName}, trying next time`);
return;
Expand Down
45 changes: 32 additions & 13 deletions src/scripts/utils/event_abi_utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,24 +45,36 @@ export class PullAndSaveEventsByTopic {
deleteOptions: DeleteOptions,
tokenMetadataMap: TokenMetadataMap = null,
): Promise<string[]> {
const { startBlockNumber, hasLatestBlockChanged } = await getStartBlockAsync(
eventName,
connection,
web3Source,
currentBlock,
startSearchBlock,
);

let startBlockResponse;
try {
startBlockResponse = await getStartBlockAsync(
eventName,
connection,
web3Source,
currentBlock,
startSearchBlock,
);
} catch (err) {
logger.error(`${err}, trying next time`);
return [];
}
const { startBlockNumber, hasLatestBlockChanged } = startBlockResponse;
if (!hasLatestBlockChanged) {
logger.debug(`No new blocks to scan for ${eventName}, skipping`);
return [];
}

const endBlockNumber = Math.min(currentBlock.number!, startBlockNumber + (MAX_BLOCKS_TO_SEARCH - 1));
const endBlockHash =
endBlockNumber === currentBlock.number
? currentBlock.hash
: (await web3Source.getBlockInfoAsync(endBlockNumber)).hash;
let endBlockHash: string | null = '';
try {
endBlockHash =
endBlockNumber === currentBlock.number
? currentBlock.hash
: (await web3Source.getBlockInfoAsync(endBlockNumber)).hash;
} catch (err) {
logger.error(`${err}, trying next time`);
return [];
}

return (
await this._getParseSaveEventsByTopic(
Expand Down Expand Up @@ -108,7 +120,14 @@ export class PullAndSaveEventsByTopic {
currentBlock.number! - MAX_BLOCKS_REORG,
startBlockNumber + (MAX_BLOCKS_TO_SEARCH - 1),
);
const endBlockHash = (await web3Source.getBlockInfoAsync(endBlockNumber)).hash;

let endBlockHash = null;
try {
endBlockHash = (await web3Source.getBlockInfoAsync(endBlockNumber)).hash;
} catch (err) {
logger.error(`${err}, trying next time`);
return { transactionHashes: [], startBlockNumber: null, endBlockNumber: null };
}

return this._getParseSaveEventsByTopic(
connection,
Expand Down
9 changes: 7 additions & 2 deletions src/scripts/utils/event_utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,13 @@ export class PullAndSaveEvents {

logger.info(`Searching for ${eventName} between blocks ${startBlockNumber} and ${endBlock}`);

const endBlockHash = (await web3Source.getBlockInfoAsync(endBlock)).hash;

let endBlockHash = null;
try {
endBlockHash = (await web3Source.getBlockInfoAsync(endBlock)).hash;
} catch (err) {
logger.error(`${err}, trying next time`);
return;
}
if (endBlockHash === null) {
logger.error(`Unstable last block for ${eventName}, trying next time`);
return;
Expand Down

0 comments on commit 6ef4598

Please sign in to comment.