John Newbery
3bde556429
Add -debugexclude option to switch off logging for specified components
8 years ago
practicalswift
4b87973c32
[rpc] Remove auth cookie on shutdown
...
Accidentally removed in 40b556d374
8 years ago
Gregory Maxwell
6b3bb3d9ba
Change LogAcceptCategory to use uint32_t rather than sets of strings.
...
This changes the logging categories to boolean flags instead of strings.
This simplifies the acceptance testing by avoiding accessing a scoped
static thread local pointer to a thread local set of strings. It
eliminates the only use of boost::thread_specific_ptr outside of
lockorder debugging.
This change allows log entries to be directed to multiple categories
and makes it easy to change the logging flags at runtime (e.g. via
an RPC, though that isn't done by this commit.)
It also eliminates the fDebug global.
Configuration of unknown logging categories now produces a warning.
8 years ago
Cory Fields
e025246fe2
scheduler: fix sub-second precision with boost < 1.50
8 years ago
Awemany
eb66bf9bdd
bitcoin-tx: Fix missing range check
...
The number of arguments is not checked MutateTxAddOutAddr(..), meaning
that
> ./bitcoin-tx -create outaddr=
accessed the vStrInputParts vector beyond its bounds.
This also includes work by jnewbery to check the inputs for
MutateTxAddPubKey()
8 years ago
Jeremy Rubin
3f098cccf6
Decrease testcase sizes in cuckoocache tests
8 years ago
Pieter Wuille
7228ce853d
Compensate for memory peak at flush time
8 years ago
Wladimir J. van der Laan
625488ace5
util: Work around (virtual) memory exhaustion on 32-bit w/ glibc
...
glibc-specific: On 32-bit systems set the number of arenas to 1. By
default, since glibc 2.10, the C library will create up to two heap
arenas per core. This is known to cause excessive virtual address space
usage in our usage. Work around it by setting the maximum number of
arenas to 1.
8 years ago
Suhas Daftuar
011124a2b2
Update benchmarking with package statistics
8 years ago
Suhas Daftuar
42cd8c890f
Add benchmarking for CreateNewBlock
8 years ago
Suhas Daftuar
eed816af6c
Mining: return early when block is almost full
8 years ago
Wladimir J. van der Laan
f885b67029
refactor: Make rest.cpp dependency on `*toJSON` in `blockchain.cpp` explicit
8 years ago
Thomas Snider
6d5dd60c88
No need to use OpenSSL malloc/free
8 years ago
Ryan Havar
53351321c4
ApproximateBestSubset should take inputs by reference, not value
8 years ago
Jonas Schnelli
4115af7ac7
Fix rebase issue where pwalletMain was used instead of pwallet
...
Ser./Deser. nInternalChainCounter as last element
8 years ago
Russell Yanofsky
e9a64615c8
Make qt wallet test compatible with qt4
...
Unlike Qt5, the Qt4 signals implementation doesn't allow a signal to be
directly connected to a c++ lambda expression. Work around this by defining a
Callback QObject with a virtual method that can forward calls to a closure.
The Qt4 error was reported by Patrick Strateman <patrick.strateman@gmail.com>
in https://github.com/bitcoin/bitcoin/pull/10039#issuecomment-289248763
8 years ago
Wladimir J. van der Laan
8d8f28dd52
refactor: Move RPCNotifyBlockChange out of `rpc/server.h`
8 years ago
Wladimir J. van der Laan
e6dcfeec05
refactor: Move GetDifficulty out of `rpc/server.h`
...
It has no business in `rpcserver.h`. Define it in the interface header
of the implementation unit `rpcblockchain` where it is defined.
Also modernize the signature to:
double GetDifficulty(const CBlockIndex* blockindex = nullptr);
(remove `extern`, replace `NULL` with `nullptr`)
8 years ago
Jonas Schnelli
9382f0425e
Do not break backward compatibility during wallet encryption
8 years ago
Jameson Lopp
0fb288725b
Move several relay options into the Relay help group
8 years ago
Jameson Lopp
1403b1a689
move rpcserialversion into RPC option group
8 years ago
Jameson Lopp
d5690f1ab8
remove 'noconnect' option from documentation
8 years ago
MarcoFalke
fa55853219
rpc: Rename first named arg of createrawtransaction
8 years ago
Andrew Chow
4df76e270c
Ensure an item exists on the rpcconsole stack before adding
...
Ensures that there is an item on the rpcconsole stack before adding something to the current stack so that a segmentation fault does not occur.
8 years ago
Matthew Zipkin
b1f584dbc1
fix build if spaces in src dir path
8 years ago
Thomas Snider
81a3857c4e
Deduplicated sigaction() boilerplate
8 years ago
Jonas Schnelli
1df08d1580
Add assertion for CanSupportFeature(FEATURE_HD_SPLIT)
8 years ago
Jonas Schnelli
cd468d07d5
Define CWallet::DeriveNewChildKey() as private
8 years ago
Jonas Schnelli
ed79e4f497
Optimize GetOldestKeyPoolTime(), return as soon as we have both oldest keys
8 years ago
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
Karl-Johan Alm
5ba61f0034
[zmq] Call va_end() on va_start()ed args.
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