Skip to content

Commit fecee44

Browse files
committed
use ok_or else
1 parent b0e5ecd commit fecee44

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

src/block_range_scanner.rs

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -396,9 +396,8 @@ impl<N: Network> Service<N> {
396396
}
397397

398398
async fn handle_live(&mut self) -> Result<(), BlockRangeScannerError> {
399-
let Some(sender) = self.subscriber.clone() else {
400-
return Err(BlockRangeScannerError::ServiceShutdown);
401-
};
399+
let sender =
400+
self.subscriber.clone().ok_or_else(|| BlockRangeScannerError::ServiceShutdown)?;
402401

403402
let block_confirmations = self.config.block_confirmations;
404403
let provider = self.provider.clone();
@@ -421,17 +420,19 @@ impl<N: Network> Service<N> {
421420
start_height: BlockNumberOrTag,
422421
end_height: BlockNumberOrTag,
423422
) -> Result<(), BlockRangeScannerError> {
424-
let (start_block, end_block) = tokio::join!(
423+
let (start_block, end_block) = tokio::try_join!(
425424
self.provider.get_block_by_number(start_height),
426425
self.provider.get_block_by_number(end_height)
427-
);
426+
)?;
428427

429-
let start_block_num = start_block?
430-
.ok_or(BlockRangeScannerError::BlockNotFound(start_height))?
428+
let start_block_num = start_block
429+
.ok_or_else(|| BlockRangeScannerError::BlockNotFound(start_height))?
430+
.header()
431+
.number();
432+
let end_block_num = end_block
433+
.ok_or_else(|| BlockRangeScannerError::BlockNotFound(end_height))?
431434
.header()
432435
.number();
433-
let end_block_num =
434-
end_block?.ok_or(BlockRangeScannerError::BlockNotFound(end_height))?.header().number();
435436

436437
if end_block_num < start_block_num {
437438
return Err(BlockRangeScannerError::HistoricalSyncError(format!(
@@ -457,17 +458,17 @@ impl<N: Network> Service<N> {
457458
let block_confirmations = self.config.block_confirmations;
458459
// Step 1:
459460
// Fetches the starting block and end block for historical sync in parallel
460-
let (start_block, latest_block) = tokio::join!(
461+
let (start_block, latest_block) = tokio::try_join!(
461462
self.provider.get_block_by_number(start_height),
462463
self.provider.get_block_by_number(BlockNumberOrTag::Latest)
463-
);
464+
)?;
464465

465-
let start_block_num = start_block?
466-
.ok_or(BlockRangeScannerError::BlockNotFound(start_height))?
466+
let start_block_num = start_block
467+
.ok_or_else(|| BlockRangeScannerError::BlockNotFound(start_height))?
467468
.header()
468469
.number();
469-
let latest_block = latest_block?
470-
.ok_or(BlockRangeScannerError::BlockNotFound(BlockNumberOrTag::Latest))?
470+
let latest_block = latest_block
471+
.ok_or_else(|| BlockRangeScannerError::BlockNotFound(BlockNumberOrTag::Latest))?
471472
.header()
472473
.number();
473474

@@ -481,9 +482,8 @@ impl<N: Network> Service<N> {
481482
"Start block is beyond confirmed tip, starting live stream"
482483
);
483484

484-
let Some(sender) = self.subscriber.clone() else {
485-
return Err(BlockRangeScannerError::ServiceShutdown);
486-
};
485+
let sender =
486+
self.subscriber.clone().ok_or_else(|| BlockRangeScannerError::ServiceShutdown)?;
487487

488488
let provider = self.provider.clone();
489489
tokio::spawn(async move {
@@ -533,9 +533,9 @@ impl<N: Network> Service<N> {
533533

534534
self.send_to_subscriber(ScannerMessage::Status(ScannerStatus::ChainTipReached)).await;
535535

536-
let Some(sender) = self.subscriber.clone() else {
537-
return Err(BlockRangeScannerError::ServiceShutdown);
538-
};
536+
let sender =
537+
self.subscriber.clone().ok_or_else(|| BlockRangeScannerError::ServiceShutdown)?;
538+
539539
// Step 5:
540540
// Spawn the buffer processor task
541541
// This will:

0 commit comments

Comments
 (0)