8fdb6f912 [tests] fixup dbcrash interaction with add_nodes() (John Newbery)
Pull request description:
Another conflict with #11121. Apologies - this is entirely my fault. I didn't run the extended test suite after rebasing on master.
@MarcoFalke@sdaftuar
Tree-SHA512: eefce1d1c63dc4a63c5e030a541e046ad4832e8a709c0a8aad40ffdc4712b2065486778b406dfa57cfd34e66db86064278ee3fea8f2c2afd2390772875e6fa3e
Combine fLimitFree and fOverrideMempoolLimit into a single boolean:
bypass_limits. This is used to indicate that mempool limiting based on feerate
should be bypassed. It is used when readding transactions from a reorg and then
the mempool is trimmed to size after all transactions are added and they can be
evaluated in the context of their descendants. No changes to behavior.
b86a42077 when clearing addrman clear mapInfo and mapAddr (Gregory Sanders)
Pull request description:
Power failure on my machine resulted in a corrupted addrman that would hit bad assertions when trying to serialize the "cleared" addrman to disk: 6866b4912b/src/addrman.h (L320)
Tree-SHA512: 07ca8b6cbd88407e5f3f0dccb346ae31bd1392f4210b2d5c5647c853986bfec95cf70240b92bafdc61b90e452a5d8315962738d10c10c2b53fdabff10503d05a
This resolves an issue where estimatesmartfee would return 999
sat/byte instead of 1000, due to floating point loss of precision
Thanks to sipa for suggesting is_integral.
6f703e9bf Add release notes describing blockmaxweight deprecation (Matt Corallo)
3dc263c9b Use a sensible default for blockmaxweight (Matt Corallo)
ba206d2c6 Deprecate confusing blockmaxsize, fix getmininginfo output (Matt Corallo)
Pull request description:
No sensible user will ever keep the default settings here, so not
having sensible defaults only serves to screw users who are
paying less attention, which makes for terrible defaults.
Additionally, support for block-size-limiting directly has been removed:
* This removes block-size-limiting code in favor of GBT clients
doing the limiting themselves (if at all).
* -blockmaxsize is deprecated and only used to calculate an implied
blockmaxweight, addressing confusion from multiple users.
* getmininginfo's currentblocksize return value was returning
garbage values, and has been removed, also removing a
GetSerializeSize call in some block generation inner loops and
potentially addressing some performance edge cases.
Tree-SHA512: 33010540faf5d6225ad575488b804e180a8d53a41be484ca2932a0485595e28da62f0ade4b279a6bf1c947c7ce389f51fde8651b2ba25deb25e766e0813b993c
We were saving a div by caching the inverse as a float, but this
ended up requiring a int -> float -> int conversion, which takes
almost as much time as the difference between float mul and div.
There are lots of other more pressing issues with the bench
framework which probably require simply removing the adaptive
iteration count stuff anyway.
No sensible user will ever keep the default settings here, so not
having sensible defaults only serves to screw users who are
paying less attention, which makes for terrible defaults.
* This removes block-size-limiting code in favor of GBT clients
doing the limiting themselves (if at all).
* -blockmaxsize is deprecated and only used to calculate an implied
blockmaxweight, addressing confusion from multiple users.
* getmininginfo's currentblocksize return value was returning
garbage values, and has been removed, also removing a
GetSerializeSize call in some block generation inner loops and
potentially addressing some performance edge cases.
f151f5f50 [macOS] remove Growl support, remove unused code (Jonas Schnelli)
Pull request description:
There is no longer a reason to support Growl.
A) It went to pay-ware since a couple of years
B) Since OSX 10.8, the operating system has its own modal notification options (Notification Center).
This PR removes support for Growl.
OSX notification centre is still supported after this PR.
Tree-SHA512: eee18098d7354c4e98f927bca9963d4843ff6bceee74795f73a66c27eed33efaac00ec2cabde8807efcbc936b16ab712249006fa13f5a3f55e4d44d163f5f9a0
b73628d5a Make sure ~/.bitcoin doesn't exist before build (MeshCollider)
Pull request description:
We've been getting some random travis failures since https://github.com/bitcoin/bitcoin/pull/11260 was merged, because the `~/.bitcoin` directory exists after tests are run. Not sure exactly what's causing it, but this PR ensures the directory doesn't exist before running the build and tests, to see if this fixes the issue.
Edit: travis has been run on this merge twice, and all tests passed both times, so either this fixes the issue or it just got lucky
Tree-SHA512: d48e594cfc19a16f4c6e360ec78956ff4274169e92fac4602ab0b980de32875c1e9d3cb24a40c708b5334dbbf8bf55a8003121591bdb5f3fdd256d63e1235aa8
91c39e38d Update CONTRIBUTRING.md to reduce unnecesarry review workload (Jonas Schnelli)
Pull request description:
The current workload for reviewing pull requests is relatively high and trivial, non-beneficial pull requests tend to slow down the overall development process.
We may want to directly close trivial, non-beneficially pull requests during time of high pull request load.
This PR would prepare for possible direct PR closing.
Tree-SHA512: 6a0fb0133e42a400133cc77e4830620c26af4fe5b69f6238e0e77e686d785bd984d85c681a942701e7719de836147e646091a6c492f1d1e2abb906129566082f
f38c05104 [depends] Don't build libevent sample code (fanquake)
Pull request description:
Noticed today while doing Windows depends builds.
Before and after libevent build on OS X.
```
Building libevent...
GEN include/event2/event-config.h
/Applications/Xcode.app/Contents/Developer/usr/bin/make all-am
CC buffer.lo
CC bufferevent.lo
CC bufferevent_filter.lo
CC bufferevent_ratelim.lo
CC bufferevent_sock.lo
CC bufferevent_pair.lo
CC event.lo
CC evmap.lo
CC evthread.lo
CC evutil.lo
CC evutil_rand.lo
CC evutil_time.lo
CC listener.lo
CC log.lo
CC select.lo
CC poll.lo
CC kqueue.lo
CC signal.lo
CC evdns.lo
CC event_tagging.lo
CC evrpc.lo
CC http.lo
CC evthread_pthread.lo
CC sample/dns-example.o
CC sample/event-read-fifo.o
CC sample/hello-world.o
CC sample/http-server.o
CC sample/http-connect.o
CC sample/signal-test.o
CC sample/time-test.o
CCLD libevent_core.la
CCLD libevent_pthreads.la
CCLD libevent.la
CCLD libevent_extra.la
CCLD sample/event-read-fifo
CCLD sample/dns-example
CCLD sample/hello-world
CCLD sample/http-server
CCLD sample/http-connect
CCLD sample/signal-test
CCLD sample/time-test
Staging libevent...
```
```
Building libevent...
GEN include/event2/event-config.h
/Applications/Xcode.app/Contents/Developer/usr/bin/make all-am
CC buffer.lo
CC bufferevent.lo
CC bufferevent_filter.lo
CC bufferevent_pair.lo
CC bufferevent_ratelim.lo
CC bufferevent_sock.lo
CC event.lo
CC evmap.lo
CC evthread.lo
CC evutil.lo
CC evutil_rand.lo
CC evutil_time.lo
CC listener.lo
CC log.lo
CC select.lo
CC poll.lo
CC kqueue.lo
CC signal.lo
CC evdns.lo
CC event_tagging.lo
CC evrpc.lo
CC http.lo
CC evthread_pthread.lo
CCLD libevent_core.la
CCLD libevent_pthreads.la
CCLD libevent.la
CCLD libevent_extra.la
Staging libevent...
```
Tree-SHA512: a82bde38e110a16f934c0f1e95d3ae66662c1b3c1367e4a6e7c4994f585ebeea4f5cbee4d98a8dc64a8e8936eb9f4bb0c55fb65e718f724d88e81cb8fa84be88
7d03418ae Add -usehd to excluded args in check-doc.py (MeshCollider)
Pull request description:
All Travis builds on master are currently failing due to contrib/devtools/check-doc.py picking up `-usehd` in `src/wallet/wallet.cpp#L3845` as an undocumented argument (removed in https://github.com/bitcoin/bitcoin/pull/11250). Just need to add it to the list of unsupported, deprecated and duplicate args in check-doc.py so that it's ignored. Otherwise all builds on top of https://github.com/bitcoin/bitcoin/pull/11250 will fail until this is merged.
Tree-SHA512: 205c9be759b04bc3b85ac2b53fd455b3c0e229320d8e2b7f7d0ef5d5bd8033594b38a2d948250894ee2f4451584aca698476cd4b5cdf82955925683e3068a67c
713a92073 Remove usehd option and warn when it is used (Andrew Chow)
d4c18f733 Bump wallet version number to 159900 (Andrew Chow)
Pull request description:
Bump the wallet version number to 159900 so that new wallets made without a default key will no longer work on previous versions at all. Also remove the `usehd` option to avoid weird interaction with wallet version numbers and HD-ness of wallets.
Tree-SHA512: dd7965505bfad6a926c79afd423236f509229a398a8398076f8d57d90a5974243f9459a61225c4daee560c796f427445c9e55a3ad528a3a97a9123ca6a1269ab
5d2a3995e [trivial] fixup comment for VerifyWallets() (John Newbery)
43b0e81d0 [wallet] Add StartWallets() function to wallet/init.cpp (John Newbery)
290f3c56d [wallet] Add RegisterWalletRPC() function to wallet/init.cpp (John Newbery)
062d63102 [wallet] Add CloseWallets() function to wallet/init.cpp (John Newbery)
77fe07c15 [wallet] Add StopWallets() function to wallet/init.cpp (John Newbery)
2da5eafa4 [wallet] Add FlushWallets() function to wallet/init.cpp (John Newbery)
1b9cee66e [wallet] Rename WalletVerify() to VerifyWallets() (John Newbery)
9c76ba18c [wallet] Rename InitLoadWallet() to OpenWallets() (John Newbery)
Pull request description:
Apologies for the mostly code move only PR. This is a pre-req for both #10740 and #10762
All wallet component initialization/destruction functions are now in their own `wallet/init.cpp` translation unit and are no longer static functions on the CWallet class. The bitcoin_server also no longer has any knowledge that there are multiple wallets in vpwallet.
There should be no changes in behavior from this PR.
Tree-SHA512: 7c260eb094f2fa1a88d803769ba60935810968a7309f731135e4b17623b97f18c03bbcd293c942093d1efce62c6c978f9ff484d54dc9a60bc2fcb5af2d160fcd
Rationale:
- this init function can now open multiple wallets (hence
Wallet->Wallets)
- This is named as the antonym to CloseWallets(), which carries out the
opposite action.
592404f03 Changing &vec[0] to vec.data(), what 9804 missed (MeshCollider)
Pull request description:
This just continues the work of https://github.com/bitcoin/bitcoin/pull/9804
Modifies a lot of `&vector[]`'s to `vector.data()`'s across all the files including tests, just the stuff that 9804 missed
Tree-SHA512: dd1a9dffb999dea4fba78dcc91fe02f90250db86f5c74948e1ff3e8b4036b2154b600555eaa04dece5368920aae3513bc36425dc96e4319ca1041b0928a6b656
2525b972a net: stop both net/net_processing before destroying them (Cory Fields)
80e2e9d0c net: drop unused connman param (Cory Fields)
8ad663c1f net: use an interface class rather than signals for message processing (Cory Fields)
28f11e940 net: pass CConnman via pointer rather than reference (Cory Fields)
Pull request description:
See individual commits.
Benefits:
- Allows us to begin moving stuff out of CNode and into CNodeState (after #10652 and follow-ups)
- Drops boost dependency and overhead
- Drops global signal registration
- Friendlier backtraces
Tree-SHA512: af2038c959dbec25f0c90c74c88dc6a630e6b9e984adf52aceadd6954aa463b6aadfccf979c2459a9f3354326b5077ee02048128eda2a649236fadb595b66ee3
Parse the dispatch tables from the server implementation files,
and the conversion table from the client.
Perform the following consistency checks:
- Arguments defined in conversion table, must be present in dispatch
table. If not, it was probably forgotten to add them to the
dispatch table, and they will not work.
- Arguments defined in conversion table must have the same names as
in the dispatch table. If not, they will not work.
- All aliases for an argument must either be present in the
conversion table, or not. Anything in between means an oversight
and some aliases won't work.
Any of these results in an error.
It also performs a consistency check to see if the same
named argument is sometimes converted, and sometimes not. E.g.
one RPC call might have a 'verbose' argument that is converted,
another RPC call might have one that is not converted. This is not
necessarily wrong, but points at a possible error (as well as
makes the API harder to memorize) - so it is emitted as a warning
(could upgrade this to error).