diff --git a/rpc/src/module/miner.rs b/rpc/src/module/miner.rs index 4ea657218e..41da680dd7 100644 --- a/rpc/src/module/miner.rs +++ b/rpc/src/module/miner.rs @@ -1,5 +1,5 @@ use crate::error::RPCError; -use ckb_chain::ChainController; +use ckb_chain::{ChainController, VerifiedBlockStatus, VerifyResult}; use ckb_jsonrpc_types::{Block, BlockTemplate, Uint64, Version}; use ckb_logger::{debug, error, warn}; use ckb_network::{NetworkController, PeerIndex, SupportProtocols, TargetSession}; @@ -271,10 +271,10 @@ impl MinerRpc for MinerRpcImpl { .verify(&header) .map_err(|err| handle_submit_error(&work_id, &err))?; - let verify_result = self.chain.blocking_process_block(Arc::clone(&block)); + let verify_result: VerifyResult = self.chain.blocking_process_block(Arc::clone(&block)); - // TODO: need to consider every enum item of verify_result - let is_new = verify_result.is_ok(); + // TODO: review this logic + let is_new = matches!(verify_result, Ok(VerifiedBlockStatus::FirstSeenAndVerified)); // Announce only new block if is_new { diff --git a/sync/src/relayer/mod.rs b/sync/src/relayer/mod.rs index 54726c17f8..5eee4799a0 100644 --- a/sync/src/relayer/mod.rs +++ b/sync/src/relayer/mod.rs @@ -316,8 +316,7 @@ impl Relayer { let peer = peer.clone(); move |result: VerifyResult| match result { Ok(verified_block_status) => match verified_block_status { - VerifiedBlockStatus::FirstSeenAndVerified - | VerifiedBlockStatus::FirstSeenButNotVerified => { + VerifiedBlockStatus::FirstSeenAndVerified => { match broadcast_compact_block_tx.send((block, peer)) { Err(_) => { error!(