aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Replace setInventoryKnown with a rolling bloom filter.Gregory Maxwell2015-11-303-9/+9
| | | | | | | | | | | | Mruset setInventoryKnown was reduced to a remarkably small 1000 entries as a side effect of sendbuffer size reductions in 2012. This removes setInventoryKnown filtering from merkleBlock responses because false positives there are especially unattractive and also because I'm not sure if there aren't race conditions around the relay pool that would cause some transactions there to be suppressed. (Also, ProcessGetData was accessing setInventoryKnown without taking the required lock.)
* Merge pull request #7103Wladimir J. van der Laan2015-11-301-1/+1
|\ | | | | | | | | fa506c0 [wallet] Add rpc tests to verify fee calculations (MarcoFalke) 4b89f01 Default fPayAtLeastCustomFee to false (Ryan Havar)
| * Default fPayAtLeastCustomFee to falseRyan Havar2015-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This allows for much finer control of the transaction fees per kilobyte as it prevent small transactions using a fee that is more appropriate for one that is of a kilobyte. This also allows controlling the fee per kilobyte over rpc such that: bitcoin-cli settxfee `bitcoin-cli estimatefee 2` would make sense, while currently it grossly fails often by a factor of x3
* | Merge pull request #7126Wladimir J. van der Laan2015-11-301-11/+1
|\ \ | | | | | | | | | fa4b627 Move blocksonly parameter interaction to InitParameterInteraction() (MarcoFalke)
| * | Move blocksonly parameter interaction to InitParameterInteraction()MarcoFalke2015-11-281-11/+1
| |/
* | Merge pull request #7116Wladimir J. van der Laan2015-11-303-3/+3
|\ \ | | | | | | | | | cb491e7 Trivial: Fix warning introduced by #7053 by casting to uint64_t (Jorge Timón)
| * | Trivial: Fix warning introduced by #7053 by casting to uint64_tJorge Timón2015-11-293-3/+3
| | |
* | | Merge pull request #7127Jonas Schnelli2015-11-304-9/+14
|\ \ \ | | | | | | | | | | | | a6cbc02 Bugfix: Default -uiplatform is not actually the platform this build was compiled on (Luke Dashjr)
| * | | Bugfix: Default -uiplatform is not actually the platform this build was ↵Luke Dashjr2015-11-284-9/+14
| | |/ | |/| | | | | | | compiled on
* | | Merge pull request #7025Jonas Schnelli2015-11-304-53/+65
|\ \ \ | | | | | | | | | | | | | | | | 2a8e8c2 [Qt] don't allow to store invalid proxy ports (Jonas Schnelli) d16d1b7 [Qt] refactor and optimize proxy settings behavior (Jonas Schnelli)
| * | | [Qt] don't allow to store invalid proxy portsJonas Schnelli2015-11-182-5/+10
| | | |
| * | | [Qt] refactor and optimize proxy settings behaviorJonas Schnelli2015-11-164-53/+60
| | | |
* | | | Allow block announcements with headersSuhas Daftuar2015-11-295-11/+232
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replaces using inv messages to announce new blocks, when a peer requests (via the new "sendheaders" message) that blocks be announced with headers instead of inv's. Since headers-first was introduced, peers send getheaders messages in response to an inv, which requires generating a block locator that is large compared to the size of the header being requested, and requires an extra round-trip before a reorg can be relayed. Save time by tracking headers that a peer is likely to know about, and send a headers chain that would connect to a peer's known headers, unless the chain would be too big, in which case we revert to sending an inv instead. Based off of @sipa's commit to announce all blocks in a reorg via inv, which has been squashed into this commit. Rebased-by: Pieter Wuille
* | | | Merge pull request #7106Gregory Maxwell2015-11-281-11/+14
|\ \ \ \ | | | | | | | | | | | | | | | a9f3d3d Fix and improve relay from whitelisted peers (Pieter Wuille)
| * | | | Fix and improve relay from whitelisted peersPieter Wuille2015-11-261-11/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure that retransmits by a whitelisted peer also actually result in a retransmit. Further, this changes the logic to never relay in case we would assign a DoS score, as we expect to get DoS banned ourselves as a result.
* | | | | Merge pull request #6508Pieter Wuille2015-11-2813-75/+353
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | eece63f Switch blocks to a constant-space Merkle root/branch algorithm. (Pieter Wuille) ee60e56 Add merkle.{h,cpp}, generic merkle root/branch algorithm (Pieter Wuille)
| * | | | Switch blocks to a constant-space Merkle root/branch algorithm.Pieter Wuille2015-11-2712-75/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This switches the Merkle tree logic for blocks to one that runs in constant (small) space. The old code is moved to tests, and a new test is added that for various combinations of block sizes, transaction positions to compute a branch for, and mutations: * Verifies that the old code and new code agree for the Merkle root. * Verifies that the old code and new code agree for the Merkle branch. * Verifies that the computed Merkle branch is valid. * Verifies that mutations don't change the Merkle root. * Verifies that mutations are correctly detected.
| * | | | Add merkle.{h,cpp}, generic merkle root/branch algorithmPieter Wuille2015-11-273-0/+171
| | | | |
* | | | | [qt] Move GUI related HelpMessage() part downstreamMarcoFalke2015-11-286-22/+25
| | | | |
* | | | | [trivial] Reuse translation and cleanup DEFAULT_* valuesMarcoFalke2015-11-2811-28/+42
| | | | | | | | | | | | | | | | | | | | | | | | | * DEFAULT_DISABLE_SAFEMODE = false * Use DEFAULT_* constants for extern bools
* | | | | Bugfix: Omit wallet-related options from -help when wallet is not supportedLuke Dashjr2015-11-281-1/+2
| | | | |
* | | | | Constrain constant values to a single location in codeLuke Dashjr2015-11-2824-78/+118
| | | | |
* | | | | Merge pull request #6942Pieter Wuille2015-11-281-5/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | e482a7f Fix CCoins serialization documentation (Peter Josling)
| * | | | | Fix CCoins serialization documentationPeter Josling2015-11-041-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The docs talk about bits 2 and 4 instead of 2 and 3, and bits are being indexed from both 1 (describing nCode) and 0 (in second example). Changed to use zero-indexing for all.
* | | | | | Print correct minimum mempool size in MBpaveljanik2015-11-271-1/+1
| |/ / / / |/| | | |
* | | | | Merge pull request #7078Wladimir J. van der Laan2015-11-271-4/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | c434940 uint256::GetCheapHash bigendian compatibility (daniel)
| * | | | | uint256::GetCheapHash bigendian compatibilitydaniel2015-11-251-4/+2
| | | | | |
* | | | | | Merge pull request #7114Wladimir J. van der Laan2015-11-271-1/+0
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | 9b63758 util: Don't set strMiscWarning on every exception (Wladimir J. van der Laan)
| * | | | | | util: Don't set strMiscWarning on every exceptionWladimir J. van der Laan2015-11-271-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #6809 - run-of-the-mill exceptions should not get into strMiscWarning (which is reported by `getinfo`).
* | | | | | | Merge pull request #7090Wladimir J. van der Laan2015-11-271-0/+9
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | cde857f Connect to Tor hidden services by default (Peter Todd)
| * | | | | | | Connect to Tor hidden services by defaultPeter Todd2015-11-261-0/+9
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds 127.0.0.1:9050 for the .onion proxy if we can succesfully connect to the control port. Natural followup to creating hidden services automatically.
* | | | | | | Merge pull request #7095Wladimir J. van der Laan2015-11-274-200/+206
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 4ec3561 Replace scriptnum_test's normative ScriptNum implementation (Wladimir J. van der Laan)
| * | | | | | | Replace scriptnum_test's normative ScriptNum implementationWladimir J. van der Laan2015-11-254-200/+206
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compare against the scriptnum from Bitcoin Core 0.10 instead of OpenSSL. Closes #7086.
* | | | | | | | Merge pull request #7083Wladimir J. van der Laan2015-11-272-0/+11
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | faf12bc OpenSSL 1.1.0: Fix text variant of the version number (MarcoFalke)
| * | | | | | | OpenSSL 1.1.0: Fix text variant of the version numberMarcoFalke2015-11-242-0/+11
| | | | | | | |
* | | | | | | | Merge pull request #6780Wladimir J. van der Laan2015-11-274-67/+102
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a46f87f Initialize logging before we do parameter interaction (Jonas Schnelli) df66147 Move -blocksonly parameter interaction to the new ParameterInteraction() function (Jonas Schnelli) 68354e7 [QT] Call inits parameter interaction before we create the options model (Jonas Schnelli) 411b05a Refactor parameter interaction, call it before AppInit2() (Jonas Schnelli)
| * | | | | | | Initialize logging before we do parameter interactionJonas Schnelli2015-11-274-7/+16
| | | | | | | |
| * | | | | | | Move -blocksonly parameter interaction to the new ParameterInteraction() ↵Jonas Schnelli2015-11-271-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function
| * | | | | | | [QT] Call inits parameter interaction before we create the options modelJonas Schnelli2015-11-271-0/+9
| | | | | | | |
| * | | | | | | Refactor parameter interaction, call it before AppInit2()Jonas Schnelli2015-11-273-60/+67
| | | | | | | |
* | | | | | | | Merge pull request #7053Wladimir J. van der Laan2015-11-275-49/+44
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 2e29e7e Globals: Remove a bunch of Params() calls from main.cpp: (Jorge Timón)
| * | | | | | | | Globals: Remove a bunch of Params() calls from main.cpp:Jorge Timón2015-11-235-49/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Chainparams: Explicit CChainParams arg for main: -AcceptBlock -AcceptBlockHeader -ActivateBestChain -ConnectTip -InitBlockIndex -LoadExternalBlockFile -VerifyDB parametric constructor 2) Also pickup more Params()\. in main.cpp 3) Pass nPruneAfterHeight explicitly to new FindFilesToPrune() in main.cpp
* | | | | | | | | Merge pull request #6871Wladimir J. van der Laan2015-11-272-9/+202
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 63b5840 Fix usage of local python-bitcoinlib (Peter Todd) 16a2f93 Fix incorrect locking of mempool during RBF replacement (Peter Todd) 97203f5 Port test to rpc-test framework (Suhas Daftuar) 20367d8 Add test for max replacement limit (Suhas Daftuar) 73d9040 Improve RBF replacement criteria (Suhas Daftuar) b272ecf Reject replacements that add new unconfirmed inputs (Peter Todd) fc8c19a Prevent low feerate txs from (directly) replacing high feerate txs (Peter Todd) 0137e6f Add tests for transaction replacement (Peter Todd) 5891f87 Add opt-in full-RBF to mempool (Peter Todd)
| * | | | | | | | | Fix incorrect locking of mempool during RBF replacementPeter Todd2015-11-101-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously RemoveStaged() was called without pool.cs held.
| * | | | | | | | | Improve RBF replacement criteriaSuhas Daftuar2015-11-102-16/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the calculation of conflicting size/conflicting fees.
| * | | | | | | | | Reject replacements that add new unconfirmed inputsPeter Todd2015-11-101-0/+24
| | | | | | | | | |
| * | | | | | | | | Prevent low feerate txs from (directly) replacing high feerate txsPeter Todd2015-11-101-24/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously all conflicting transactions were evaluated as a whole to determine if the feerate was being increased. This meant that low feerate children pulled the feerate down, potentially allowing a high transaction with a high feerate to be replaced by one with a lower feerate.
| * | | | | | | | | Add opt-in full-RBF to mempoolPeter Todd2015-11-101-5/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaces transactions already in the mempool if a new transaction seen with a higher fee, specifically both a higher fee per KB and a higher absolute fee. Children are evaluateed for replacement as well, using the mempool package tracking to calculate replaced fees/size. Transactions can opt-out of transaction replacement by setting nSequence >= maxint-1 on all inputs. (which all wallets do already)
* | | | | | | | | | Merge pull request #6134Wladimir J. van der Laan2015-11-2715-44/+231
|\ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e304432 Pass reference to estimateSmartFee and cleanup whitespace (Suhas Daftuar) 56106a3 Expose RPC calls for estimatesmart functions (Alex Morcos) e93a236 add estimateSmartFee to the unit test (Alex Morcos) 6303051 EstimateSmart functions consider mempool min fee (Alex Morcos) f22ac4a Increase success threshold for fee estimation to 95% (Alex Morcos) 4fe2823 Change wallet and GUI code to use new smart fee estimation calls. (Alex Morcos) 22eca7d Add smart fee estimation functions (Alex Morcos)
| * | | | | | | | | Pass reference to estimateSmartFee and cleanup whitespaceSuhas Daftuar2015-11-244-10/+9
| | | | | | | | | |