aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-01-10Merge #8811: rpc: Add support for JSON-RPC named argumentsWladimir J. van der Laan
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)
2017-01-10qt: periodic translations updateWladimir J. van der Laan
2017-01-10Update RPC argument namesJohn Newbery
2017-01-10rpc: Named argument support for bitcoin-cliWladimir J. van der Laan
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
2017-01-10Merge #9496: Rename lambda argument name to prevent shadowingMarcoFalke
7df5e38 Rename lambda argument name to prevent shadowing. (Pavel Janík)
2017-01-09Rename lambda argument name to prevent shadowing.Pavel Janík
2017-01-09Merge #9353: Add data() method to CDataStream (and use it)Pieter Wuille
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)
2017-01-09Merge #9404: Smarter coordination of change and fee in CreateTransaction.Pieter Wuille
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)
2017-01-09Merge #9310: Assert FRESH validity in CCoinsViewCache::BatchWritePieter Wuille
dd44ea3 Check FRESH validity in CCoinsViewCache::BatchWrite (Russell Yanofsky)
2017-01-07Remove stray semicolon (Fix empty body warning)Douglas Roark
Empty body introduced by commit #9319 should not be empty.
2017-01-06Merge #9408: Allow shutdown during LoadMempool, dump only when necessaryPieter Wuille
325e400 [Qt] Do proper shutdown (Jonas Schnelli) 9479f8d Allow shutdown during LoadMempool, dump only when necessary (Jonas Schnelli)
2017-01-06Merge #9319: Break addnode out from the outbound connection limits.Pieter Wuille
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)
2017-01-06Don't overpay fee if we have selected new coins that result in a smaller ↵Alex Morcos
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.
2017-01-06Try to reduce change output to make needed fee in CreateTransactionAlex Morcos
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.
2017-01-05Merge #9138: Improve fee estimationPieter Wuille
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)
2017-01-05Merge #8610: Share unused mempool memory with coincachePieter Wuille
ba3cecf Share unused mempool memory with coincache (Pieter Wuille)
2017-01-05Merge #9465: [Wallet] Do not perform ECDSA signing in the fee calculation ↵Pieter Wuille
inner loop. b3d7b1c Wallet: Do not perform ECDSA in the fee calculation inner loop. (Gregory Maxwell)
2017-01-05Merge #9413: [CoinControl] Allow non-wallet owned change addressesJonas Schnelli
54f8026 [CoinControl] Allow non-wallet owned change addresses (Jonas Schnelli)
2017-01-05Merge #9312: Increase mempool expiry time to 2 weeksWladimir J. van der Laan
5f0e27f Increase mempool expiry time to 2 weeks (Alex Morcos)
2017-01-05RPC help documentation for addnode peerinfo.Gregory Maxwell
Also adds a comment about the netgroup exclusion behavior.
2017-01-05Break addnode out from the outbound connection limits.Gregory Maxwell
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.
2017-01-05Wallet: Do not perform ECDSA in the fee calculation inner loop.Gregory Maxwell
Performing signing in the inner loop has terrible performance when many passes through are needed to complete the selection. Signing before the algorithm is complete also gets in the way of correctly setting the fee (e.g. preventing over-payment when the fee required goes down on the final selection.) Use of the dummy might overpay on the signatures by a couple bytes in uncommon cases where the signatures' DER encoding is smaller than the dummy: Who cares?
2017-01-05[Qt] Do proper shutdownJonas Schnelli
2017-01-05Merge #8747: [rpc] Fix transaction size comments and RPC help text.Wladimir J. van der Laan
d29505d Fix transaction size comments. Size now refers to virtual size as defined in BIP141. (jonnynewbs)
2017-01-05Merge #9281: Refactor: Remove using namespace <xxx> from bench/ & test/ sourcesMarcoFalke
73f4119 Refactoring: Removed using namespace <xxx> from bench/ and test/ source files. (Karl-Johan Alm)
2017-01-05rpc: Argument name consistencyWladimir J. van der Laan
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`
2017-01-05rpc: Named arguments for rawtransaction callsWladimir J. van der Laan
2017-01-05rpc: Named arguments for wallet callsWladimir J. van der Laan
2017-01-05rpc: Named arguments for mining callsWladimir J. van der Laan
2017-01-05rpc: Named arguments for net callsWladimir J. van der Laan
Also add a more descriptive message for `setnetworkactive`.
2017-01-05rpc: Named arguments for misc callsWladimir J. van der Laan
2017-01-05rpc: Add 'echo' call for testingWladimir J. van der Laan
This hidden call simply returns what is passed in.
2017-01-05rpc: Named arguments for blockchain callsWladimir J. van der Laan
2017-01-05rpc: Support named argumentsWladimir J. van der Laan
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.
2017-01-05Merge #9387: [Refactor] RAII of libevent stuff using unique ptrs with deletersWladimir J. van der Laan
05a55a6 Added EVENT_CFLAGS to test makefile to explicitly include libevent headers. (Karl-Johan Alm) 280a559 Added some simple tests for the RAII-style events. (Karl-Johan Alm) 7f7f102 Switched bitcoin-cli.cpp to use RAII unique pointers with deleters. (Karl-Johan Alm) e5534d2 Added std::unique_ptr<> wrappers with deleters for libevent modules. (Karl-Johan Alm)
2017-01-05Merge #9417: Do not evaluate hidden LogPrint argumentsWladimir J. van der Laan
407cdd6 Do not evaluate hidden LogPrint arguments (Pieter Wuille)
2017-01-05Merge #9474: Mark the minconf parameter to move as ignoredWladimir J. van der Laan
ce370c1 Mark the minconf parameter to move as ignored (Pieter Wuille)
2017-01-05Merge #9475: Let autoconf detect presence of EVP_MD_CTX_newWladimir J. van der Laan
0388afe Let autoconf detect presence of EVP_MD_CTX_new (Luke Dashjr)
2017-01-04Check FRESH validity in CCoinsViewCache::BatchWriteRussell Yanofsky
2017-01-04Merge #9107: Safer modify new coinsPieter Wuille
b50cd7a Fix dangerous condition in ModifyNewCoins. (Alex Morcos)
2017-01-04Let autoconf detect presence of EVP_MD_CTX_newLuke Dashjr
Fixes LibreSSL compatibility
2017-01-04Fix edge case with stale fee estimatesAlex Morcos
2017-01-04Add clarifying comments to fee estimationAlex Morcos
2017-01-04Add extra logging to processBlock in fee estimation.Alex Morcos
2017-01-04Add IsCurrentForFeeEstimatationAlex Morcos
Make a more conservative notion of whether the node is caught up to the rest of the network and only count transactions as fee estimation data points if the node is caught up.
2017-01-04Pass pointers to existing CTxMemPoolEntries to fee estimationAlex Morcos
2017-01-04Always update fee estimates on new blocks.Alex Morcos
All decisions about whether the transactions are valid data points are made at the time the transaction arrives. Updating on blocks all the time will now cause stale fee estimates to decay quickly when we restart a node.
2017-01-04rename bool to validFeeEstimateAlex Morcos
2017-01-04Remove member variable hadNoDependencies from CTxMemPoolEntryAlex Morcos
Fee estimation can just check its own mapMemPoolTxs to determine the same information. Note that now fee estimation for block processing must happen before those transactions are removed, but this shoudl be a speedup.
2017-01-04Don't track transactions at all during IBD.Alex Morcos
This was an oversight, where blocks and mempool tracking were ignored during IBD, but transactions that arrived during IBD but were included in blocks after IBD were not ignored.