Skip to content

Commit

Permalink
check the block index
Browse files Browse the repository at this point in the history
  • Loading branch information
cyjseagull committed Mar 28, 2022
1 parent b6218ca commit 825bdeb
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 4 deletions.
19 changes: 19 additions & 0 deletions bcos-pbft/bcos-pbft/pbft/engine/Validator.cpp
Expand Up @@ -24,6 +24,25 @@ using namespace bcos::consensus;
using namespace bcos::crypto;
using namespace bcos::protocol;

void TxsValidator::verifyProposal(bcos::crypto::PublicPtr _fromNode,
PBFTProposalInterface::Ptr _proposal,
std::function<void(Error::Ptr, bool)> _verifyFinishedHandler)
{
// TODO: check the sealerList here
auto block = m_blockFactory->createBlock(_proposal->data());
auto blockHeader = block->blockHeader();
if (blockHeader->number() != _proposal->index())
{
if (_verifyFinishedHandler)
{
auto error = std::make_shared<Error>(-1, "Invalid proposal");
_verifyFinishedHandler(error, false);
}
return;
}
m_txPool->asyncVerifyBlock(_fromNode, _proposal->data(), _verifyFinishedHandler);
}

void TxsValidator::asyncResetTxsFlag(bytesConstRef _data, bool _flag)
{
auto block = m_blockFactory->createBlock(_data);
Expand Down
5 changes: 1 addition & 4 deletions bcos-pbft/bcos-pbft/pbft/engine/Validator.h
Expand Up @@ -91,10 +91,7 @@ class TxsValidator : public ValidatorInterface, public std::enable_shared_from_t
});
}
void verifyProposal(bcos::crypto::PublicPtr _fromNode, PBFTProposalInterface::Ptr _proposal,
std::function<void(Error::Ptr, bool)> _verifyFinishedHandler) override
{
m_txPool->asyncVerifyBlock(_fromNode, _proposal->data(), _verifyFinishedHandler);
}
std::function<void(Error::Ptr, bool)> _verifyFinishedHandler) override;

void asyncResetTxsFlag(bytesConstRef _data, bool _flag) override;
ssize_t resettingProposalSize() const override
Expand Down

0 comments on commit 825bdeb

Please sign in to comment.