Skip to content

Commit

Permalink
refactor(core): simplify check and store block proof in blockchain pr…
Browse files Browse the repository at this point in the history
…ovider
  • Loading branch information
pashinov committed Jul 3, 2024
1 parent 842616a commit c9e649c
Showing 1 changed file with 22 additions and 12 deletions.
34 changes: 22 additions & 12 deletions core/src/block_strider/provider/blockchain_provider.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,17 +91,22 @@ impl BlockchainBlockProvider {
BlockProofStuff::deserialize(&block_id, &proof_data, is_link),
) {
(Ok(block), Ok(proof)) => {
if let (Err(e), _) | (_, Err(e)) = (
self.proof_checker.check_proof(&block, &proof).await,
self.proof_checker
.store_block_proof(&block, proof, proof_data.into())
.await,
) {
if let Err(e) = self.proof_checker.check_proof(&block, &proof).await {
handle.reject();
tracing::error!("got invalid mc block proof: {e}");
break 'res;
}

if let Err(e) = self
.proof_checker
.store_block_proof(&block, proof, proof_data.into())
.await
{
handle.reject();
tracing::error!("failed to store block proof: {e}");
break 'res;
}

handle.accept();
return Some(Ok(block.with_archive_data(block_data)));
}
Expand Down Expand Up @@ -147,17 +152,22 @@ impl BlockchainBlockProvider {
BlockProofStuff::deserialize(&block_id, &proof_data, is_link),
) {
(Ok(block), Ok(proof)) => {
if let (Err(e), _) | (_, Err(e)) = (
self.proof_checker.check_proof(&block, &proof).await,
self.proof_checker
.store_block_proof(&block, proof, proof_data.into())
.await,
) {
if let Err(e) = self.proof_checker.check_proof(&block, &proof).await {
handle.reject();
tracing::error!("got invalid shard block proof: {e}");
break 'res;
}

if let Err(e) = self
.proof_checker
.store_block_proof(&block, proof, proof_data.into())
.await
{
handle.reject();
tracing::error!("failed to store block proof: {e}");
break 'res;
}

handle.accept();
return Some(Ok(block.with_archive_data(block_data)));
}
Expand Down

0 comments on commit c9e649c

Please sign in to comment.