From 06535a1a43cc677dec991b78cef450030377f905 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Mon, 28 May 2012 17:25:51 -0700 Subject: [PATCH] Updates. --- src/NetworkOPs.cpp | 4 ++-- src/Peer.cpp | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/NetworkOPs.cpp b/src/NetworkOPs.cpp index accc0570eb..31da23af49 100644 --- a/src/NetworkOPs.cpp +++ b/src/NetworkOPs.cpp @@ -386,14 +386,14 @@ int NetworkOPs::beginConsensus(Ledger::pointer closingLedger, bool isEarly) return mConsensus->startup(); } -bool NetworkOPs::proposeLedger(uint32 closingSeq, uint32 proposeSeq, const uint256& proposeHash, +bool NetworkOPs::proposeLedger(const uint256& prevLgr, uint32 proposeSeq, const uint256& proposeHash, const std::string& pubKey, const std::string& signature) { if (mMode != omFULL) return true; LedgerProposal::pointer proposal = - boost::make_shared(closingSeq, proposeSeq, proposeHash, pubKey); + boost::make_shared(prevLgr, proposeSeq, proposeHash, pubKey); if (!proposal->checkSign(signature)) { std::cerr << "Ledger proposal fails signature check" << std::endl; diff --git a/src/Peer.cpp b/src/Peer.cpp index e740acdfe6..dca72707e8 100644 --- a/src/Peer.cpp +++ b/src/Peer.cpp @@ -612,15 +612,16 @@ void Peer::recvTransaction(newcoin::TMTransaction& packet) void Peer::recvPropose(newcoin::TMProposeSet& packet) { - if ((packet.currenttxhash().size() != 32) || (packet.nodepubkey().size() < 28) || - (packet.signature().size() < 56)) + if ((packet.currenttxhash().size() != 32) || (packet.prevclosedhash().size() != 32) || + (packet.nodepubkey().size() < 28) || (packet.signature().size() < 56)) return; - uint32 closingSeq = packet.closingseq(), proposeSeq = packet.proposeseq(); - uint256 currentTxHash; + uint32 proposeSeq = packet.proposeseq(); + uint256 currentTxHash, prevLgrHash; memcpy(currentTxHash.begin(), packet.currenttxhash().data(), 32); + memcpy(prevLgrHash.begin(), packet.prevclosedhash().data(), 32); - if(theApp->getOPs().proposeLedger(closingSeq, proposeSeq, currentTxHash, + if(theApp->getOPs().proposeLedger(prevLgrHash, proposeSeq, currentTxHash, packet.nodepubkey(), packet.signature())) { // FIXME: Not all nodes will want proposals PackedMessage::pointer message = boost::make_shared(packet, newcoin::mtPROPOSE_LEDGER);