diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2013-07-26 01:06:01 +0200 |
---|---|---|
committer | JaSK <temp@temp.temp> | 2014-07-02 15:48:37 +0200 |
commit | c8988460a2865b99ee96da6799d37ac6ccb79d4d (patch) | |
tree | 359da0335ecd969209daa6f2ef3ddadc157b77f8 /src/keystore.cpp | |
parent | dd49e92fb0cae0dcdf0b2ea303da99c7814db473 (diff) |
Add support for watch-only addresses
Changes:
* Add Add/Have WatchOnly methods to CKeyStore, and implementations
in CBasicKeyStore.
* Add similar methods to CWallet, and support entries for it in
CWalletDB.
* Make IsMine in script/wallet return a new enum 'isminetype',
rather than a boolean. This allows distinguishing between
spendable and unspendable coins.
* Add a field fSpendable to COutput (GetAvailableCoins' return type).
* Mark watchonly coins in listunspent as 'watchonly': true.
* Add 'watchonly' to validateaddress, suppressing script/pubkey/...
in this case.
Based on a patch by Eric Lombrozo.
Conflicts:
src/qt/walletmodel.cpp
src/rpcserver.cpp
src/wallet.cpp
Diffstat (limited to 'src/keystore.cpp')
-rw-r--r-- | src/keystore.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/keystore.cpp b/src/keystore.cpp index 594e0c61da..c2ea1ce5a9 100644 --- a/src/keystore.cpp +++ b/src/keystore.cpp @@ -59,3 +59,15 @@ bool CBasicKeyStore::GetCScript(const CScriptID &hash, CScript& redeemScriptOut) return false; } +bool CBasicKeyStore::AddWatchOnly(const CTxDestination &dest) +{ + LOCK(cs_KeyStore); + setWatchOnly.insert(dest); + return true; +} + +bool CBasicKeyStore::HaveWatchOnly(const CTxDestination &dest) const +{ + LOCK(cs_KeyStore); + return setWatchOnly.count(dest) > 0; +} |