Browse Source

wallet_ismine.h → script/ismine.h

Removes conditional dependency of `src/test` on wallet.

Makes multisig and P2SH tests complete without wallet built-in.
0.13
Wladimir J. van der Laan 9 years ago
parent
commit
a25a4f5b04
  1. 4
      src/Makefile.am
  2. 2
      src/script/ismine.cpp
  3. 6
      src/script/ismine.h
  4. 12
      src/test/multisig_tests.cpp
  5. 9
      src/test/script_P2SH_tests.cpp
  6. 2
      src/wallet/wallet.h

4
src/Makefile.am

@ -135,6 +135,7 @@ BITCOIN_CORE_H = \
script/sigcache.h \ script/sigcache.h \
script/sign.h \ script/sign.h \
script/standard.h \ script/standard.h \
script/ismine.h \
streams.h \ streams.h \
support/allocators/secure.h \ support/allocators/secure.h \
support/allocators/zeroafterfree.h \ support/allocators/zeroafterfree.h \
@ -157,7 +158,6 @@ BITCOIN_CORE_H = \
wallet/db.h \ wallet/db.h \
wallet/rpcwallet.h \ wallet/rpcwallet.h \
wallet/wallet.h \ wallet/wallet.h \
wallet/wallet_ismine.h \
wallet/walletdb.h \ wallet/walletdb.h \
zmq/zmqabstractnotifier.h \ zmq/zmqabstractnotifier.h \
zmq/zmqconfig.h\ zmq/zmqconfig.h\
@ -199,6 +199,7 @@ libbitcoin_server_a_SOURCES = \
rpc/rawtransaction.cpp \ rpc/rawtransaction.cpp \
rpc/server.cpp \ rpc/server.cpp \
script/sigcache.cpp \ script/sigcache.cpp \
script/ismine.cpp \
timedata.cpp \ timedata.cpp \
torcontrol.cpp \ torcontrol.cpp \
txdb.cpp \ txdb.cpp \
@ -229,7 +230,6 @@ libbitcoin_wallet_a_SOURCES = \
wallet/rpcdump.cpp \ wallet/rpcdump.cpp \
wallet/rpcwallet.cpp \ wallet/rpcwallet.cpp \
wallet/wallet.cpp \ wallet/wallet.cpp \
wallet/wallet_ismine.cpp \
wallet/walletdb.cpp \ wallet/walletdb.cpp \
policy/rbf.cpp \ policy/rbf.cpp \
$(BITCOIN_CORE_H) $(BITCOIN_CORE_H)

2
src/wallet/wallet_ismine.cpp → src/script/ismine.cpp

@ -3,7 +3,7 @@
// Distributed under the MIT software license, see the accompanying // Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php. // file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include "wallet_ismine.h" #include "ismine.h"
#include "key.h" #include "key.h"
#include "keystore.h" #include "keystore.h"

6
src/wallet/wallet_ismine.h → src/script/ismine.h

@ -3,8 +3,8 @@
// Distributed under the MIT software license, see the accompanying // Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php. // file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_WALLET_WALLET_ISMINE_H #ifndef BITCOIN_SCRIPT_ISMINE_H
#define BITCOIN_WALLET_WALLET_ISMINE_H #define BITCOIN_SCRIPT_ISMINE_H
#include "script/standard.h" #include "script/standard.h"
@ -31,4 +31,4 @@ typedef uint8_t isminefilter;
isminetype IsMine(const CKeyStore& keystore, const CScript& scriptPubKey); isminetype IsMine(const CKeyStore& keystore, const CScript& scriptPubKey);
isminetype IsMine(const CKeyStore& keystore, const CTxDestination& dest); isminetype IsMine(const CKeyStore& keystore, const CTxDestination& dest);
#endif // BITCOIN_WALLET_WALLET_ISMINE_H #endif // BITCOIN_SCRIPT_ISMINE_H

12
src/test/multisig_tests.cpp

