From 62ed100198a259588598f7fdda009136d40f3381 Mon Sep 17 00:00:00 2001 From: Arthur Britto Date: Sun, 29 Apr 2012 12:59:39 -0700 Subject: [PATCH] Round out node private key functionality. --- src/NewcoinAddress.cpp | 14 ++++++++++++++ src/NewcoinAddress.h | 1 + src/Wallet.h | 1 + 3 files changed, 16 insertions(+) diff --git a/src/NewcoinAddress.cpp b/src/NewcoinAddress.cpp index 366baf852..f09a45789 100644 --- a/src/NewcoinAddress.cpp +++ b/src/NewcoinAddress.cpp @@ -141,6 +141,20 @@ void NewcoinAddress::setNodePublic(const std::vector& vPublic) // NodePrivate // +const std::vector& NewcoinAddress::getNodePrivateData() const +{ + switch (nVersion) { + case VER_NONE: + throw std::runtime_error("unset source"); + + case VER_NODE_PRIVATE: + return vchData; + + default: + throw std::runtime_error(str(boost::format("bad source: %d") % int(nVersion))); + } +} + uint256 NewcoinAddress::getNodePrivate() const { switch (nVersion) { diff --git a/src/NewcoinAddress.h b/src/NewcoinAddress.h index 6b696d093..8a560d49b 100644 --- a/src/NewcoinAddress.h +++ b/src/NewcoinAddress.h @@ -54,6 +54,7 @@ public: // // Node Private // + const std::vector& getNodePrivateData() const; uint256 getNodePrivate() const; std::string humanNodePrivate() const; diff --git a/src/Wallet.h b/src/Wallet.h index 5e22547ea..8730fa798 100644 --- a/src/Wallet.h +++ b/src/Wallet.h @@ -51,6 +51,7 @@ public: void start(); NewcoinAddress& getNodePublic() { return mNodePublicKey; } + NewcoinAddress& getNodePrivate() { return mNodePrivateKey; } NewcoinAddress addFamily(const std::string& passPhrase, bool lock); NewcoinAddress addFamily(const NewcoinAddress& familySeed, bool lock);