diff --git a/src/cpp/ripple/SHAMapSync.cpp b/src/cpp/ripple/SHAMapSync.cpp index 7b16fbeee..5d99399b0 100644 --- a/src/cpp/ripple/SHAMapSync.cpp +++ b/src/cpp/ripple/SHAMapSync.cpp @@ -193,7 +193,7 @@ SMAddNode SHAMap::addRootNode(const std::vector& rootNode, SHANod return SMAddNode::okay(); } - SHAMapTreeNode::pointer node = boost::make_shared(SHAMapNode(), rootNode, 0, format, uint256()); + SHAMapTreeNode::pointer node = boost::make_shared(SHAMapNode(), rootNode, mSeq, format, uint256()); if (!node) return SMAddNode::invalid(); @@ -201,8 +201,6 @@ SMAddNode SHAMap::addRootNode(const std::vector& rootNode, SHANod node->dump(); #endif - returnNode(root, true); - root = node; mTNByID[*root] = root; if (root->getNodeHash().isZero()) @@ -233,11 +231,10 @@ SMAddNode SHAMap::addRootNode(const uint256& hash, const std::vector(SHAMapNode(), rootNode, 0, format, uint256()); + SHAMapTreeNode::pointer node = boost::make_shared(SHAMapNode(), rootNode, mSeq, format, uint256()); if (!node || node->getNodeHash() != hash) return SMAddNode::invalid(); - returnNode(root, true); root = node; mTNByID[*root] = root; if (root->getNodeHash().isZero()) @@ -305,7 +302,7 @@ SMAddNode SHAMap::addKnownNode(const SHAMapNode& node, const std::vectorgetChildHash(branch); - if (!hash) + if (hash.isZero()) { cLog(lsWARNING) << "AddKnownNode for empty branch"; return SMAddNode::invalid(); @@ -351,6 +348,7 @@ SMAddNode SHAMap::addKnownNode(const SHAMapNode& node, const std::vectorisFullBelow()) clearSynching(); + return SMAddNode::useful(); }