private void OnBlockPersisted(object?sender, Block block) { lock (_toDeleteRepo) { SanitizeMemPool(block.Header.Index); // TODO: we should make this removal async for better performance _poolRepository.RemoveTransactions(_toDeleteRepo.Select(receipt => receipt.Hash)); _toDeleteRepo.Clear(); } }