aboutsummaryrefslogtreecommitdiff
path: root/src/keystore.cpp
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2014-06-09 21:11:59 +0200
committerJaSK <temp@temp.temp>2014-07-02 15:48:39 +0200
commitd5087d1ba08142bdf135333a0da08ef0f5fc7ef0 (patch)
tree42c945e1a21db1c7b9bfe9a91f8ee47f9eb7b49a /src/keystore.cpp
parent0fa2f8899adf8f9f0ead29ba5d708ead6c5d4eaf (diff)
downloadbitcoin-d5087d1ba08142bdf135333a0da08ef0f5fc7ef0.tar.xz
Use script matching rather than destination matching for watch-only.
This changes the keystore data format, wallet format and IsMine logic to detect watch-only outputs based on direct script matching rather than first trying to convert outputs to destinations (addresses). The reason is that we don't know how the software that has the spending keys works. It may support the same types of scripts as us, but that is not guaranteed. Furthermore, it removes the ambiguity between addresses used as identifiers for output scripts or identifiers for public keys. One practical implication is that adding a normal pay-to-pubkey-hash address via importaddress will not cause payments to the corresponding full public key to be detected as IsMine. If that is wanted, add those scripts directly (importaddress now also accepts any hex-encoded script). Conflicts: src/wallet.cpp
Diffstat (limited to 'src/keystore.cpp')
-rw-r--r--src/keystore.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/keystore.cpp b/src/keystore.cpp
index c2ea1ce5a9..2a4c88d565 100644
--- a/src/keystore.cpp
+++ b/src/keystore.cpp
@@ -59,14 +59,14 @@ bool CBasicKeyStore::GetCScript(const CScriptID &hash, CScript& redeemScriptOut)
return false;
}
-bool CBasicKeyStore::AddWatchOnly(const CTxDestination &dest)
+bool CBasicKeyStore::AddWatchOnly(const CScript &dest)
{
LOCK(cs_KeyStore);
setWatchOnly.insert(dest);
return true;
}
-bool CBasicKeyStore::HaveWatchOnly(const CTxDestination &dest) const
+bool CBasicKeyStore::HaveWatchOnly(const CScript &dest) const
{
LOCK(cs_KeyStore);
return setWatchOnly.count(dest) > 0;