Jonas Schnelli
771a304ffe
Make sure we set the wallets min version to FEATURE_HD_SPLIT at the very first point
8 years ago
Jonas Schnelli
003e197498
Remove FEATURE_HD_SPLIT bump TODO
8 years ago
Jonas Schnelli
d9638e5aa4
Overhaul the internal/external key derive switch
8 years ago
Jonas Schnelli
1090502c3e
Fix superfluous cast and code style nits in RPC wallet-hd.py test
8 years ago
Jonas Schnelli
58e148333e
CKeyPool avoid "catch (...)" in SerializationOp
8 years ago
Jonas Schnelli
e138876f0a
Only show keypoolsize_hd_internal if HD split is enabled
8 years ago
Jonas Schnelli
add38d9b83
GetOldestKeyPoolTime: if HD & HD Chain Split is enabled, response max(oldest-internal-key, oldest-external-key)
8 years ago
Jonas Schnelli
dd526c2a2d
Don't switch to HD-chain-split during wallet encryption of non HD-chain-split wallets
8 years ago
Jonas Schnelli
79df9df348
Switch to 100% for the HD internal keypool size
8 years ago
Jonas Schnelli
bcafca1077
Make sure we always generate one keypool key at minimum
8 years ago
Jonas Schnelli
d0a627a53a
Fix issue where CDataStream->nVersion was taken a CKeyPool record version
8 years ago
Jonas Schnelli
9af8f00a75
Make sure we hand out keypool keys if HD_SPLIT is not enabled
8 years ago
Jonas Schnelli
469a47b760
Make sure ReserveKeyFromKeyPool only hands out internal keys if HD_SPLIT is supported
8 years ago
Jonas Schnelli
05a9b493eb
Fix wrong keypool internal size in RPC getwalletinfo help
8 years ago
Jonas Schnelli
01de822c8d
Removed redundant IsLocked() check in NewKeyPool()
8 years ago
Jonas Schnelli
d59531ddfc
Immediately return setKeyPool's size if HD or HD_SPLIT is disabled or not supported
8 years ago
Jonas Schnelli
02592f4c5e
[Wallet] split the keypool in an internal and external part
8 years ago
Thomas Snider
c59aedc1b0
[trivial] Dead code removal
8 years ago
Eric Shaw Jr
9ab9e7d1b3
Add a button to open the config file in a text editor
8 years ago
Karl-Johan Alm
5ba61f0034
[zmq] Call va_end() on va_start()ed args.
8 years ago
John Newbery
91c91e140a
Control mempool persistence using a command line parameter.
...
Mempool persistence was added in
3f78562df5
, and is always on. This commit
introduces a command-line parameter -persistmempool, which defaults to
true. When set to false:
- mempool.dat is not loaded when the node starts.
- mempool.dat is not written when the node stops.
8 years ago
practicalswift
dbf30ff10f
[trivial] Fix typos in comments
8 years ago
Russell Yanofsky
b5bec4e330
Avoid QTimer::singleShot compile error with Qt 5.3.2
...
Construct QTimer object directly, instead of relying on QTimer::singleShot
overloads accepting lambdas, which weren't introduced until Qt 5.4.
Avoids the following compile error in debian jessie:
```
qt/test/wallettests.cpp: In function ‘void {anonymous}::ConfirmSend()’:
qt/test/wallettests.cpp:34:6: error: no matching function for call to ‘QTimer::singleShot(int, Qt::TimerType, {anonymous}::ConfirmSend()::<lambda()>)’
});
^
qt/test/wallettests.cpp:34:6: note: candidates are:
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QTimer:1:0,
from ./qt/sendcoinsdialog.h:13,
from qt/test/wallettests.cpp:7:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h:81:17: note: static void QTimer::singleShot(int, const QObject*, const char*)
static void singleShot(int msec, const QObject *receiver, const char *member);
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h:81:17: note: no known conversion for argument 2 from ‘Qt::TimerType’ to ‘const QObject*’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h:82:17: note: static void QTimer::singleShot(int, Qt::TimerType, const QObject*, const char*)
static void singleShot(int msec, Qt::TimerType timerType, const QObject *receiver, const char *member);
^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qtimer.h:82:17: note: candidate expects 4 arguments, 3 provided
```
Error reported by Pavel Janík <Pavel@Janik.cz> in
https://github.com/bitcoin/bitcoin/pull/9974#issuecomment-287574436
8 years ago
Russell Yanofsky
d5046e72f4
Avoid scoped_connection compile error with boost 1.55.0
...
Construct scoped_connection directly instead of relying on copy initialization
and move constructor. Avoids the following compile error in debian jessie:
```
In file included from /usr/include/boost/signals2/signal.hpp:21:0,
from ./util.h:29,
from ./dbwrapper.h:11,
from ./txdb.h:10,
from ./test/test_bitcoin.h:11,
from qt/test/wallettests.cpp:11:
/usr/include/boost/signals2/connection.hpp: In function ‘uint256 {anonymous}::SendCoins(CWallet&, SendCoinsDialog&, const CBitcoinAddress&, CAmount)’:
/usr/include/boost/signals2/connection.hpp:234:7: error: ‘boost::signals2::scoped_connection::scoped_connection(const boost::signals2::scoped_connection&)’ is private
scoped_connection(const scoped_connection &other);
^
qt/test/wallettests.cpp:47:6: error: within this context
});
^
```
Error reported by Pavel Janík <Pavel@Janik.cz> in
https://github.com/bitcoin/bitcoin/pull/9974#issuecomment-287550034
8 years ago
John Newbery
63d66ba20a
Move src/test/bitcoin-util-test.py to test/util/bitcoin-util-test.py
8 years ago
Wladimir J. van der Laan
e141aa4ba6
Add mallocinfo mode to `getmemoryinfo` RPC
...
This adds a mode argument to `getmemoryinfo`. By default the output
will remain the same. However if a mode argument of `mallocinfo` is
provided the result of glibc `malloc_info` (if available) will
be returned as a string, as-is.
This is useful for tracking heap usage over time or troubleshooting
memory fragmentation issues.
8 years ago
James Evans
05a9f22358
Trivial: Fix typo in help getrawtransaction RPC
8 years ago
practicalswift
97b8213674
Fix parameter naming inconsistencies between .h and .cpp files
...
Inconsistencies prior to this commit:
* serializeFlags vs serialFlags
src/core_io.h:std::string EncodeHexTx(const CTransaction& tx, const int serializeFlags = 0);
src/core_write.cpp:std::string EncodeHexTx(const CTransaction& tx, const int serialFlags)
* statusOut vs outStatus
src/rpc/server.h:bool RPCIsInWarmup(std::string *statusOut);
src/rpc/server.cpp:bool RPCIsInWarmup(std::string *outStatus)
* hashesToUpdate vs vHashesToUpdate
src/txmempool.h: void UpdateTransactionsFromBlock(const std::vector<uint256> &hashesToUpdate);
src/txmempool.cpp:void CTxMemPool::UpdateTransactionsFromBlock(const std::vector<uint256> &vHashesToUpdate)
* nPruneUpToHeight vs nManualPruneHeight
src/validation.h:void PruneBlockFilesManual(int nPruneUpToHeight);
src/validation.cpp:void PruneBlockFilesManual(int nManualPruneHeight);
8 years ago
Michael Goldstein
f490dae56b
Trivial: Fix typo in key.h comment
8 years ago
practicalswift
d93b97fbcf
Set to nullptr after delete
8 years ago
Pavel Janík
d7f80b6dcb
Rename first iterator to prevent shadowing.
8 years ago
Pavel Janík
b42ff60c7e
Fix shadowing of local variables.
8 years ago
Pavel Janík
c4b60b3d9c
Make some global variables less-global (static)
8 years ago
Pavel Janík
bb2aaeeeea
Prevent -Wshadow warnings with gcc versions 4.8.5, 5.3.1 and 6.2.1.
8 years ago
practicalswift
8dc957ae06
Remove unused code
8 years ago
Pavol Rusnak
9350e13396
util: rename variable to avoid shadowing
8 years ago
practicalswift
a3ca43bb32
[trivial] Fix a typo (introduced two days ago) in the default fee warning
8 years ago
NicolasDorier
cfce581d11
[LevelDB] Plug leveldb logs to bitcoin logs
8 years ago
Russell Yanofsky
9e6817ed11
Add new test_bitcoin-qt static library dependencies
...
Avoids following error when qt is statically linked into the test binary, as on
travis:
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
8 years ago
Russell Yanofsky
2754ef1c4a
Add simple qt wallet test sending a transaction
8 years ago
Russell Yanofsky
b61b34c89d
Add braces to if statements in Qt test_main
8 years ago
Patrick Strateman
fb6f90a4ce
Initialize nRelockTime
8 years ago
Suhas Daftuar
abe7b3d3ab
Don't require segwit in getblocktemplate for segwit signalling or mining
...
Segwit's version bit will be signalled for all invocations of CreateNewBlock,
and not specifying segwit only will cause CreateNewBlock to skip transactions
with witness from being selected.
8 years ago
Wladimir J. van der Laan
b651270cd6
util: Throw tinyformat::format_error on formatting error
...
Throw tinyformat::format_error on formatting error instead of the
`std::runtime_error`.
8 years ago
Wladimir J. van der Laan
3b092bd9b6
util: Properly handle errors during log message formatting
...
Instead of having an exception propagate into the program when an
error happens while formatting a log message, just print a message to
the log.
Addresses #9423 .
8 years ago
Russell Yanofsky
cc9503cec9
Make qt test compatible with TestChain100Setup framework
...
Reset global state after rpc tests, and remove unnecessary ECC initialization
to prevent assert error if it is initialized twice.
8 years ago
Russell Yanofsky
91e303595b
Make test_bitcoin.cpp compatible with Qt Test framework
...
Move Boost.Test main function and global overrides to a new test_bitcoin_main.cpp file.
8 years ago
NicolasDorier
dcf2112de6
Add safe flag to listunspent result
8 years ago
Russell Yanofsky
af61d9f78b
Add COutput::fSafe member for safe handling of unconfirmed outputs
...
This exposes a value computed in CWallet::AvailableCoins so it can used for
other things, like inclusion in listunspent output.
8 years ago
practicalswift
53a2ba351a
[util] Remove redundant call to get() on smart pointer (thread_specific_ptr)
8 years ago