aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | | | | | | | | | | | | | Move tx estimation data out of CCheckPointDataPieter Wuille2017-01-047-13/+28
| | | | | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | | | | [MOVEONLY] Move progress estimation out of checkpointsPieter Wuille2017-01-047-50/+52
| | |_|_|_|/ / / / / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | | Merge #9518: Return height of last block pruned by pruneblockchain RPCMarcoFalke2017-01-121-3/+10
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 918d1fb Return height of last block pruned by pruneblockchain RPC (Russell Yanofsky)
| * | | | | | | | | | | | | | | | | | | | | Return height of last block pruned by pruneblockchain RPCRussell Yanofsky2017-01-111-3/+10
| | |_|_|_|_|_|_|_|_|_|_|/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change suggested by Jonas Schnelli <[email protected]> in https://github.com/bitcoin/bitcoin/pull/7871#discussion_r95577623
* | | | | | | | | | | | | | | | | | | | | Merge #9520: Deprecate non-txindex getrawtransaction and better warningMarcoFalke2017-01-121-4/+8
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | db904db Deprecate non-txindex getrawtransaction and better warning (Pieter Wuille)
| * | | | | | | | | | | | | | | | | | | | | Deprecate non-txindex getrawtransaction and better warningPieter Wuille2017-01-111-4/+8
| | | | | | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | | | Merge #9297: Various RPC help outputs updatedMarcoFalke2017-01-123-28/+43
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 54ee3fc RPC help updated (Michael Rotarius)
| * | | | | | | | | | | | | | | | | | | | | RPC help updatedMichael Rotarius2017-01-113-28/+43
| | |_|_|_|_|_|/ / / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | | Merge #9507: Fix use-after-free in CTxMemPool::removeConflicts()Pieter Wuille2017-01-111-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fe7e593 Fix use-after-free in CTxMemPool::removeConflicts() (Suhas Daftuar)
| * | | | | | | | | | | | | | | | | | | | Fix use-after-free in CTxMemPool::removeConflicts()Suhas Daftuar2017-01-101-1/+1
| | |_|_|_|_|_|_|_|/ / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | Merge #7871: Manual block file pruning.Wladimir J. van der Laan2017-01-115-11/+93
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | afffeea fixup! Add pruneblockchain RPC to enable manual block file pruning. (Russell Yanofsky) 1fc4ec7 Add pruneblockchain RPC to enable manual block file pruning. (mrbandrews)
| * | | | | | | | | | | | | | | | | | | | fixup! Add pruneblockchain RPC to enable manual block file pruning.Russell Yanofsky2017-01-101-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend pruneblockchain RPC to accept block timestamps as well as block indices.
| * | | | | | | | | | | | | | | | | | | | Add pruneblockchain RPC to enable manual block file pruning.mrbandrews2017-01-105-11/+83
| | |/ / / / / / / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | Merge #9513: build: fix qt distdir builds (retry)Wladimir J. van der Laan2017-01-111-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 67ca130 build: fix for out-of-tree/distdir qt builds (Cory Fields)
| * | | | | | | | | | | | | | | | | | | build: fix for out-of-tree/distdir qt buildsCory Fields2017-01-101-1/+1
| | |_|/ / / / / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | Merge #8811: rpc: Add support for JSON-RPC named argumentsWladimir J. van der Laan2017-01-1012-346/+471
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4e7e2e1 Update RPC argument names (John Newbery) 481f289 rpc: Named argument support for bitcoin-cli (Wladimir J. van der Laan) 9adb4e1 rpc: Argument name consistency (Wladimir J. van der Laan) 8d713f7 rpc: Named arguments for rawtransaction calls (Wladimir J. van der Laan) 37a166f rpc: Named arguments for wallet calls (Wladimir J. van der Laan) 78b684f rpc: Named arguments for mining calls (Wladimir J. van der Laan) b8ebc59 rpc: Named arguments for net calls (Wladimir J. van der Laan) 2ca9dcd test: Add test for RPC named arguments (Wladimir J. van der Laan) fba1a61 rpc: Named arguments for misc calls (Wladimir J. van der Laan) 286ec08 rpc: Add 'echo' call for testing (Wladimir J. van der Laan) 495eb44 rpc: Named arguments for blockchain calls (Wladimir J. van der Laan) 6f1c76a rpc: Support named arguments (Wladimir J. van der Laan) 5865d41 authproxy: Add support for RPC named arguments (Wladimir J. van der Laan)
| * | | | | | | | | | | | | | | | | | | Update RPC argument namesJohn Newbery2017-01-107-88/+88
| | | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | | rpc: Named argument support for bitcoin-cliWladimir J. van der Laan2017-01-104-93/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Usage e.g.: $ src/bitcoin-cli -testnet -named echo arg0="dfdf" [ "dfdf" ] Argument conversion also works, for arguments thus flagged in the table in `src/rpc/client.cpp`. $ src/bitcoin-cli -testnet -named echojson arg0="[1,2,3]" [ [ 1, 2, 3 ] ] Unknown parameter (detected server-side): $ src/bitcoin-cli -testnet -named getinfo arg0="dfdf" error code: -8 error message: Unknown named parameter arg0
| * | | | | | | | | | | | | | | | | | | rpc: Argument name consistencyWladimir J. van der Laan2017-01-055-42/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The meaning is clear from the context, and we're inconsistent here. Also save typing when using named arguments. - `bitcoinaddress` -> `address` - `bitcoinprivkey` -> `privkey` - `bitcoinpubkey` -> `pubkey`
| * | | | | | | | | | | | | | | | | | | rpc: Named arguments for rawtransaction callsWladimir J. van der Laan2017-01-051-11/+11
| | | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | | rpc: Named arguments for wallet callsWladimir J. van der Laan2017-01-052-75/+75
| | | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | | rpc: Named arguments for mining callsWladimir J. van der Laan2017-01-051-22/+22
| | | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | | rpc: Named arguments for net callsWladimir J. van der Laan2017-01-051-15/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add a more descriptive message for `setnetworkactive`.
| * | | | | | | | | | | | | | | | | | | rpc: Named arguments for misc callsWladimir J. van der Laan2017-01-051-8/+8
| | | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | | rpc: Add 'echo' call for testingWladimir J. van der Laan2017-01-051-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This hidden call simply returns what is passed in.
| * | | | | | | | | | | | | | | | | | | rpc: Named arguments for blockchain callsWladimir J. van der Laan2017-01-051-31/+31
| | | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | | rpc: Support named argumentsWladimir J. van der Laan2017-01-052-9/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The [JSON-RPC specification](http://www.jsonrpc.org/specification) allows passing parameters as an Array, for by-position arguments, or an Object, for by-name arguments. This implements by-name arguments, but preserves full backwards compatibility. API using by-name arguments are easier to extend, and easier to use (no need to guess which argument goes where). Named are mapped to positions by a per-call structure, provided through the RPC command table. Missing arguments will be replaced by null, except if at the end, then the argument is left out completely. Currently calls fail (though not crash) on intermediate nulls, but this should be improved on a per-call basis later.
* | | | | | | | | | | | | | | | | | | | qt: periodic translations updateWladimir J. van der Laan2017-01-1090-4706/+37481
| | | | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | Merge #9496: Rename lambda argument name to prevent shadowingMarcoFalke2017-01-101-3/+3
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7df5e38 Rename lambda argument name to prevent shadowing. (Pavel Janík)
| * | | | | | | | | | | | | | | | | | | Rename lambda argument name to prevent shadowing.Pavel Janík2017-01-091-3/+3
| | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | Merge #9353: Add data() method to CDataStream (and use it)Pieter Wuille2017-01-095-21/+19
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5113474 wallet: Use CDataStream.data() (Wladimir J. van der Laan) e2300ff bench: Use CDataStream.data() (Wladimir J. van der Laan) adff950 dbwrapper: Use new .data() method of CDataStream (Wladimir J. van der Laan) a2141e4 streams: Remove special cases for ancient MSVC (Wladimir J. van der Laan) af4c44c streams: Add data() method to CDataStream (Wladimir J. van der Laan)
| * | | | | | | | | | | | | | | | | | | wallet: Use CDataStream.data()Wladimir J. van der Laan2016-12-152-10/+10
| | | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | | bench: Use CDataStream.data()Wladimir J. van der Laan2016-12-151-1/+1
| | | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | | dbwrapper: Use new .data() method of CDataStreamWladimir J. van der Laan2016-12-151-6/+6
| | | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | | streams: Remove special cases for ancient MSVCWladimir J. van der Laan2016-12-151-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Quite sure that we haven't supported MSVC 6.0 for ages (MSC_VER 1300 is >= MSVC++ 7.0) but with the C++11 switch we can be sure.
| * | | | | | | | | | | | | | | | | | | streams: Add data() method to CDataStreamWladimir J. van der Laan2016-12-151-0/+2
| | |_|_|_|_|_|_|_|_|_|_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Analogous to c++11 vector data().
* | | | | | | | | | | | | | | | | | | Merge #9404: Smarter coordination of change and fee in CreateTransaction.Pieter Wuille2017-01-092-2/+33
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 20449ef Don't overpay fee if we have selected new coins that result in a smaller transaction. (Alex Morcos) 42f5ce4 Try to reduce change output to make needed fee in CreateTransaction (Alex Morcos)
| * | | | | | | | | | | | | | | | | | | Don't overpay fee if we have selected new coins that result in a smaller ↵Alex Morcos2017-01-061-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | transaction. On repeated calls to SelectCoins we try to meet the fee necessary for the last transaction, the new fee required might be smaller, so increase our change by the difference if we can.
| * | | | | | | | | | | | | | | | | | | Try to reduce change output to make needed fee in CreateTransactionAlex Morcos2017-01-062-1/+15
| | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once we've picked coins and dummy-signed the transaction to calculate fee, if we don't have sufficient fee, then try to meet the fee by reducing change before resorting to picking new coins.
* | | | | | | | | | | | | | | | | | | Merge #9310: Assert FRESH validity in CCoinsViewCache::BatchWritePieter Wuille2017-01-092-11/+24
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dd44ea3 Check FRESH validity in CCoinsViewCache::BatchWrite (Russell Yanofsky)
| * | | | | | | | | | | | | | | | | | Check FRESH validity in CCoinsViewCache::BatchWriteRussell Yanofsky2017-01-042-11/+24
| | |_|_|_|/ / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | Remove stray semicolon (Fix empty body warning)Douglas Roark2017-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Empty body introduced by commit #9319 should not be empty.
* | | | | | | | | | | | | | | | | | Merge #9408: Allow shutdown during LoadMempool, dump only when necessaryPieter Wuille2017-01-063-1/+8
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 325e400 [Qt] Do proper shutdown (Jonas Schnelli) 9479f8d Allow shutdown during LoadMempool, dump only when necessary (Jonas Schnelli)
| * | | | | | | | | | | | | | | | | | [Qt] Do proper shutdownJonas Schnelli2017-01-051-0/+2
| | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | Allow shutdown during LoadMempool, dump only when necessaryJonas Schnelli2016-12-232-1/+6
| | | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | Merge #9319: Break addnode out from the outbound connection limits.Pieter Wuille2017-01-066-13/+54
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 032ba3f RPC help documentation for addnode peerinfo. (Gregory Maxwell) 90f13e1 Add release notes for addnode changes. (Gregory Maxwell) 50bd12c Break addnode out from the outbound connection limits. (Gregory Maxwell)
| * | | | | | | | | | | | | | | | | | RPC help documentation for addnode peerinfo.Gregory Maxwell2017-01-052-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also adds a comment about the netgroup exclusion behavior.
| * | | | | | | | | | | | | | | | | | Break addnode out from the outbound connection limits.Gregory Maxwell2017-01-056-13/+48
| | |_|_|_|_|_|_|_|_|_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously addnodes were in competition with outbound connections for access to the eight outbound slots. One result of this is that frequently a node with several addnode configured peers would end up connected to none of them, because while the addnode loop was in its two minute sleep the automatic connection logic would fill any free slots with random peers. This is particularly unwelcome to users trying to maintain links to specific nodes for fast block relay or purposes. Another result is that a group of nine or more nodes which are have addnode configured towards each other can become partitioned from the public network. This commit introduces a new limit of eight connections just for addnode peers which is not subject to any of the other connection limitations (including maxconnections). The choice of eight is sufficient so that under no condition would a user find themselves connected to fewer addnoded peers than previously. It is also low enough that users who are confused about the significance of more connections and have gotten too copy-and-paste happy will not consume more than twice the slot usage of a typical user. Any additional load on the network resulting from this will likely be offset by a reduction in users applying even more wasteful workaround for the prior behavior. The retry delays are reduced to avoid nodes sitting around without their added peers up, but are still sufficient to prevent overly aggressive repeated connections. The reduced delays also make the system much more responsive to the addnode RPC. Ban-disconnects are also exempted for peers added via addnode since the outbound addnode logic ignores bans. Previously it would ban an addnode then immediately reconnect to it. A minor change was also made to CSemaphoreGrant so that it is possible to re-acquire via an object whos grant was moved.
* | | | | | | | | | | | | | | | | | Merge #9138: Improve fee estimationPieter Wuille2017-01-0511-76/+94
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 44b64b9 Fix edge case with stale fee estimates (Alex Morcos) 78ae62d Add clarifying comments to fee estimation (Alex Morcos) 5fe0f47 Add extra logging to processBlock in fee estimation. (Alex Morcos) dc008c4 Add IsCurrentForFeeEstimatation (Alex Morcos) ebafdca Pass pointers to existing CTxMemPoolEntries to fee estimation (Alex Morcos) d825838 Always update fee estimates on new blocks. (Alex Morcos) 6f06b26 rename bool to validFeeEstimate (Alex Morcos) 84f7ab0 Remove member variable hadNoDependencies from CTxMemPoolEntry (Alex Morcos) 60ac00d Don't track transactions at all during IBD. (Alex Morcos) 4df4479 Remove extraneous LogPrint from fee estimation (Alex Morcos)
| * | | | | | | | | | | | | | | | | | Fix edge case with stale fee estimatesAlex Morcos2017-01-041-1/+3
| | | | | | | | | | | | | | | | | | |