Changeset View
Changeset View
Standalone View
Standalone View
src/avalanche/test/processor_tests.cpp
Show First 20 Lines • Show All 113 Lines • ▼ Show 20 Lines | CNode *ConnectNode(ServiceFlags nServices) { | ||||
node->fSuccessfullyConnected = true; | node->fSuccessfullyConnected = true; | ||||
node->m_avalanche_state = std::make_unique<CNode::AvalancheState>(); | node->m_avalanche_state = std::make_unique<CNode::AvalancheState>(); | ||||
m_connman->AddNode(*node); | m_connman->AddNode(*node); | ||||
return node; | return node; | ||||
} | } | ||||
size_t next_coinbase = 0; | size_t next_coinbase = 0; | ||||
std::shared_ptr<Proof> GetProof() { | ProofRef GetProof() { | ||||
size_t current_coinbase = next_coinbase++; | size_t current_coinbase = next_coinbase++; | ||||
const CTransaction &coinbase = *m_coinbase_txns[current_coinbase]; | const CTransaction &coinbase = *m_coinbase_txns[current_coinbase]; | ||||
ProofBuilder pb(0, 0, masterpriv); | ProofBuilder pb(0, 0, masterpriv); | ||||
BOOST_CHECK(pb.addUTXO(COutPoint(coinbase.GetId(), 0), | BOOST_CHECK(pb.addUTXO(COutPoint(coinbase.GetId(), 0), | ||||
coinbase.vout[0].nValue, current_coinbase + 1, | coinbase.vout[0].nValue, current_coinbase + 1, | ||||
true, coinbaseKey)); | true, coinbaseKey)); | ||||
return std::make_shared<Proof>(pb.build()); | return std::make_shared<Proof>(pb.build()); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 109 Lines • ▼ Show 20 Lines | struct ProofProvider { | ||||
AvalancheTestingSetup *fixture; | AvalancheTestingSetup *fixture; | ||||
std::vector<ProofUpdate> updates; | std::vector<ProofUpdate> updates; | ||||
uint32_t invType; | uint32_t invType; | ||||
ProofProvider(AvalancheTestingSetup *_fixture) | ProofProvider(AvalancheTestingSetup *_fixture) | ||||
: fixture(_fixture), invType(MSG_AVA_PROOF) {} | : fixture(_fixture), invType(MSG_AVA_PROOF) {} | ||||
std::shared_ptr<Proof> buildVoteItem() const { return fixture->GetProof(); } | ProofRef buildVoteItem() const { return fixture->GetProof(); } | ||||
uint256 getVoteItemId(const std::shared_ptr<Proof> &proof) const { | uint256 getVoteItemId(const ProofRef &proof) const { | ||||
return proof->getId(); | return proof->getId(); | ||||
} | } | ||||
bool registerVotes(NodeId nodeid, const avalanche::Response &response, | bool registerVotes(NodeId nodeid, const avalanche::Response &response, | ||||
std::string &error) { | std::string &error) { | ||||
int banscore; | int banscore; | ||||
std::vector<avalanche::BlockUpdate> blockUpdates; | std::vector<avalanche::BlockUpdate> blockUpdates; | ||||
return fixture->m_processor->registerVotes( | return fixture->m_processor->registerVotes( | ||||
nodeid, response, blockUpdates, updates, banscore, error); | nodeid, response, blockUpdates, updates, banscore, error); | ||||
} | } | ||||
bool registerVotes(NodeId nodeid, const avalanche::Response &response) { | bool registerVotes(NodeId nodeid, const avalanche::Response &response) { | ||||
std::string error; | std::string error; | ||||
return registerVotes(nodeid, response, error); | return registerVotes(nodeid, response, error); | ||||
} | } | ||||
bool addToReconcile(const std::shared_ptr<Proof> &proof) { | bool addToReconcile(const ProofRef &proof) { | ||||
fixture->m_processor->addProofToReconcile(proof, true); | fixture->m_processor->addProofToReconcile(proof, true); | ||||
return true; | return true; | ||||
} | } | ||||
std::vector<Vote> | std::vector<Vote> buildVotesForItems(uint32_t error, | ||||
buildVotesForItems(uint32_t error, | std::vector<ProofRef> &&items) { | ||||
std::vector<std::shared_ptr<Proof>> &&items) { | |||||
size_t numItems = items.size(); | size_t numItems = items.size(); | ||||
std::vector<Vote> votes; | std::vector<Vote> votes; | ||||
votes.reserve(numItems); | votes.reserve(numItems); | ||||
// Votes are sorted by high score first | // Votes are sorted by high score first | ||||
std::sort(items.begin(), items.end(), ProofSharedPointerComparator()); | std::sort(items.begin(), items.end(), ProofRefComparator()); | ||||
for (auto &item : items) { | for (auto &item : items) { | ||||
votes.emplace_back(error, item->getId()); | votes.emplace_back(error, item->getId()); | ||||
} | } | ||||
return votes; | return votes; | ||||
} | } | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 894 Lines • Show Last 20 Lines |