Luke Dashjr
59daa58d6a
RPC/Mining: getblocktemplate: Update and fix formatting of help
2016-10-19 10:47:32 +02:00
Wladimir J. van der Laan
e44753c067
Merge #8949 : Be more agressive in getting connections to peers with relevant services.
...
4630479
Make dnsseed's definition of acute need include relevant services. (Gregory Maxwell)
9583477
Be more aggressive in connecting to peers with relevant services. (Gregory Maxwell)
2016-10-19 10:43:54 +02:00
Wladimir J. van der Laan
1230890a6d
Merge #8936 : Report NodeId in misbehaving debug
...
a1919ad
Report NodeId in misbehaving debug (R E Broadley)
2016-10-19 10:35:44 +02:00
Gregory Maxwell
4630479135
Make dnsseed's definition of acute need include relevant services.
...
We normally prefer to connect to peers offering the relevant services.
If we're not connected to enough peers with relevant services, we
probably don't know about them and could use dnsseed's help.
2016-10-19 08:07:02 +00:00
Wladimir J. van der Laan
05998da5a7
Merge #8865 : Decouple peer-processing-logic from block-connection-logic
...
a9aec5c
Use BlockChecked signal to send reject messages from mapBlockSource (Matt Corallo)
7565e03
Remove SyncWithWallets wrapper function (Matt Corallo)
12ee1fe
Always call UpdatedBlockTip, even if blocks were only disconnected (Matt Corallo)
f5efa28
Remove CConnman parameter from ProcessNewBlock/ActivateBestChain (Matt Corallo)
fef1010
Use CValidationInterface from chain logic to notify peer logic (Matt Corallo)
aefcb7b
Move net-processing logic definitions together in main.h (Matt Corallo)
0278fb5
Remove duplicate nBlocksEstimate cmp (we already checked IsIBD()) (Matt Corallo)
87e7d72
Make validationinterface.UpdatedBlockTip more verbose (Matt Corallo)
2016-10-18 22:48:51 +02:00
Wladimir J. van der Laan
74dc388ab5
Merge #8873 : Add microbenchmarks to profile more code paths.
...
18dacf9
Add microbenchmarks to profile more code paths. (Russell Yanofsky)
2016-10-18 22:03:52 +02:00
Russell Yanofsky
18dacf9bd2
Add microbenchmarks to profile more code paths.
...
The new benchmarks exercise script validation, CCoinsDBView caching,
mempool eviction, and wallet coin selection code.
All of the benchmarks added here are extremely simple and don't
necessarily mirror common real world conditions or interesting
performance edge cases. Details about how specific benchmarks can be
improved are noted in comments.
Github-Issue: #7883
2016-10-18 21:59:05 +02:00
Wladimir J. van der Laan
7f71a3c591
Merge #6996 : Add preciousblock RPC
...
5805ac8
Add preciousblock tests (Pieter Wuille)
5127c4f
Add preciousblock RPC (Pieter Wuille)
2016-10-18 21:36:38 +02:00
Matt Corallo
72ca7d924e
Don't hold cs_main when calling ProcessNewBlock from a cmpctblock
2016-10-18 15:24:59 -04:00
Wladimir J. van der Laan
0b5a997acf
Merge #8637 : Compact Block Tweaks (rebase of #8235 )
...
3ac6de0
Align constant names for maximum compact block / blocktxn depth (Pieter Wuille)
b2e93a3
Add cmpctblock to debug help list (instagibbs)
fe998e9
More agressively filter compact block requests (Matt Corallo)
02a337d
Dont remove a "preferred" cmpctblock peer if they provide a block (Matt Corallo)
2016-10-18 21:19:54 +02:00
Wladimir J. van der Laan
744d2652dd
Merge #8223 : [c++11] Use std::unique_ptr for block creation.
...
9fce062
[c++11] Use std::unique_ptr for block creation. (Daniel Kraft)
2016-10-18 21:16:08 +02:00
Wladimir J. van der Laan
e10af96cf4
Merge #8287 : [wallet] Set fLimitFree = true
...
fa8b02d
[rpc] rawtx: Prepare fLimitFree to make it an option (MarcoFalke)
fa28bfa
[wallet] Set fLimitFree = true (MarcoFalke)
2016-10-18 21:05:07 +02:00
Wladimir J. van der Laan
cdfb7755a6
Merge #8914 : Kill insecure_random and associated global state
...
5eaaa83
Kill insecure_random and associated global state (Wladimir J. van der Laan)
2016-10-18 15:44:57 +02:00
Wladimir J. van der Laan
f628d9a29a
Merge #8925 : qt: Display minimum ping in debug window.
...
1724a40
Display minimum ping in debug window. (R E Broadley)
2016-10-18 15:16:39 +02:00
Wladimir J. van der Laan
6e094e54f7
Merge #8845 : Don't return the address of a P2SH of a P2SH
...
d51f182
Don't return the address of a P2SH of a P2SH. (jnewbery)
2016-10-18 14:33:26 +02:00
Wladimir J. van der Laan
dd07c6b2cc
Merge #8921 : RPC: Chainparams: Remove Chainparams::fTestnetToBeDeprecatedFieldRPC
...
b26a7b5
RPC: Chainparams: Remove Chainparams::fTestnetToBeDeprecatedFieldRPC (Jorge Timón)
2016-10-18 13:31:59 +02:00
Jorge Timón
b26a7b5377
RPC: Chainparams: Remove Chainparams::fTestnetToBeDeprecatedFieldRPC
2016-10-18 13:17:38 +02:00
Wladimir J. van der Laan
614d522c3e
Merge #8932 : Allow bitcoin-tx to create v2 transactions
...
b0aea80
Sync bitcoin-tx with tx version policy (BtcDrak)
2016-10-18 11:45:07 +02:00
Wladimir J. van der Laan
cd761fb85a
Merge #8944 : Remove bogus assert on number of oubound connections.
...
1ab21cf
Remove bogus assert on number of oubound connections. (Matt Corallo)
2016-10-18 10:43:52 +02:00
Wladimir J. van der Laan
47ace4240a
Merge #8918 : Qt: Add "Copy URI" to payment request context menu
...
21f5a63
Qt: Add "Copy URI" to payment request context menu (Luke Dashjr)
2016-10-18 10:37:17 +02:00
R E Broadley
a1919adab0
Report NodeId in misbehaving debug
2016-10-18 07:17:09 +07:00
Gregory Maxwell
9583477288
Be more aggressive in connecting to peers with relevant services.
...
Only allow skipping relevant services until there are four outbound
connections up.
This avoids quickly filling up with peers lacking the relevant
services when addrman has few or none of them.
2016-10-17 23:08:52 +00:00
Matt Corallo
1ab21cf344
Remove bogus assert on number of oubound connections.
...
This value can be significantly higher if the users uses addnode
2016-10-17 16:29:03 -04:00
Christian Decker
2449e12681
My DNS seed supports filtering
...
Currently supports filtering by any combination of the 4 least
significant bits.
2016-10-17 13:33:53 -04:00
Matt Corallo
ffb4713920
Add x9 service bit support to dnsseed.bluematt.me
2016-10-17 13:33:52 -04:00
Matt Corallo
504c72ad34
Comment that most dnsseeds only support some service bits combos
2016-10-17 13:33:25 -04:00
Wladimir J. van der Laan
c6b959efcf
Merge #8937 : Define start and end time for segwit deployment
...
f9c23de
Define start and end time for segwit deployment (Pieter Wuille)
2016-10-17 16:49:12 +02:00
Pieter Wuille
3ac6de0a04
Align constant names for maximum compact block / blocktxn depth
2016-10-17 16:46:30 +02:00
instagibbs
b2e93a343e
Add cmpctblock to debug help list
2016-10-17 16:44:57 +02:00
Matt Corallo
fe998e962d
More agressively filter compact block requests
...
Unit test adaptations by Pieter Wuille.
2016-10-17 16:44:57 +02:00
Matt Corallo
02a337defd
Dont remove a "preferred" cmpctblock peer if they provide a block
2016-10-17 16:44:57 +02:00
Pieter Wuille
f9c23dea97
Define start and end time for segwit deployment
2016-10-17 14:15:57 +02:00
Wladimir J. van der Laan
53133c1c04
Merge #8499 : Add several policy limits and disable uncompressed keys for segwit scripts
...
67d6ee1
remove redundant tests in p2p-segwit.py (Johnson Lau)
9260085
test segwit uncompressed key fixes (Johnson Lau)
248f3a7
Fix ismine and addwitnessaddress: no uncompressed keys in segwit (Pieter Wuille)
b811124
[qa] Add tests for uncompressed pubkeys in segwit (Suhas Daftuar)
9f0397a
Make test framework produce lowS signatures (Johnson Lau)
4c0c25a
Require compressed keys in segwit as policy and disable signing with uncompressed keys for segwit scripts (Johnson Lau)
3ade2f6
Add standard limits for P2WSH with tests (Johnson Lau)
2016-10-17 13:27:05 +02:00
Wladimir J. van der Laan
5eaaa83ac1
Kill insecure_random and associated global state
...
There are only a few uses of `insecure_random` outside the tests.
This PR replaces uses of insecure_random (and its accompanying global
state) in the core code with an FastRandomContext that is automatically
seeded on creation.
This is meant to be used for inner loops. The FastRandomContext
can be in the outer scope, or the class itself, then rand32() is used
inside the loop. Useful e.g. for pushing addresses in CNode or the fee
rounding, or randomization for coin selection.
As a context is created per purpose, thus it gets rid of
cross-thread unprotected shared usage of a single set of globals, this
should also get rid of the potential race conditions.
- I'd say TxMempool::check is not called enough to warrant using a special
fast random context, this is switched to GetRand() (open for
discussion...)
- The use of `insecure_rand` in ConnectThroughProxy has been replaced by
an atomic integer counter. The only goal here is to have a different
credentials pair for each connection to go on a different Tor circuit,
it does not need to be random nor unpredictable.
- To avoid having a FastRandomContext on every CNode, the context is
passed into PushAddress as appropriate.
There remains an insecure_random for test usage in `test_random.h`.
2016-10-17 13:08:35 +02:00
BtcDrak
b0aea80579
Sync bitcoin-tx with tx version policy
2016-10-16 23:22:15 +01:00
Johnson Lau
9260085377
test segwit uncompressed key fixes
2016-10-17 00:34:37 +08:00
Pieter Wuille
248f3a76a8
Fix ismine and addwitnessaddress: no uncompressed keys in segwit
2016-10-17 00:34:37 +08:00
Johnson Lau
4c0c25a604
Require compressed keys in segwit as policy and disable signing with uncompressed keys for segwit scripts
2016-10-16 23:53:35 +08:00
Johnson Lau
3ade2f64cf
Add standard limits for P2WSH with tests
2016-10-16 23:53:35 +08:00
Matt Corallo
37aefff5fc
Fix init segfault where InitLoadWallet() calls ATMP before genesis
2016-10-15 13:19:16 -04:00
Johnson Lau
acf853df91
Add script tests for FindAndDelete in pre-segwit and segwit scripts
2016-10-16 00:30:50 +08:00
R E Broadley
1724a405c9
Display minimum ping in debug window.
2016-10-15 20:43:11 +07:00
Wladimir J. van der Laan
49c5910372
Merge #8880 : protocol.h: Move MESSAGE_START_SIZE into CMessageHeader
...
1df3111
protocol.h: Make enums in GetDataMsg concrete values (Wladimir J. van der Laan)
2c09a52
protocol.h: Move MESSAGE_START_SIZE into CMessageHeader (Wladimir J. van der Laan)
f9bd92d
version.h: s/shord/short/ in comment (Wladimir J. van der Laan)
2016-10-15 10:27:46 +02:00
Wladimir J. van der Laan
088d1f4413
Merge #8906 : [qt] sync-overlay: Don't show progress twice
...
fafeec3
[qt] sync-overlay: Don't show progress twice (MarcoFalke)
2016-10-15 09:44:20 +02:00
Luke Dashjr
21f5a6364d
Qt: Add "Copy URI" to payment request context menu
2016-10-13 23:27:43 +00:00
Wladimir J. van der Laan
e2b8c394d6
Merge #8817 : update bitcoin-tx to output witness data
...
4408558
Update bitcoin-tx to output witness data. (jonnynewbs)
2016-10-13 18:56:43 +02:00
Wladimir J. van der Laan
8d46429c83
Merge #8911 : qt: Translate all files, even if wallet disabled
...
8aed5f6
qt: Translate all files, even if wallet disabled (Wladimir J. van der Laan)
2016-10-13 10:30:38 +02:00
Wladimir J. van der Laan
8aed5f6c23
qt: Translate all files, even if wallet disabled
...
This passes all QT cpp files to the lupdate executable which extracts
translations, no matter what conditional functionality is enabled.
2016-10-11 17:46:46 +02:00
MarcoFalke
fafeec3cf2
[qt] sync-overlay: Don't show progress twice
...
* Don't show integer progress in progress bar. (Already shown in front
of progress bar)
* Also, use non-static method to get current msecs
2016-10-10 17:07:43 +02:00
Jonas Schnelli
bf8e68aba6
Merge #8821 : [qt] sync-overlay: Don't block during reindex
...
fa85e86
[qt] sync-overlay: Don't show estimated number of headers left (MarcoFalke)
faa4de2
[qt] sync-overlay: Don't block during reindex (MarcoFalke)
2016-10-10 16:52:44 +02:00
Pieter Wuille
6429cfa8a7
Merge #8393 : Support for compact blocks together with segwit
...
27acfc1
[qa] Update p2p-compactblocks.py for compactblocks v2 (Suhas Daftuar)
422fac6
[qa] Add support for compactblocks v2 to mininode (Suhas Daftuar)
f5b9b8f
[qa] Fix bug in mininode witness deserialization (Suhas Daftuar)
6aa28ab
Use cmpctblock type 2 for segwit-enabled transfer (Pieter Wuille)
be7555f
Fix overly-prescriptive p2p-segwit test for new fetch logic (Matt Corallo)
06128da
Make GetFetchFlags always request witness objects from witness peers (Matt Corallo)
2016-10-10 13:16:40 +02:00
MarcoFalke
e66cc1d58e
Merge #8881 : Add some verbose logging to bitcoin-util-test.py
...
621441a
add verbose mode to bitcoin-util-test.py (jnewbery)
2016-10-08 21:23:42 +02:00
Jonas Schnelli
b2fec4e9a1
Merge #8885 : gui: fix ban from qt console
...
cb78c60
gui: fix ban from qt console (Cory Fields)
2016-10-08 16:43:15 +02:00
jnewbery
621441a7a7
add verbose mode to bitcoin-util-test.py
2016-10-05 09:16:08 -04:00
jonnynewbs
4408558843
Update bitcoin-tx to output witness data.
2016-10-05 09:00:34 -04:00
jnewbery
d51f182461
Don't return the address of a P2SH of a P2SH.
2016-10-05 08:58:18 -04:00
Wladimir J. van der Laan
223f4c2dd5
Merge #8884 : Bugfix: Trivial: RPC: getblockchaininfo help: pruneheight is the lowest, not highest, block
...
a78e542
Bugfix: Trivial: RPC: getblockchaininfo help: pruneheight is the lowest, not highest, block (Luke Dashjr)
2016-10-05 14:44:07 +02:00
Wladimir J. van der Laan
1df311118d
protocol.h: Make enums in GetDataMsg concrete values
...
This concretizes the numbers and adds a comment to make it clear that
these numbers are fixed by the protocol, and may avoid people forgetting
to claim numbers in the future (e.g. issue #8500 ).
Also gets rid of a weird unused `MSG_TYPE_MAX` in the middle of the
enumeration (thanks @paveljanik for noticing).
2016-10-05 13:32:20 +02:00
Wladimir J. van der Laan
f92805025d
Merge #8879 : [doc] Rework docs
...
eeeebdd
[doc] Rework docs (MarcoFalke)
2016-10-05 05:07:19 +02:00
Cory Fields
cb78c60534
gui: fix ban from qt console
...
Rather than doing a circle and re-resolving the node's IP, just use the one
from nodestats directly.
This requires syncing the addr field from CNode.
2016-10-04 19:43:53 -04:00
Luke Dashjr
a78e5428ac
Bugfix: Trivial: RPC: getblockchaininfo help: pruneheight is the lowest, not highest, block
2016-10-04 22:22:07 +00:00
Luke Dashjr
178cd887ec
Qt/splash: Specifically keep track of which wallet(s) we are connected to for later disconnecting
2016-10-04 20:30:10 +00:00
Luke Dashjr
1880aeb033
Qt: Get the private key for signing messages via WalletModel
2016-10-04 20:30:10 +00:00
Matt Corallo
a9aec5c24d
Use BlockChecked signal to send reject messages from mapBlockSource
2016-10-04 13:54:29 -04:00
Matt Corallo
7565e03b96
Remove SyncWithWallets wrapper function
2016-10-04 13:53:04 -04:00
Matt Corallo
12ee1fe018
Always call UpdatedBlockTip, even if blocks were only disconnected
2016-10-04 13:52:57 -04:00
Matt Corallo
f5efa28393
Remove CConnman parameter from ProcessNewBlock/ActivateBestChain
2016-10-04 13:51:32 -04:00
Matt Corallo
fef1010199
Use CValidationInterface from chain logic to notify peer logic
...
This adds a new CValidationInterface subclass, defined in main.h,
to receive notifications of UpdatedBlockTip and use that to push
blocks to peers, instead of doing it directly from
ActivateBestChain.
2016-10-04 13:49:44 -04:00
Matt Corallo
aefcb7b70c
Move net-processing logic definitions together in main.h
2016-10-04 13:36:11 -04:00
Pieter Wuille
6aa28abf53
Use cmpctblock type 2 for segwit-enabled transfer
...
Contains version negotiation logic by Matt Corallo and bugfixes by
Suhas Daftuar.
2016-10-04 19:10:41 +02:00
Matt Corallo
0278fb5f48
Remove duplicate nBlocksEstimate cmp (we already checked IsIBD())
2016-10-04 12:35:07 -04:00
Matt Corallo
87e7d72807
Make validationinterface.UpdatedBlockTip more verbose
...
In anticipation of making all the callbacks out of block processing
flow through it. Note that vHashes will always have something in it
since pindexFork != pindexNewTip.
2016-10-04 12:35:07 -04:00
Matt Corallo
06128da751
Make GetFetchFlags always request witness objects from witness peers
...
This fixes a bug where we might (in exceedingly rare circumstances)
accidentally ban a node for sending us the first (potentially few)
segwit blocks in non-segwit mode.
2016-10-04 18:24:10 +02:00
MarcoFalke
eeeebdd3cb
[doc] Rework docs
...
* Minor formatting such as adjusting links
* Move sections of `doc/multiwallet-qt.md` to the source code and delete
the file, as it is outdated
* Fix typo in the release notes
* Amend release process to mention update of BLOCK_CHAIN_SIZE
2016-10-04 13:27:38 +02:00
Wladimir J. van der Laan
2c09a5209a
protocol.h: Move MESSAGE_START_SIZE into CMessageHeader
...
Also move the enum to the top, and remove a deceptive TODO
comment.
2016-10-04 11:12:55 +00:00
Wladimir J. van der Laan
f9bd92d235
version.h: s/shord/short/ in comment
2016-10-04 11:11:21 +00:00
Wladimir J. van der Laan
d7615af34e
Merge #8848 : Add NULLDUMMY verify flag in bitcoinconsensus.h
...
2fa0063
Add NULLDUMMY verify flag in bitcoinconsensus.h (Johnson Lau)
2016-10-04 12:18:16 +02:00
Wladimir J. van der Laan
d93f0c6184
Merge #8862 : Fix a few cases where messages were sent after requested disconnect
...
905bc68
net: fix a few cases where messages were sent rather than dropped upon disconnection (Cory Fields)
2016-10-04 12:13:50 +02:00
Wladimir J. van der Laan
7dce175f5d
Merge #8850 : Implement (begin|end)_ptr in C++11 and add deprecation comment
...
f00705a
serialize: Deprecate `begin_ptr` / `end_ptr` (Wladimir J. van der Laan)
47314e6
prevector: add C++11-like data() method (Wladimir J. van der Laan)
2016-10-04 11:08:06 +02:00
jnewbery
5f274a1749
log block size and weight correctly.
2016-10-03 13:55:26 -04:00
Wladimir J. van der Laan
a7e5cbb209
Merge #8856 : Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs
...
3450c18
Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs (Jorge Timón)
2016-10-03 15:25:09 +02:00
Wladimir J. van der Laan
eafc5f4fae
Merge #8863 : univalue: Pull subtree
...
2ca7faa
Squashed 'src/univalue/' changes from daf1285..16a1f7f (MarcoFalke)
2016-10-03 08:45:13 +02:00
Wladimir J. van der Laan
f00705ae7f
serialize: Deprecate begin_ptr
/ end_ptr
...
Implement `begin_ptr` and `end_ptr` in terms of C++11 code,
and add a comment that they are deprecated.
Follow-up to developer notes update in 654a211622
.
2016-10-02 09:50:25 +02:00
Cory Fields
905bc68d05
net: fix a few cases where messages were sent rather than dropped upon disconnection
...
75ead758 turned these into crashes in the event of a handshake failure, most
notably when a peer does not offer the expected services.
There are likely other cases that these assertions will find as well.
2016-10-01 19:13:10 -04:00
Wladimir J. van der Laan
1c80386bce
rpc: Generate auth cookie in hex instead of base64
...
Base64 contains '/', and the '/' character in credentials is problematic
for AuthServiceProxy which represents the RPC endpoint as an URI with
user and password embedded.
Closes #8399 .
2016-10-01 16:57:25 +02:00
Jorge Timón
3450c18a12
Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs
2016-10-01 08:12:19 +02:00
MarcoFalke
e757115164
Merge commit '2ca7faab4205822b06dc2ab2bbda0a9a70fce7e0' into HEAD
2016-09-30 19:58:11 +02:00
Wladimir J. van der Laan
940748b4b0
Merge #8851 : [wallet] Move key derivation logic from GenerateNewKey to DeriveNewChildKey (pstratem)
...
e198c52
Move key derivation logic from GenerateNewKey to DeriveNewChildKey (Patrick Strateman)
2016-09-30 19:56:03 +02:00
Patrick Strateman
e198c521d3
Move key derivation logic from GenerateNewKey to DeriveNewChildKey
2016-09-30 19:11:00 +02:00
Wladimir J. van der Laan
fb24d7eeb4
Merge #8813 : bitcoind: Daemonize using daemon(3)
...
a92bf4a
bitcoind: Daemonize using daemon(3) (Matthew King)
2016-09-30 18:19:31 +02:00
Wladimir J. van der Laan
47314e6daa
prevector: add C++11-like data() method
...
This returns a pointer to the beginning of the vector's data.
2016-09-30 17:19:51 +02:00
Wladimir J. van der Laan
9bc6a6bd7b
Merge #8822 : net: Consistent checksum handling
...
305087b
net: Hardcode protocol sizes and use fixed-size types (Wladimir J. van der Laan)
41e58fa
net: Consistent checksum handling (Wladimir J. van der Laan)
2016-09-30 17:10:58 +02:00
Johnson Lau
2fa0063c26
Add NULLDUMMY verify flag in bitcoinconsensus.h
2016-09-30 23:09:19 +08:00
Wladimir J. van der Laan
ef0801bd13
Merge #8830 : [test] Add option to run bitcoin-util-test.py manually
...
b82f493
Add option to run bitcoin-util-test.py manually (jnewbery)
2016-09-30 17:03:21 +02:00
Wladimir J. van der Laan
90adfabd5d
Merge #8836 : bitcoin-util-test.py should fail if the output file is empty
...
da94697
bitcoin-util-test.py should fail if the output file is empty (jnewbery)
2016-09-30 12:36:02 +02:00
Wladimir J. van der Laan
f560d9564f
Merge #8826 : Do not include env_win.cc on non-Windows systems
...
7e5fd71
Do not include env_win.cc on non-Windows systems (Pavel Janík)
2016-09-29 17:27:28 +02:00
jnewbery
da94697708
bitcoin-util-test.py should fail if the output file is empty
2016-09-29 10:16:56 -04:00
Wladimir J. van der Laan
9b94cca41f
Merge #8658 : Remove unused statements in serialization
...
64d9507
[WIP] Remove unused statement in serialization (Pavel Janík)
2016-09-29 15:00:22 +02:00
jnewbery
b82f493938
Add option to run bitcoin-util-test.py manually
2016-09-29 08:54:56 -04:00
MarcoFalke
fa85e860a9
[qt] sync-overlay: Don't show estimated number of headers left
2016-09-29 13:24:29 +02:00
MarcoFalke
8ca69a2a88
Merge #8829 : Add bitcoin-tx JSON tests
...
54e5d7c
Add bitcoin-tx JSON tests (jnewbery)
2016-09-29 10:50:05 +02:00
Wladimir J. van der Laan
7d563cc16d
Merge #8832 : [rpc] throw JSONRPCError when utxo set can not be read
...
fa05cfd
[rpc] throw JSONRPCError when utxo set can not be read (MarcoFalke)
2016-09-29 08:12:55 +02:00
Wladimir J. van der Laan
d675984fdf
Merge #8784 : Copyright headers for build scripts
...
0c4e6ce
Add MIT license to build-aux/m4 scripts (Luke Dashjr)
3f8a5d8
Trivial: build-aux/m4/l_atomic: Fix typo (Luke Dashjr)
3b4b6dc
Add MIT license to autogen.sh and share/genbuild.sh (Luke Dashjr)
f4dffdd
Add MIT license to Makefiles (Luke Dashjr)
2016-09-29 07:58:08 +02:00
MarcoFalke
fa05cfdf25
[rpc] throw JSONRPCError when utxo set can not be read
2016-09-28 21:00:58 +02:00
jnewbery
54e5d7c1b8
Add bitcoin-tx JSON tests
2016-09-28 13:38:42 -04:00
Pavel Janík
7e5fd7198e
Do not include env_win.cc on non-Windows systems
2016-09-28 16:40:20 +02:00
Wladimir J. van der Laan
305087bdf6
net: Hardcode protocol sizes and use fixed-size types
...
The P2P network uses a fixed protocol, these sizes shouldn't change
based on what happens to be the architecture.
2016-09-28 15:33:45 +02:00
Wladimir J. van der Laan
41e58faf04
net: Consistent checksum handling
...
In principle, the checksums of P2P packets are simply 4-byte blobs which
are the first four bytes of SHA256(SHA256(payload)).
Currently they are handled as little-endian 32-bit integers half of the
time, as blobs the other half, sometimes copying the one to the other,
resulting in somewhat confused code.
This PR changes the handling to be consistent both at packet creation
and receiving, making it (I think) easier to understand.
2016-09-28 12:44:13 +02:00
Wladimir J. van der Laan
14b7b3fb9f
Merge #8814 : [wallet, policy] ParameterInteraction: Don't allow 0 fee
...
fa4bfb4
[wallet, policy] ParameterInteraction: Don't allow 0 fee (MarcoFalke)
2016-09-28 08:09:42 +02:00
Johnson Lau
e41bd449ab
Add policy: null signature for failed CHECK(MULTI)SIG
2016-09-27 23:40:59 +08:00
Wladimir J. van der Laan
5a4f6d72e6
Merge #8526 : Make non-minimal OP_IF/NOTIF argument non-standard for P2WSH
...
c72c5b1
Make non-minimal OP_IF/NOTIF argument non-standard for P2WSH (Johnson Lau)
2016-09-27 17:10:15 +02:00
Wladimir J. van der Laan
e9d5f6fec8
Merge #8357 : [mempool] Fix relaypriority calculation error
...
94a34a5
Fix relaypriority calculation error (maiiz)
2016-09-27 16:33:32 +02:00
Pavel Janík
4731cab8fb
Do not shadow variables
2016-09-27 09:25:15 +02:00
MarcoFalke
faa4de2a2a
[qt] sync-overlay: Don't block during reindex
2016-09-26 22:29:45 +02:00
MarcoFalke
2f71490d21
Merge #8805 : Trivial: Grammar and capitalization
...
c9ce17b
Trivial: Grammar and capitalization (Derek Miller)
2016-09-26 22:27:45 +02:00
Wladimir J. van der Laan
8f1fbf36a7
Merge #8796 : [trivial] fix mempool comment (outdated by BIP125)
...
c14ffd5
[trivial] fix mempool comment (outdated by BIP125) (jonnynewbs)
2016-09-26 15:11:02 +02:00
Wladimir J. van der Laan
dd20ed1223
Merge #8780 : [rpc] Deprecate getinfo
...
fa6e71b
[qa] Add getinfo smoke tests and rework versionbits test (MarcoFalke)
ddddaaf
[rpc] Deprecate getinfo (MarcoFalke)
2016-09-26 15:03:06 +02:00
Wladimir J. van der Laan
bb843adc8d
Merge #8722 : bitcoin-cli: More detailed error reporting
...
381826d
bitcoin-cli: More detailed error reporting (Wladimir J. van der Laan)
2016-09-26 14:53:38 +02:00
jonnynewbs
c14ffd524b
[trivial] fix mempool comment (outdated by BIP125)
2016-09-26 08:52:52 -04:00
MarcoFalke
fa4bfb4819
[wallet, policy] ParameterInteraction: Don't allow 0 fee
2016-09-26 14:44:24 +02:00
Wladimir J. van der Laan
ab0b411868
Merge #8486 : [wallet] Add high transaction fee warnings
...
faef293
[wallet] Add high transaction fee warnings (MarcoFalke)
2016-09-26 13:57:10 +02:00
Matthew King
a92bf4af66
bitcoind: Daemonize using daemon(3)
...
Simplified version of #8278 . Assumes that every OS that (a) is supported
by Bitcoin Core (b) supports daemonization has the `daemon()` function
in its C library.
- Removes the fallback path for operating systems that support
daemonization but not `daemon()`. This prevents never-exercised code from
ending up in the repository (see discussion here:
https://github.com/bitcoin/bitcoin/pull/8278#issuecomment-242704745 ).
- Removes the windows-specific path. Windows doesn't support `daemon()`,
so it don't support daemonization there, automatically.
Original code by Matthew King, adapted by Wladimir van der Laan.
2016-09-26 13:37:44 +02:00
MarcoFalke
faef293cf3
[wallet] Add high transaction fee warnings
2016-09-26 01:11:27 +02:00
Wladimir J. van der Laan
37871f216e
Merge #8807 : [univalue] Pull subtree from upstream
...
3650668
Squashed 'src/univalue/' changes from f32df99..daf1285 (MarcoFalke)
2016-09-25 16:21:43 +02:00
MarcoFalke
9bf41af708
Merge commit '3650668cdbbf369dd8f30c8e8eb5bb883325942d' into HEAD
2016-09-25 15:19:23 +02:00
Wladimir J. van der Laan
b8d10fd4ef
Merge #8802 : Fix future copyright year
...
edeaf24
Fix future copyright year (Mitchell Cash)
2016-09-25 13:12:01 +02:00
Derek Miller
c9ce17beed
Trivial: Grammar and capitalization
2016-09-24 12:22:47 -05:00
MarcoFalke
08cc5fd666
Merge #8790 : [test] Remove redundant debug print in addrman_tests
...
3333bd2
[test] Remove redundant print in addrman_tests (MarcoFalke)
2016-09-24 15:38:38 +02:00
Mitchell Cash
edeaf24e4c
Fix future copyright year
2016-09-24 13:46:08 +10:00
Jonas Schnelli
24f72e9f3f
Merge #8371 : [Qt] Add out-of-sync modal info layer
...
08827df
[Qt] modalinfolayer: removed unused comments, renamed signal, code style overhaul (Jonas Schnelli)
d8b062e
[Qt] only update "amount of blocks left" when the header chain is in-sync (Jonas Schnelli)
e3245b4
[Qt] add out-of-sync modal info layer (Jonas Schnelli)
e47052f
[Qt] ClientModel add method to get the height of the header chain (Jonas Schnelli)
a001f18
[Qt] Always pass the numBlocksChanged signal for headers tip changed (Jonas Schnelli)
bd44a04
[Qt] make Out-Of-Sync warning icon clickable (Jonas Schnelli)
0904c3c
[Refactor] refactor function that forms human readable text out of a timeoffset (Jonas Schnelli)
2016-09-23 18:22:48 +02:00
Jonas Schnelli
08827df3ec
[Qt] modalinfolayer: removed unused comments, renamed signal, code style overhaul
2016-09-23 16:07:21 +02:00
Wladimir J. van der Laan
d2e46558ba
Merge #8661 : Do not set an addr time penalty when a peer advertises itself.
...
6d0ced1
Do not set an addr time penalty when a peer advertises itself. (Gregory Maxwell)
2016-09-23 13:56:01 +02:00
Wladimir J. van der Laan
5d0219d983
Merge #8793 : Do not shadow in src/qt
...
f839350
Do not shadow in src/qt (Pavel Janík)
2016-09-23 12:44:35 +02:00
Pavel Janík
f839350420
Do not shadow in src/qt
2016-09-23 12:42:00 +02:00
Johnson Lau
c72c5b1e3b
Make non-minimal OP_IF/NOTIF argument non-standard for P2WSH
2016-09-23 13:07:38 +08:00
Wladimir J. van der Laan
2b514aa2ea
Merge #8785 : Comment on CNode::nLocalServices meaning
...
b5ccded
Comment on CConnman::nLocalServices meaning (instagibbs)
2016-09-22 16:41:02 +02:00
instagibbs
b5ccded57f
Comment on CConnman::nLocalServices meaning
2016-09-22 08:19:44 -04:00
MarcoFalke
3333bd2d15
[test] Remove redundant print in addrman_tests
2016-09-22 12:50:39 +02:00
Wladimir J. van der Laan
26b370a937
Merge #8636 : Implement NULLDUMMY softfork (BIP147)
...
482f852
Implement NULLDUMMY softfork (Johnson Lau)
2016-09-22 10:58:00 +02:00
Luke Dashjr
f4dffdd6bf
Add MIT license to Makefiles
2016-09-21 22:35:12 +00:00
MarcoFalke
ddddaafa4a
[rpc] Deprecate getinfo
...
This was replaced by getmininginfo, getnetworkinfo and getwalletinfo
2016-09-21 21:19:20 +02:00
Wladimir J. van der Laan
cf5ebaa921
Merge #8656 : Trivial: Do not shadow global variable fileout
...
7c069a7
Do not shadow global variable (Pavel Janík)
2016-09-21 14:13:44 +02:00
Wladimir J. van der Laan
381826dfee
bitcoin-cli: More detailed error reporting
...
Register a evhttp error handler to get a more detailed error message
if the HTTP request fails.
2016-09-21 14:02:42 +02:00
Wladimir J. van der Laan
fec6af7440
Merge #8777 : [qt] WalletModel: Expose disablewallet
...
6666ca6
[qt] WalletModel: Expose disablewallet (MarcoFalke)
2016-09-21 13:45:20 +02:00
MarcoFalke
6666ca6379
[qt] WalletModel: Expose disablewallet
2016-09-21 13:11:15 +02:00
Wladimir J. van der Laan
886e8c9b72
Merge #8768 : init: Get rid of fDisableWallet
...
fa58edb
[wallet] Introduce DEFAULT_DISABLE_WALLET (MarcoFalke)
fab9107
init: Get rid of fDisableWallet (MarcoFalke)
2016-09-21 12:27:56 +02:00
MarcoFalke
fa58edbffe
[wallet] Introduce DEFAULT_DISABLE_WALLET
2016-09-21 12:06:58 +02:00
Wladimir J. van der Laan
b4f53641a9
Merge #8765 : [Wallet] remove "unused" ThreadFlushWalletDB from removeprunedfunds
...
c6f5ca8
[Wallet] remove "unused" ThreadFlushWalletDB from removeprunedfunds (Jonas Schnelli)
2016-09-21 08:15:33 +02:00
MarcoFalke
fab91070d3
init: Get rid of fDisableWallet
2016-09-20 17:32:05 +02:00
Jonas Schnelli
c6f5ca822f
[Wallet] remove "unused" ThreadFlushWalletDB from removeprunedfunds
2016-09-20 16:18:24 +02:00
Jonas Schnelli
6052d50910
Merge #8672 : Qt: Show transaction size in transaction details window
...
c015634
qt: Adding transaction size to transaction details window (Hampus Sjöberg)
\-- merge fix for s/size/total size/
fdf82fb
Adding method GetTotalSize() to CTransaction (Hampus Sjöberg)
2016-09-20 15:34:33 +02:00
Wladimir J. van der Laan
4335d5a41b
Merge #7783 : [Qt] RPC-Console: support nested commands and simple value queries
...
1586044
[Qt] RPC-Console: support nested commands and simple value queries (Jonas Schnelli)
2016-09-20 14:15:35 +02:00
Wladimir J. van der Laan
a1f8d3ed95
Merge #8696 : [Wallet] Remove last external reference to CWalletDB
...
2ca6b9d
Remove last reference to CWalletDB from accounting_tests.cpp (Patrick Strateman)
02e2a81
Remove pwalletdb parameter from CWallet::AddAccountingEntry (Patrick Strateman)
d2e678d
Add CWallet::ReorderTransactions and use in accounting_tests.cpp (Patrick Strateman)
59adc86
Add CWallet::ListAccountCreditDebit (Patrick Strateman)
2016-09-20 12:47:31 +02:00
Wladimir J. van der Laan
02ac669730
Merge #8760 : [init] Get rid of some ENABLE_WALLET
...
faddd62
init: Get rid of some ENABLE_WALLET (MarcoFalke)
2016-09-20 12:45:46 +02:00
Wladimir J. van der Laan
82eacc786d
Merge #8700 : [copyright] add MIT license headers to .sh scripts where missing
...
0766d1c
[copyright] add MIT license headers to .sh scripts where missing (isle2983)
2016-09-20 10:02:33 +02:00
maiiz
94a34a5d95
Fix relaypriority calculation error
2016-09-20 11:45:30 +08:00
Wladimir J. van der Laan
047ded0b12
Merge #8688 : Move static global randomizer seeds into CConnman
...
d9ff591
Move static global randomizer seeds into CConnman (Pieter Wuille)
2016-09-19 18:02:01 +02:00
Wladimir J. van der Laan
8bae52a9a0
Merge #8737 : Trivial: UndoReadFromDisk works on undo files (rev), not on block files.
...
b4fb512
UndoReadFromDisk works on undo files (rev), not on block files. (Pavel Janík)
2016-09-19 16:54:17 +02:00
Wladimir J. van der Laan
f07424a671
Merge #8707 : net: fix maxuploadtarget setting
...
f3552da
net: fix maxuploadtarget setting (Cory Fields)
2016-09-19 16:46:50 +02:00
MarcoFalke
faddd62518
init: Get rid of some ENABLE_WALLET
2016-09-19 16:14:18 +02:00
Pieter Wuille
d9ff591d42
Move static global randomizer seeds into CConnman
2016-09-19 15:53:47 +02:00
Wladimir J. van der Laan
2ebb8099d9
Merge #8742 : Specify Protobuf version 2 in paymentrequest.proto
...
c4084c2
Specify Protobuf version 2 in paymentrequest.proto (fanquake)
2016-09-19 15:43:51 +02:00
Wladimir J. van der Laan
a5b20edd3d
Merge #8494 : [init, wallet] ParameterInteraction() iff wallet enabled
...
fa5d276
[init] ParameterInteraction() iff wallet enabled (MarcoFalke)
2016-09-19 11:38:16 +02:00
Jiaxing Wang
e892dc1268
Use prefix operator in for loop of DecodeBase58.
2016-09-16 19:13:01 +08:00
fanquake
c4084c2085
Specify Protobuf version 2 in paymentrequest.proto
2016-09-16 11:45:08 +08:00
Wladimir J. van der Laan
d9c99c3058
net: No longer send local address in addrMe
...
After #8594 the addrFrom sent by a node is not used anymore at all,
so don't bother sending it.
Also mitigates the privacy issue in (#8616 ). It doesn't completely solve
the issue as GetLocalAddress is also called in AdvertiseLocal, but at
least when advertising addresses it stands out less as *our* address.
2016-09-15 23:42:01 +02:00
Patrick Strateman
2ca6b9df1d
Remove last reference to CWalletDB from accounting_tests.cpp
2016-09-15 13:51:04 -07:00
Patrick Strateman
02e2a81536
Remove pwalletdb parameter from CWallet::AddAccountingEntry
2016-09-15 13:50:59 -07:00
Patrick Strateman
d2e678d7d2
Add CWallet::ReorderTransactions and use in accounting_tests.cpp
2016-09-15 06:52:15 -07:00
Patrick Strateman
59adc86680
Add CWallet::ListAccountCreditDebit
...
Simple pass through for CWalletDB::ListAccountCreditDebit
2016-09-15 06:52:15 -07:00
Pavel Janík
b4fb512719
UndoReadFromDisk works on undo files (rev), not on block files.
2016-09-15 12:40:09 +02:00
Jiaxing Wang
159ed95f74
base58: Improve DecodeBase58 performance.
...
Improve DecodeBase58 performance the same way as commit 3252208
did
for EncodeBase58.
2016-09-15 17:39:54 +08:00
Cory Fields
f3552da813
net: fix maxuploadtarget setting
...
This was broken by 63cafa6329
.
Note that while this fixes the settings, it doesn't fix the actual usage of
-maxuploadtarget completely, as there is currently a bug in the
nOptimisticBytesWritten accounting that causes a delayed response if the target
is reached. That bug will be addressed separately.
2016-09-14 13:14:04 -04:00
Wladimir J. van der Laan
881d7eaf29
Merge #8715 : net: only delete CConnman if it's been created
...
36fa01f
net: only delete CConnman if it's been created (Cory Fields)
2016-09-14 10:16:25 +02:00
Cory Fields
36fa01f217
net: only delete CConnman if it's been created
...
In the case of (for example) an already-running bitcoind, the shutdown sequence
begins before CConnman has been created, leading to a null-pointer dereference
when g_connman->Stop() is called.
Instead, Just let the CConnman dtor take care of stopping.
2016-09-13 22:43:23 -04:00
Jonas Schnelli
1b6bcdd3aa
Remove maxuploadtargets recommended minimum
2016-09-13 18:08:17 +02:00
Jonas Schnelli
d8b062ef5e
[Qt] only update "amount of blocks left" when the header chain is in-sync
2016-09-13 17:57:25 +02:00
Wladimir J. van der Laan
fa7caf6d91
Merge #8693 : add witness address to address book
...
62ffbbd
add witness address to address book (instagibbs)
2016-09-13 17:10:28 +02:00
Wladimir J. van der Laan
c9914c2094
Merge #8699 : Remove createwitnessaddress RPC command
...
86c3f8d
Remove createwitnessaddress (Johnson Lau)
2016-09-13 17:03:00 +02:00
Wladimir J. van der Laan
37ac67816a
Merge #8601 : Add option to opt into full-RBF when sending funds (rebase, original by petertodd)
...
86726d8
Rename `-optintofullrbf` option to `-walletrbf` (Wladimir J. van der Laan)
05fa823
wallet: Add BIP125 comment for MAXINT-1/-2 behavior (Wladimir J. van der Laan)
152f45b
Add option to opt into full-RBF when sending funds (Peter Todd)
2016-09-13 11:35:26 +02:00
Wladimir J. van der Laan
86726d8680
Rename -optintofullrbf
option to -walletrbf
...
This makes it clear that this is a wallet option.
2016-09-13 11:32:29 +02:00
Johnson Lau
86c3f8db0b
Remove createwitnessaddress
...
This RPC command is unsafe as it will return an address even if the script is invalid.
2016-09-13 11:35:14 +08:00
R E Broadley
1f951c67a4
Allow filterclear messages for enabling TX relay only.
...
An example of where this might be useful is allowing a node to connect blocksonly during IBD but then becoming a full-node once caught up with the latest block. This might also even want to be the default behaviour since during IBD most TXs appear to be orphans, and are routinely dropped (for example when a node disconnects). Therefore, this can waste a lot of bandwidth.
Additionally, another pull could be written to stop relaying of TXs to nodes that are clearly far behind the latest block and are running a node that doesn't store many orphan TXs, such as recent versions of Bitcoin Core.
2016-09-13 09:10:22 +07:00
isle2983
0766d1cac3
[copyright] add MIT license headers to .sh scripts where missing
...
Years are set according to 'git log' history
2016-09-11 13:36:22 -06:00
rodasmith
1d635ae61b
fix op order to append first alert
2016-09-10 11:41:01 -07:00
instagibbs
62ffbbdec3
add witness address to address book
2016-09-09 12:15:08 -04:00
Jonas Schnelli
702e6e059b
Merge #8678 : [Qt][CoinControl] fix UI bug that could result in paying unexpected fee
...
0480293
[Qt][CoinControl] fix UI bug that could result in paying unexpected fee (Jonas Schnelli)
2016-09-09 14:34:03 +02:00
Pavel Janík
64d9507ea5
[WIP] Remove unused statement in serialization
2016-09-09 13:59:34 +02:00
Pieter Wuille
6898213409
Merge #8681 : Performance Regression Fix: Pre-Allocate txChanged vector
...
ec81881
Performance Regression Fix: Pre-Allocate txChanged vector (Jeremy Rubin)
2016-09-09 13:41:15 +02:00
Wladimir J. van der Laan
2abfe5956e
Merge #8664 : Fix segwit-related wallet bug
...
c40b034
Clear witness with vin/vout in CWallet::CreateTransaction() (Suhas Daftuar)
2016-09-09 12:24:39 +02:00
Wladimir J. van der Laan
6423116741
Merge #8085 : p2p: Begin encapsulation
...
0103c5b
net: move MAX_FEELER_CONNECTIONS into connman (Cory Fields)
e700cd0
Convert ForEachNode* functions to take a templated function argument rather than a std::function to eliminate std::function overhead (Jeremy Rubin)
d1a2295
Made the ForEachNode* functions in src/net.cpp more pragmatic and self documenting (Jeremy Rubin)
98591c5
net: move vNodesDisconnected into CConnman (Cory Fields)
fa2f8bc
net: add nSendBufferMaxSize/nReceiveFloodSize to CConnection::Options (Cory Fields)
a19553b
net: Introduce CConnection::Options to avoid passing so many params (Cory Fields)
bafa5fc
net: Drop StartNode/StopNode and use CConnman directly (Cory Fields)
e81a602
net: pass CClientUIInterface into CConnman (Cory Fields)
f60b905
net: Pass best block known height into CConnman (Cory Fields)
fdf69ff
net: move max/max-outbound to CConnman (Cory Fields)
8a59369
net: move semOutbound to CConnman (Cory Fields)
bd72937
net: move nLocalServices/nRelevantServices to CConnman (Cory Fields)
be9c796
net: move SendBufferSize/ReceiveFloodSize to CConnman (Cory Fields)
63cafa6
net: move send/recv statistics to CConnman (Cory Fields)
adf5d4c
net: SocketSendData returns written size (Cory Fields)
ee44fa9
net: move messageHandlerCondition to CConnman (Cory Fields)
960cf2e
net: move nLocalHostNonce to CConnman (Cory Fields)
551e088
net: move nLastNodeId to CConnman (Cory Fields)
6c19d92
net: move whitelist functions into CConnman (Cory Fields)
53347f0
net: create generic functor accessors and move vNodes to CConnman (Cory Fields)
c0569c7
net: Add most functions needed for vNodes to CConnman (Cory Fields)
8ae2dac
net: move added node functions to CConnman (Cory Fields)
502dd3a
net: Add oneshot functions to CConnman (Cory Fields)
a0f3d3c
net: move ban and addrman functions into CConnman (Cory Fields)
aaf018e
net: handle nodesignals in CConnman (Cory Fields)
b1a5f43
net: move OpenNetworkConnection into CConnman (Cory Fields)
02137f1
net: Move socket binding into CConnman (Cory Fields)
5b446dd
net: Pass CConnection to wallet rather than using the global (Cory Fields)
8d58c4d
net: Pass CConnman around as needed (Cory Fields)
d7349ca
net: Add rpc error for missing/disabled p2p functionality (Cory Fields)
cd16f48
net: Create CConnman to encapsulate p2p connections (Cory Fields)
d93b14d
net: move CBanDB and CAddrDB out of net.h/cpp (Cory Fields)
531214f
gui: add NodeID to the peer table (Cory Fields)
2016-09-09 11:52:22 +02:00
Wladimir J. van der Laan
4daf02a03f
Merge #8677 : Do not shadow upper local variable 'send', prevent -Wshadow compiler warning.
...
125b946
Do not shadow upper local variable 'send', prevent -Wshadow compiler warning. (Pavel Janík)
2016-09-09 10:25:39 +02:00
Wladimir J. van der Laan
666eaf03cf
Merge #8680 : Address Travis spurious failures
...
d6a5dc4
add waitfornewblock/waitforblock/waitforblockheight rpcs and use them for tests (Cory Fields)
2016-09-09 08:33:54 +02:00
Wladimir J. van der Laan
80a4f21d37
Merge #8525 : Do not store witness txn in rejection cache
...
ca10a03
Add basic test for IsStandard witness transaction blinding (instagibbs)
34521e4
Do not store witness txn in rejection cache (Pieter Wuille)
2016-09-09 07:47:48 +02:00
Cory Fields
0103c5b90f
net: move MAX_FEELER_CONNECTIONS into connman
2016-09-08 13:06:05 -04:00
Jeremy Rubin
e700cd0bc8
Convert ForEachNode* functions to take a templated function argument rather than a std::function to eliminate std::function overhead
2016-09-08 13:06:05 -04:00
Jeremy Rubin
d1a2295f0d
Made the ForEachNode* functions in src/net.cpp more pragmatic and self documenting
2016-09-08 13:06:05 -04:00
Cory Fields
98591c5027
net: move vNodesDisconnected into CConnman
2016-09-08 13:06:05 -04:00
Cory Fields
fa2f8bc47f
net: add nSendBufferMaxSize/nReceiveFloodSize to CConnection::Options
2016-09-08 13:06:00 -04:00
Cory Fields
a19553b992
net: Introduce CConnection::Options to avoid passing so many params
2016-09-08 13:04:29 -04:00
Cory Fields
bafa5fc5a1
net: Drop StartNode/StopNode and use CConnman directly
2016-09-08 12:24:07 -04:00
Cory Fields
e81a602cf0
net: pass CClientUIInterface into CConnman
2016-09-08 12:24:07 -04:00
Cory Fields
f60b9059e4
net: Pass best block known height into CConnman
...
CConnman then passes the current best height into CNode at creation time.
This way CConnman/CNode have no dependency on main for height, and the signals
only move in one direction.
This also helps to prevent identity leakage a tiny bit. Before this change, an
attacker could theoretically make 2 connections on different interfaces. They
would connect fully on one, and only establish the initial connection on the
other. Once they receive a new block, they would relay it to your first
connection, and immediately commence the version handshake on the second. Since
the new block height is reflected immediately, they could attempt to learn
whether the two connections were correlated.
This is, of course, incredibly unlikely to work due to the small timings
involved and receipt from other senders. But it doesn't hurt to lock-in
nBestHeight at the time of connection, rather than letting the remote choose
the time.
2016-09-08 12:24:06 -04:00
Cory Fields
fdf69ff21a
net: move max/max-outbound to CConnman
2016-09-08 12:24:06 -04:00
Cory Fields
8a593694b1
net: move semOutbound to CConnman
2016-09-08 12:24:06 -04:00
Cory Fields
bd72937dc4
net: move nLocalServices/nRelevantServices to CConnman
...
These are in-turn passed to CNode at connection time. This allows us to offer
different services to different peers (or test the effects of doing so).
2016-09-08 12:24:06 -04:00
Cory Fields
be9c796dc5
net: move SendBufferSize/ReceiveFloodSize to CConnman
2016-09-08 12:24:06 -04:00
Cory Fields
63cafa6329
net: move send/recv statistics to CConnman
2016-09-08 12:24:06 -04:00
Cory Fields
adf5d4c2e4
net: SocketSendData returns written size
2016-09-08 12:24:06 -04:00
Cory Fields
ee44fa9576
net: move messageHandlerCondition to CConnman
2016-09-08 12:24:06 -04:00
Cory Fields
960cf2e405
net: move nLocalHostNonce to CConnman
...
This behavior seems to have been quite racy and broken.
Move nLocalHostNonce into CNode, and check received nonces against all
non-fully-connected nodes. If there's a match, assume we've connected
to ourself.
2016-09-08 12:24:06 -04:00
Cory Fields
551e0887db
net: move nLastNodeId to CConnman
2016-09-08 12:24:06 -04:00
Cory Fields
6c19d92361
net: move whitelist functions into CConnman
2016-09-08 12:24:06 -04:00
Cory Fields
53347f0cb9
net: create generic functor accessors and move vNodes to CConnman
2016-09-08 12:24:06 -04:00
Cory Fields
c0569c7fa1
net: Add most functions needed for vNodes to CConnman
2016-09-08 12:12:58 -04:00
Cory Fields
8ae2dac1c6
net: move added node functions to CConnman
2016-09-08 12:12:58 -04:00
Cory Fields
502dd3a8a0
net: Add oneshot functions to CConnman
2016-09-08 12:12:57 -04:00
Cory Fields
a0f3d3cdad
net: move ban and addrman functions into CConnman
2016-09-08 12:12:57 -04:00
Cory Fields
aaf018e3b7
net: handle nodesignals in CConnman
2016-09-08 12:06:24 -04:00
Cory Fields
b1a5f43208
net: move OpenNetworkConnection into CConnman
2016-09-08 12:06:24 -04:00
Cory Fields
02137f11e2
net: Move socket binding into CConnman
2016-09-08 12:06:24 -04:00
Cory Fields
5b446dd5b1
net: Pass CConnection to wallet rather than using the global
2016-09-08 12:04:35 -04:00
Cory Fields
8d58c4d81f
net: Pass CConnman around as needed
2016-09-08 12:04:35 -04:00
Cory Fields
d7349ca50d
net: Add rpc error for missing/disabled p2p functionality
2016-09-08 12:04:35 -04:00
Cory Fields
cd16f48028
net: Create CConnman to encapsulate p2p connections
2016-09-08 12:04:35 -04:00
Cory Fields
d93b14dc5d
net: move CBanDB and CAddrDB out of net.h/cpp
...
This will eventually solve a circular dependency
2016-09-08 12:03:22 -04:00
Cory Fields
531214fb10
gui: add NodeID to the peer table
2016-09-08 12:03:22 -04:00
MarcoFalke
ddc308068d
Merge #8671 : Minimal fix to slow prevector tests as stopgap measure
...
f71d4a3
Minimal fix to slow prevector tests as stopgap measure (Jeremy Rubin)
2016-09-08 11:12:50 +02:00
Jeremy Rubin
ec81881b86
Performance Regression Fix: Pre-Allocate txChanged vector
2016-09-07 20:10:50 -04:00
MarcoFalke
ec139a5621
Merge #8673 : Trivial: Fix obvious assignment/equality error in test
...
426e7bc
Fix obvious assignment/equality error in test (Jeremy Rubin)
2016-09-07 19:36:43 +02:00
Cory Fields
d6a5dc4a2e
add waitfornewblock/waitforblock/waitforblockheight rpcs and use them for tests
...
waitfornewblock waits until a new block is received, or the timeout expires, then
returns the current block height/hash.
waitforblock waits for a specific blockhash, or until the timeout expires, then
returns the current block height/hash. If the target blockhash is the current
tip, it will return immediately.
waitforblockheight waits until the tip has reached a certain height or higher,
then returns the current height and hash.
waitforblockheight is used to avoid polling in the rpc tests.
2016-09-07 12:46:01 -04:00
Jonas Schnelli
04802930d4
[Qt][CoinControl] fix UI bug that could result in paying unexpected fee
2016-09-07 16:05:27 +02:00
Pavel Janík
125b946cb4
Do not shadow upper local variable 'send', prevent -Wshadow compiler warning.
2016-09-07 13:45:13 +02:00
Pieter Wuille
5b2ea29cf4
Merge #8594 : Do not add random inbound peers to addrman.
...
eb3596f
Do not add random inbound peers to addrman. (Gregory Maxwell)
2016-09-07 13:19:53 +02:00
Pieter Wuille
e2a1a1ee89
Merge #8606 : Fix some locks
...
144ed76
Fix some locks (Pieter Wuille)
2016-09-07 13:10:10 +02:00
Hampus Sjöberg
c015634400
qt: Adding transaction size to transaction details window
2016-09-06 22:31:36 +02:00
Hampus Sjöberg
fdf82fba31
Adding method GetTotalSize() to CTransaction
...
GetTotalSize() returns the total transaction size (including witness) in
bytes.
2016-09-06 22:30:30 +02:00
Jeremy Rubin
426e7bce0e
Fix obvious assignment/equality error in test
2016-09-06 16:22:13 -04:00
Jeremy Rubin
f71d4a3786
Minimal fix to slow prevector tests as stopgap measure
2016-09-06 16:19:25 -04:00
Wladimir J. van der Laan
d077f43f7e
Merge #8663 : trivial: remove unnecessary variable fDaemon
...
ff2ed7a
trivial: remove unnecessary variable fDaemon (mruddy)
2016-09-06 15:20:08 +02:00
Pieter Wuille
34521e4d7d
Do not store witness txn in rejection cache
2016-09-05 17:48:56 +02:00
Pieter Wuille
e82fb872ff
Merge #8651 : Predeclare PrecomputedTransactionData as struct
...
4424af5
Predeclare PrecomputedTransactionData as sturct (Pieter Wuille)
2016-09-05 13:30:09 +02:00
Suhas Daftuar
c40b034327
Clear witness with vin/vout in CWallet::CreateTransaction()
2016-09-04 20:09:13 -04:00
mruddy
ff2ed7a5bc
trivial: remove unnecessary variable fDaemon
2016-09-04 11:42:07 -04:00
Gregory Maxwell
6d0ced1865
Do not set an addr time penalty when a peer advertises itself.
...
Claims a peer makes about itself are inherently more credible.
2016-09-03 10:24:37 +00:00
Pavel Janík
7c069a7093
Do not shadow global variable
2016-09-02 20:50:59 +02:00
Wladimir J. van der Laan
cbe9ae8c69
Merge #8466 : [Trivial] Do not shadow variables in networking code
...
b7c349d
Do not shadow variables in networking code (Pavel Janík)
2016-09-02 12:51:56 +02:00
Wladimir J. van der Laan
381d0ddc8a
Merge #8449 : [Trivial] Do not shadow local variable, cleanup
...
a159f25
Remove redundand (and shadowing) declaration (Pavel Janík)
cce3024
Do not shadow local variable, cleanup (Pavel Janík)
2016-09-02 12:25:59 +02:00
Pieter Wuille
4424af5190
Predeclare PrecomputedTransactionData as sturct
2016-09-02 11:43:06 +02:00
Wladimir J. van der Laan
6f939c9080
Merge #8629 : C++11: s/boost::scoped_ptr/std::unique_ptr/
...
cdd79eb
C++11: s/boost::scoped_ptr/std::unique_ptr/ (Jorge Timón)
2016-09-02 09:56:33 +02:00
Jorge Timón
cdd79eb70f
C++11: s/boost::scoped_ptr/std::unique_ptr/
2016-09-01 19:05:07 +02:00
Pieter Wuille
854f1af22e
Make the dummy argument to getaddednodeinfo optional
2016-09-01 16:27:30 +02:00
Wladimir J. van der Laan
f061415d12
Merge #8638 : rest.cpp: change HTTP_INTERNAL_SERVER_ERROR to HTTP_BAD_REQUEST
...
f012a85
rest.cpp: change HTTP_INTERNAL_SERVER_ERROR to HTTP_BAD_REQUEST (djpnewton)
2016-09-01 15:58:43 +02:00
Wladimir J. van der Laan
0e563d89c0
Merge #8472 : Do not shadow LOCK's criticalblock variable for LOCK inside LOCK
...
33d15a3
Do not shadow LOCK's criticalblock variable for LOCK inside LOCK (Pavel Janík)
2016-09-01 14:42:00 +02:00
Pieter Wuille
19b0f33de0
Merge #8524 : Precompute sighashes
...
35fe039
Rename to PrecomputedTransactionData (Pieter Wuille)
ab48c5e
Unit test for sighash caching (Nicolas DORIER)
d2c5d04
Precompute sighashes (Pieter Wuille)
2016-09-01 12:20:43 +02:00
djpnewton
f012a857f5
rest.cpp: change HTTP_INTERNAL_SERVER_ERROR to HTTP_BAD_REQUEST
2016-09-01 22:12:19 +12:00
Wladimir J. van der Laan
84decb54f2
Merge #8612 : Check for compatibility with download in FindNextBlocksToDownload
...
887919c
Check for compatibility with download in FindNextBlocksToDownload (Pieter Wuille)
2016-08-31 17:59:56 +02:00
Wladimir J. van der Laan
abc677c9a9
Merge #8191 : Do not shadow variables in src/wallet
...
b175cb7
Do not shadow variables. (Pavel Janík)
2016-08-31 16:40:29 +02:00
Wladimir J. van der Laan
5cac8b123e
Merge #8291 : [util] CopyrightHolders: Check for untranslated substitution
...
33336e1
[util] CopyrightHolders: Check for untranslated substitution (MarcoFalke)
2016-08-31 16:17:00 +02:00
Pavel Janík
b175cb755b
Do not shadow variables.
2016-08-31 16:16:05 +02:00
Wladimir J. van der Laan
0c8875d23b
Merge #8163 : Do not shadow global RPC table variable (tableRPC)
...
de1bbe3
Do not shadow global RPC table variable (tableRPC) (Pavel Janík)
2016-08-31 16:07:58 +02:00
Wladimir J. van der Laan
df3f12d409
Merge #8626 : Berkeley DB v6 compatibility fix
...
323a5fe
Berkeley DB v6 compatibility fix (Alexey Vesnin)
2016-08-31 14:42:45 +02:00
Johnson Lau
482f852da6
Implement NULLDUMMY softfork
2016-08-31 19:38:23 +08:00
Wladimir J. van der Laan
2b23dbaee5
Merge #8611 : Reduce default number of blocks to check at startup
...
203f212
Reduce default number of blocks to check at startup (Pieter Wuille)
2016-08-30 13:38:42 +02:00
Alexey Vesnin
323a5fe06a
Berkeley DB v6 compatibility fix
...
Fixes building error looking like this:
CXX wallet/libbitcoin_wallet_a-db.o
wallet/db.cpp: In member function ‘void CDBEnv::EnvShutdown()’:
wallet/db.cpp:46:16: error: call of overloaded ‘DbEnv(int)’ is ambiguous
DbEnv(0).remove(strPath.c_str(), 0);
^
wallet/db.cpp:46:16: note: candidates are:
In file included from wallet/db.h:21:0,
from wallet/db.cpp:6:
/usr/include/db_cxx.h:916:2: note: DbEnv::DbEnv(const DbEnv&)
DbEnv(const DbEnv &);
^
/usr/include/db_cxx.h:518:2: note: DbEnv::DbEnv(DB_ENV)
DbEnv(DB_ENV *dbenv);
^
/usr/include/db_cxx.h:516:2: note: DbEnv::DbEnv(u_int32_t)
DbEnv(u_int32_t flags);
^
Makefile:5780: recipe for target 'wallet/libbitcoin_wallet_a-db.o' failed
make[2]: ** [wallet/libbitcoin_wallet_a-db.o] Error 1
2016-08-30 09:00:55 +03:00
Pieter Wuille
01680195f8
Merge #8564 : [Wallet] remove unused code/conditions in ReadAtCursor
...
beef966
[Wallet] remove unused code/conditions in ReadAtCursor (Jonas Schnelli)
2016-08-29 16:16:23 +02:00
Wladimir J. van der Laan
a5bb6387f7
Merge #8607 : [doc] Fix doxygen off-by-one comments, fix typos
...
fafe7b3
contrib: Make fix-copyright-headers.py more portable (MarcoFalke)
fa27c0a
[doc] Fix typos in comments, doxygen: Fix comment syntax (MarcoFalke)
fabfd5d
[qa] pull-tester: Don't mute zmq ImportError (MarcoFalke)
67a5502
init: Fix typo in help message for -whitelistforcerelay (Wladimir J. van der Laan)
2016-08-28 16:06:03 +02:00
Pieter Wuille
05e1c85fb6
Merge #8573 : Set jonasschnellis dns-seeder filter flag
...
40a95cf
Set jonasschnellis dns-seeder filter flag (Jonas Schnelli)
2016-08-28 13:17:30 +02:00
Pieter Wuille
203f2121be
Reduce default number of blocks to check at startup
2016-08-27 15:28:20 +02:00
Pieter Wuille
5127c4f21c
Add preciousblock RPC
...
Includes a bugfix by Luke-Jr.
2016-08-26 23:05:45 +02:00
Pieter Wuille
887919c7b7
Check for compatibility with download in FindNextBlocksToDownload
2016-08-26 21:44:44 +02:00
Pieter Wuille
144ed76ea0
Fix some locks
...
This makes sure that cs_filter is never held while taking cs_main
or CNode::cs_vSend.
2016-08-26 21:11:57 +02:00
Pieter Wuille
35fe0393f2
Rename to PrecomputedTransactionData
2016-08-26 18:44:10 +02:00
Pieter Wuille
9a0ed08b40
Merge #8109 : Do not shadow member variables
...
ff8d279
Do not shadow member variables (Pavel Janík)
2016-08-26 18:13:22 +02:00
Wladimir J. van der Laan
12892dbb9f
Merge #8590 : Remove unused variables
...
fa6dc9f
Remove unused variables (MarcoFalke)
2016-08-26 13:24:12 +02:00
Wladimir J. van der Laan
05fa823bf6
wallet: Add BIP125 comment for MAXINT-1/-2 behavior
2016-08-26 12:57:28 +02:00
Peter Todd
152f45ba58
Add option to opt into full-RBF when sending funds
2016-08-26 12:10:42 +02:00
Jonas Schnelli
e3245b43d5
[Qt] add out-of-sync modal info layer
2016-08-26 11:34:30 +02:00
Wladimir J. van der Laan
65837375d9
Merge #8581 : [wallet] rpc: Drop misleading option
...
fab5ecb
[wallet] rpc: Drop misleading option (MarcoFalke)
2016-08-26 11:21:55 +02:00
Wladimir J. van der Laan
c19f8a4a77
Merge #8583 : Show XTHIN in GUI
...
4c3e2cb
Show XTHIN in GUI (R E Broadley)
2016-08-26 11:20:36 +02:00
Wladimir J. van der Laan
6c9f1b8c24
Merge #8561 : Show "end" instead of many zeros when getheaders request received with a hashStop of Null
...
259ee09
Show "end" instead of many zeros when getheaders request received with a hashStop of Null. (R E Broadley)
2016-08-26 10:04:26 +02:00
Jonas Schnelli
e47052f6b5
[Qt] ClientModel add method to get the height of the header chain
2016-08-26 09:53:09 +02:00
Jonas Schnelli
a001f18802
[Qt] Always pass the numBlocksChanged signal for headers tip changed
2016-08-26 09:53:09 +02:00
Jonas Schnelli
bd44a04dc3
[Qt] make Out-Of-Sync warning icon clickable
2016-08-26 09:53:09 +02:00
Jonas Schnelli
0904c3cda4
[Refactor] refactor function that forms human readable text out of a timeoffset
2016-08-26 09:53:09 +02:00
Gregory Maxwell
eb3596f7c2
Do not add random inbound peers to addrman.
...
We should learn about new peers via address messages.
An inbound peer connecting to us tells us nothing about
its ability to accept incoming connections from us, so
we shouldn't assume that we can connect to it based on
this.
The vast majority of nodes on the network do not accept
incoming connections, adding them will only slow down
the process of making a successful connection in the
future.
Nodes which have configured themselves to not announce would prefer we
not violate their privacy by announcing them in GETADDR responses.
2016-08-25 23:48:59 +00:00
MarcoFalke
fa8b02d36d
[rpc] rawtx: Prepare fLimitFree to make it an option
2016-08-25 15:28:04 +02:00
MarcoFalke
fa28bfa341
[wallet] Set fLimitFree = true
2016-08-25 15:27:48 +02:00
Pieter Wuille
53f8f226bd
Merge #8462 : Move AdvertiseLocal debug output to net category
...
f13c1ba
Move AdvertiseLocal debug output to net category (Michael Rotarius)
2016-08-25 15:15:16 +02:00
Pavel Janík
de1bbe3b78
Do not shadow global RPC table variable (tableRPC)
2016-08-25 15:02:26 +02:00
MarcoFalke
fa6dc9f0e5
Remove unused variables
2016-08-25 14:59:38 +02:00
Jonas Schnelli
0606f95b1e
Merge #7579 : [Qt] show network/chain errors in the GUI
...
2f32c82
[Qt] show network/chain errors in the GUI (Jonas Schnelli)
2016-08-25 14:55:26 +02:00
Jonas Schnelli
d26234a9e2
Merge #8487 : Persist the datadir after option reset
...
57acb82
Load choose datadir dialog after options reset (Andrew Chow)
15df3c1
Persist the datadir after option reset (Andrew Chow)
2016-08-25 11:42:57 +02:00
MarcoFalke
95a983d56d
Merge #8578 : [test] Remove unused code
...
fa1cf9e
[test] Remove unused code (MarcoFalke)
2016-08-25 11:00:21 +02:00
Wladimir J. van der Laan
026c6edac9
Merge #8282 : net: Feeler connections to increase online addrs in the tried table.
...
dbb1f64
Added feeler connections increasing good addrs in the tried table. (Ethan Heilman)
2016-08-25 10:48:24 +02:00
R E Broadley
4c3e2cb2df
Show XTHIN in GUI
2016-08-25 09:22:46 +07:00
MarcoFalke
fa1cf9e7b8
[test] Remove unused code
2016-08-24 20:21:31 +02:00
MarcoFalke
fab5ecb771
[wallet] rpc: Drop misleading option
2016-08-24 19:28:04 +02:00
Andrew Chow
57acb82e70
Load choose datadir dialog after options reset
2016-08-24 09:40:48 -04:00
Jonas Schnelli
62a5a8a018
Merge #8463 : [qt] Remove Priority from coincontrol dialog
...
fa8dd78
[qt] Remove Priority from coincontrol dialog (MarcoFalke)
2016-08-24 13:58:43 +02:00