Changeset View
Changeset View
Standalone View
Standalone View
src/net_processing.cpp
Show First 20 Lines • Show All 4,373 Lines • ▼ Show 20 Lines | if (msg_type == NetMsgType::AVARESPONSE) { | ||||
vRecv >> sig; | vRecv >> sig; | ||||
if (!pfrom.m_avalanche_state || | if (!pfrom.m_avalanche_state || | ||||
!pfrom.m_avalanche_state->pubkey.VerifySchnorr(verifier.GetHash(), | !pfrom.m_avalanche_state->pubkey.VerifySchnorr(verifier.GetHash(), | ||||
sig)) { | sig)) { | ||||
Misbehaving(pfrom, 100, "invalid-ava-response-signature"); | Misbehaving(pfrom, 100, "invalid-ava-response-signature"); | ||||
return; | return; | ||||
} | } | ||||
std::vector<avalanche::BlockUpdate> updates; | std::vector<avalanche::BlockUpdate> blockUpdates; | ||||
std::vector<avalanche::ProofUpdate> proofUpdates; | |||||
int banscore; | int banscore; | ||||
std::string error; | std::string error; | ||||
if (!g_avalanche->registerVotes(pfrom.GetId(), response, updates, | if (!g_avalanche->registerVotes(pfrom.GetId(), response, blockUpdates, | ||||
banscore, error)) { | proofUpdates, banscore, error)) { | ||||
Misbehaving(pfrom, banscore, error); | Misbehaving(pfrom, banscore, error); | ||||
return; | return; | ||||
} | } | ||||
pfrom.m_avalanche_state->invsVoted(response.GetVotes().size()); | pfrom.m_avalanche_state->invsVoted(response.GetVotes().size()); | ||||
if (updates.size()) { | if (blockUpdates.size()) { | ||||
for (avalanche::BlockUpdate &u : updates) { | for (avalanche::BlockUpdate &u : blockUpdates) { | ||||
CBlockIndex *pindex = u.getVoteItem(); | CBlockIndex *pindex = u.getVoteItem(); | ||||
switch (u.getStatus()) { | switch (u.getStatus()) { | ||||
case avalanche::VoteStatus::Invalid: | case avalanche::VoteStatus::Invalid: | ||||
case avalanche::VoteStatus::Rejected: { | case avalanche::VoteStatus::Rejected: { | ||||
LogPrintf("Avalanche rejected %s, parking\n", | LogPrintf("Avalanche rejected %s, parking\n", | ||||
pindex->GetBlockHash().GetHex()); | pindex->GetBlockHash().GetHex()); | ||||
BlockValidationState state; | BlockValidationState state; | ||||
::ChainstateActive().ParkBlock(config, state, pindex); | ::ChainstateActive().ParkBlock(config, state, pindex); | ||||
▲ Show 20 Lines • Show All 1,557 Lines • Show Last 20 Lines |