diff --git a/framework/src/main/java/org/tron/core/net/TronNetDelegate.java b/framework/src/main/java/org/tron/core/net/TronNetDelegate.java index 3e7381a0504..7ff02250eb5 100644 --- a/framework/src/main/java/org/tron/core/net/TronNetDelegate.java +++ b/framework/src/main/java/org/tron/core/net/TronNetDelegate.java @@ -315,14 +315,16 @@ public void pushTransaction(TransactionCapsule trx) throws P2pException { } public void validSignature(BlockCapsule block) throws P2pException { + boolean flag; try { - if (!block.validateSignature(dbManager.getDynamicPropertiesStore(), - dbManager.getAccountStore())) { - throw new P2pException(TypeEnum.BLOCK_SIGN_ERROR, "valid signature failed."); - } - } catch (ValidateSignatureException e) { + flag = block.validateSignature(dbManager.getDynamicPropertiesStore(), + dbManager.getAccountStore()); + } catch (Exception e) { throw new P2pException(TypeEnum.BLOCK_SIGN_ERROR, e); } + if (!flag) { + throw new P2pException(TypeEnum.BLOCK_SIGN_ERROR, "valid signature failed."); + } } public boolean validBlock(BlockCapsule block) throws P2pException {