@ -9,12 +9,10 @@
#include "script/script_error.h" #include "script/script_error.h"
#include "script/interpreter.h" #include "script/interpreter.h"
#include "script/sign.h" #include "script/sign.h"
#include "script/ismine.h"
#include "uint256.h" #include "uint256.h"
#include "test/test_bitcoin.h" #include "test/test_bitcoin.h"
#ifdef ENABLE_WALLET
#include "wallet/wallet_ismine.h"
#endif
#include <boost/foreach.hpp> #include <boost/foreach.hpp>
#include <boost/test/unit_test.hpp> #include <boost/test/unit_test.hpp>
@ -210,10 +208,8 @@ BOOST_AUTO_TEST_CASE(multisig_Solver1)
CTxDestination addr; CTxDestination addr;
BOOST_CHECK(ExtractDestination(s, addr)); BOOST_CHECK(ExtractDestination(s, addr));
BOOST_CHECK(addr == keyaddr[0]); BOOST_CHECK(addr == keyaddr[0]);
#ifdef ENABLE_WALLET
BOOST_CHECK(IsMine(keystore, s)); BOOST_CHECK(IsMine(keystore, s));
BOOST_CHECK(!IsMine(emptykeystore, s)); BOOST_CHECK(!IsMine(emptykeystore, s));
#endif
} }
{ {
vector<valtype> solutions; vector<valtype> solutions;
@ -225,10 +221,8 @@ BOOST_AUTO_TEST_CASE(multisig_Solver1)
CTxDestination addr; CTxDestination addr;
BOOST_CHECK(ExtractDestination(s, addr)); BOOST_CHECK(ExtractDestination(s, addr));
BOOST_CHECK(addr == keyaddr[0]); BOOST_CHECK(addr == keyaddr[0]);
#ifdef ENABLE_WALLET
BOOST_CHECK(IsMine(keystore, s)); BOOST_CHECK(IsMine(keystore, s));
BOOST_CHECK(!IsMine(emptykeystore, s)); BOOST_CHECK(!IsMine(emptykeystore, s));
#endif
} }
{ {
vector<valtype> solutions; vector<valtype> solutions;
@ -239,11 +233,9 @@ BOOST_AUTO_TEST_CASE(multisig_Solver1)
BOOST_CHECK_EQUAL(solutions.size(), 4U); BOOST_CHECK_EQUAL(solutions.size(), 4U);
CTxDestination addr; CTxDestination addr;
BOOST_CHECK(!ExtractDestination(s, addr)); BOOST_CHECK(!ExtractDestination(s, addr));
#ifdef ENABLE_WALLET
BOOST_CHECK(IsMine(keystore, s)); BOOST_CHECK(IsMine(keystore, s));
BOOST_CHECK(!IsMine(emptykeystore, s)); BOOST_CHECK(!IsMine(emptykeystore, s));
BOOST_CHECK(!IsMine(partialkeystore, s)); BOOST_CHECK(!IsMine(partialkeystore, s));
#endif
} }
{ {
vector<valtype> solutions; vector<valtype> solutions;
@ -258,11 +250,9 @@ BOOST_AUTO_TEST_CASE(multisig_Solver1)
BOOST_CHECK(addrs[0] == keyaddr[0]); BOOST_CHECK(addrs[0] == keyaddr[0]);
BOOST_CHECK(addrs[1] == keyaddr[1]); BOOST_CHECK(addrs[1] == keyaddr[1]);
BOOST_CHECK(nRequired == 1); BOOST_CHECK(nRequired == 1);
#ifdef ENABLE_WALLET
BOOST_CHECK(IsMine(keystore, s)); BOOST_CHECK(IsMine(keystore, s));
BOOST_CHECK(!IsMine(emptykeystore, s)); BOOST_CHECK(!IsMine(emptykeystore, s));
BOOST_CHECK(!IsMine(partialkeystore, s)); BOOST_CHECK(!IsMine(partialkeystore, s));
#endif
} }
{ {
vector<valtype> solutions; vector<valtype> solutions;

9
src/test/script_P2SH_tests.cpp

@ -9,12 +9,9 @@
#include "script/script.h" #include "script/script.h"
#include "script/script_error.h" #include "script/script_error.h"
#include "script/sign.h" #include "script/sign.h"
#include "script/ismine.h"
#include "test/test_bitcoin.h" #include "test/test_bitcoin.h"
#ifdef ENABLE_WALLET
#include "wallet/wallet_ismine.h"
#endif
#include <vector> #include <vector>
#include <boost/test/unit_test.hpp> #include <boost/test/unit_test.hpp>
@ -101,9 +98,7 @@ BOOST_AUTO_TEST_CASE(sign)
txTo[i].vin[0].prevout.n = i; txTo[i].vin[0].prevout.n = i;
txTo[i].vin[0].prevout.hash = txFrom.GetHash(); txTo[i].vin[0].prevout.hash = txFrom.GetHash();
txTo[i].vout[0].nValue = 1; txTo[i].vout[0].nValue = 1;
#ifdef ENABLE_WALLET
BOOST_CHECK_MESSAGE(IsMine(keystore, txFrom.vout[i].scriptPubKey), strprintf("IsMine %d", i)); BOOST_CHECK_MESSAGE(IsMine(keystore, txFrom.vout[i].scriptPubKey), strprintf("IsMine %d", i));
#endif
} }
for (int i = 0; i < 8; i++) for (int i = 0; i < 8; i++)
{ {
@ -198,9 +193,7 @@ BOOST_AUTO_TEST_CASE(set)
txTo[i].vin[0].prevout.hash = txFrom.GetHash(); txTo[i].vin[0].prevout.hash = txFrom.GetHash();
txTo[i].vout[0].nValue = 1*CENT; txTo[i].vout[0].nValue = 1*CENT;
txTo[i].vout[0].scriptPubKey = inner[i]; txTo[i].vout[0].scriptPubKey = inner[i];
#ifdef ENABLE_WALLET
BOOST_CHECK_MESSAGE(IsMine(keystore, txFrom.vout[i].scriptPubKey), strprintf("IsMine %d", i)); BOOST_CHECK_MESSAGE(IsMine(keystore, txFrom.vout[i].scriptPubKey), strprintf("IsMine %d", i));
#endif
} }
for (int i = 0; i < 4; i++) for (int i = 0; i < 4; i++)
{ {

2
src/wallet/wallet.h

@ -12,8 +12,8 @@
#include "ui_interface.h" #include "ui_interface.h"
#include "utilstrencodings.h" #include "utilstrencodings.h"
#include "validationinterface.h" #include "validationinterface.h"
#include "script/ismine.h"
#include "wallet/crypter.h" #include "wallet/crypter.h"
#include "wallet/wallet_ismine.h"
#include "wallet/walletdb.h" #include "wallet/walletdb.h"
#include "wallet/rpcwallet.h" #include "wallet/rpcwallet.h"

Loading…
Cancel
Save