macro correction
Master #9809
pull GCarneiroA wants to merge 5437 commits into bitcoin:0.10 from bitcoin:master changing 1413 files +190620 −100309-
GCarneiroA commented at 12:03 PM on February 20, 2017: none
-
qt: periodic translations update b0819c7e9b
-
812714fd80
Merge #9484: Introduce assumevalid setting to skip validation presumed valid scripts.
7b5e3fe Add assumevalid testcase (John Newbery) e440ac7 Introduce assumevalid setting to skip presumed valid scripts. (Gregory Maxwell)
-
6696b4635c
Merge #9561: Wake message handling thread when we receive a new block
241d893 Wake message handling thread when we receive a new block (Matt Corallo) f13914a Make WakeMessageHandler public (Matt Corallo)
-
Clarify comment about mempool/extra conflicts 1ccfe9b1c9
-
Add braces around AddToCompactExtraTransactions c5945804ca
-
Bug-fix: listsinceblock: use closest common ancestor when a block hash was provided for a chain that was not the main chain. ee5c1ce5a6
-
Testing: listsinceblock should not use orphan block height. 7ba0a00aae
-
b0b57a1730
Merge #9508: Remove unused Python imports
95bab82 Remove unused Python imports (practicalswift)
-
c70622e942
Docs: Update CONTRIBUTING.md
Update CONTRIBUTING.md to document the different components. Notably, trivial should only be used for PRs that do not change the code.
-
6012967c47
Merge #9512: Fix various things -fsanitize complains about
82e8baa Avoid boost dynamic_bitset in rest_getutxos (Pieter Wuille) 99f001e Fix memory leak in multiUserAuthorized (Pieter Wuille) 5a0b7e4 Fix memory leak in net_tests (Pieter Wuille) 6b03bfb Fix memory leak in wallet tests (Pieter Wuille) f94f3e0 Avoid integer overflows in scriptnum tests (Pieter Wuille) 843c560 Avoid unaligned access in crypto i/o (Pieter Wuille)
-
c36ec715f0
depends: qt: disable printer for all platforms, not just osx
This also fixes the native osx build.
-
9c9af5ab2d
Merge #9499: Use recent-rejects, orphans, and recently-replaced txn for compact-block-reconstruction
c594580 Add braces around AddToCompactExtraTransactions (Matt Corallo) 1ccfe9b Clarify comment about mempool/extra conflicts (Matt Corallo) fac4c78 Make PartiallyDownloadedBlock::InitData's second param const (Matt Corallo) b55b416 Add extra_count lower bound to compact reconstruction debug print (Matt Corallo) 863edb4 Consider all (<100k memusage) txn for compact-block-extra-txn cache (Matt Corallo) 7f8c8ca Consider all orphan txn for compact-block-extra-txn cache (Matt Corallo) 93380c5 Use replaced transactions in compact block reconstruction (Matt Corallo) 1531652 Keep shared_ptrs to recently-replaced txn for compact blocks (Matt Corallo) edded80 Make ATMP optionally return the CTransactionRefs it replaced (Matt Corallo) c735540 Move ORPHAN constants from validation.h to net_processing.h (Matt Corallo)
-
[Qt] Improve progress display during headers-sync and peer-finding 40ec7c7b0d
-
Add IPv6 support to qos.sh fc089ae47a
-
41cb05cc8f
Merge #9552: Add IPv6 support to qos.sh
fc089ae Add IPv6 support to qos.sh (James White)
-
e9e7993007
Merge #9542: Docs: Update CONTRIBUTING.md
c70622e Docs: Update CONTRIBUTING.md (John Newbery)
-
054d664215
Merge #9498: Basic CCheckQueue Benchmarks
aad4cb5 Address ryanofsky feedback on CCheckQueue benchmarks. Eliminated magic numbers, fixed scoping of vectors (and memory movement component of benchmark). (Jeremy Rubin) 9f03110 Add Basic CheckQueue Benchmark (Jeremy Rubin)
-
[wallet] Add include_unsafe argument to listunspent RPC 52dde66770
-
cc0243ad32
[RPC] bumpfee
This command allows a user to increase the fee on a wallet transaction T, creating a "bumper" transaction B. T must signal that it is BIP-125 replaceable. T's change output is decremented to pay the additional fee. (B will not add inputs to T.) T cannot have any descendant transactions. Once B bumps T, neither T nor B's outputs can be spent until either T or (more likely) B is mined. Includes code by @jonasschnelli and @ryanofsky
-
Move wallet callbacks into cs_main (this effectively reverts #7946) 989989354b
-
2ef52d3cf1
Merge #8456: [RPC] Simplified bumpfee command.
cc0243a [RPC] bumpfee (mrbandrews) 52dde66 [wallet] Add include_unsafe argument to listunspent RPC (Russell Yanofsky) 766e8a4 [wallet] Add IsAllFromMe: true if all inputs are from wallet (Suhas Daftuar)
-
b25068697f
Merge #9461: [Qt] Improve progress display during headers-sync and peer-finding
40ec7c7 [Qt] Improve progress display during headers-sync and peer-finding (Jonas Schnelli)
-
82274c02ed
Merge #9535: Split CNode::cs_vSend: message processing and message sending
376b3c2 Make the cs_sendProcessing a LOCK instead of a TRY_LOCK (Matt Corallo) d7c58ad Split CNode::cs_vSend: message processing and message sending (Matt Corallo)
-
[Wallet] Add an option to keep the change address key, true by default 9aa4e6a6c2
-
[QA] Add test for fundrawtransactions new reserveChangeKey option 9eb325d079
-
Add fundrawtransactions new reserveChangeKey option to the release notes c9f3062d55
-
qt: Use nPowTargetSpacing constant fa4d47814f
-
Use incrementalRelayFee for BIP 125 replacement 5b158707f2
-
Fix missing use of dustRelayFee de6400de5d
-
Fix to have miner test aware of new separate block min tx fee 6b331e6cf9
-
[bugfix] save feeDelta instead of priorityDelta in DumpMempool bd92f2481c
-
8ff8d219c3
Send final alert message to older peers after connecting.
The old Bitcoin alert system has long since been retired. ( See also: https://bitcoin.org/en/alert/2016-11-01-alert-retirement ) This change causes each node to send any old peers that it connects with a copy of the final alert. The alert it hardcode cancels all other alerts including other final alerts.
-
Do not shadow local variable named `tx`. 44f2baac48
-
[rpc] Add incremental relay fee to getnetworkinfo fe8e8efcf9
-
fb75cd04bb
Merge #9377: fundrawtransaction: Keep change-output keys by default, make it optional
c9f3062 Add fundrawtransactions new reserveChangeKey option to the release notes (Jonas Schnelli) 9eb325d [QA] Add test for fundrawtransactions new reserveChangeKey option (Jonas Schnelli) 9aa4e6a [Wallet] Add an option to keep the change address key, true by default (Jonas Schnelli)
-
b8d1b81077
trivial: squash missing field 'argNames' initializer warning in qt tests
The additional initializer is for the named arguments, which are unused in the test (and unfilled global fields will be initialized to 0 anyhow), so this is a no-op apart from the warning.
-
qt: Periodic translation update af01cd3a3d
-
Exclude RBF txs from fee estimation de1ae324bf
-
dd5b0114cf
[Trivial] add comment about setting peer as HB peer.
This adds a comment to the new logic for setting HB peers based on block validation (and aligns the code below to reflect the comment). It's not obvious why we're checking mapBlocksInFlight. Add a comment to explain.
-
Remove redundant semicolons in Python code 5cdf10611f
-
Add missing mempool lock for CalculateMemPoolAncestors 003cd60cc3
-
0b96abc35f
Merge #9554: [test] Avoid potential NULL pointer dereference in addrman_tests.cpp
afab9f4 [test] Avoid potential NULL pointer dereference in addrman_tests.cpp (practicalswift)
-
5c66d41b7f
[Trivial] Grammar and typo correction
Minor corrections in src\test\* .
-
ff58b1c3bd
Merge #9610: [Trivial] Grammar and typo correction (laudaa)
5c66d41 [Trivial] Grammar and typo correction (Lauda)
-
eafba4e273
Merge #9583: Move wallet callbacks into cs_main (this effectively reverts #7946)
9899893 Move wallet callbacks into cs_main (this effectively reverts #7946) (Matt Corallo)
-
7884956414
Merge #9511: Don't overwrite validation state with corruption check
116419e Don't overwrite validation state with corruption check (Alex Morcos)
-
5cf3c60fcc
Merge #9607: Remove redundant semicolons in Python code
5cdf106 Remove redundant semicolons in Python code (practicalswift)
-
5a00659b58
[wallet] Clarify getbalance help string to explain interaction with bumpfee
Documentation change only, no change in behavior.
-
727a798360
Merge #9516: Bug-fix: listsinceblock: use fork point as reference for blocks in reorg'd chains
7ba0a00 Testing: listsinceblock should not use orphan block height. (Karl-Johan Alm) ee5c1ce Bug-fix: listsinceblock: use closest common ancestor when a block hash was provided for a chain that was not the main chain. (Karl-Johan Alm)
-
71148b8947
Merge #9596: [bugfix] save feeDelta instead of priorityDelta in DumpMempool
bd92f24 [bugfix] save feeDelta instead of priorityDelta in DumpMempool (Alex Morcos)
-
ff25c32392
mempool: add notification for added/removed entries
Add notification signals to make it possible to subscribe to mempool changes: - NotifyEntryAdded(CTransactionRef)> - NotifyEntryRemoved(CTransactionRef, MemPoolRemovalReason)> Also add a mempool removal reason enumeration, which is passed to the removed notification based on why the transaction was removed from the mempool.
-
4afbde6028
Introduce MemPoolConflictRemovalTracker
Analogue to ConnectTrace that tracks transactions that have been removed from the mempool due to conflicts and then passes them through SyncTransaction at the end of its scope.
-
Better document usage of SyncTransaction 094e4b3383
-
be31a2b363
[Trivial] Update license year range to 2017
The same as #7363.
-
50864529b6
Merge #9588: qt: Use nPowTargetSpacing constant
fa4d478 qt: Use nPowTargetSpacing constant (MarcoFalke)
-
4a1dc35ca5
Merge #9371: Notify on removal
094e4b3 Better document usage of SyncTransaction (Alex Morcos) 4afbde6 Introduce MemPoolConflictRemovalTracker (Alex Morcos) ff25c32 mempool: add notification for added/removed entries (Wladimir J. van der Laan)
-
1ac878ace6
Merge #9617: [Trivial] Update license year range to 2017
be31a2b [Trivial] Update license year range to 2017 (Lauda)
-
[Trivial] fix logging typo in FlushStateToDisk() ac9a84679a
-
b68f898efa
Merge #9624: [Trivial] fix logging typo in FlushStateToDisk()
ac9a846 [Trivial] fix logging typo in FlushStateToDisk() (John Newbery)
-
Delete some unused (and broken) functions in CConnman 5be01906e5
-
Ensure cs_vNodes is held when using the return value from FindNode 3c37dc40d3
-
Increase minimum debug.log size to 10MB after shrink. 29fb311858
-
99464bc38e
net: Consistently use GetTimeMicros() for inactivity checks
The use of mocktime in test logic means that comparisons between GetTime() and GetTimeMicros()/1000000 are unreliable since the former can use mocktime values while the latter always gets the system clock; this changes the networking code's inactivity checks to consistently use the system clock for inactivity comparisons. Also remove some hacks from setmocktime() that are no longer needed, now that we're using the system clock for nLastSend and nLastRecv.
-
qa: Increase a sync_blocks timeout in pruning.py 2f10f06196
-
b9d95bd9a1
Fix various minor linearization script issues
- The last-timestamp-encountered variable wasn’t being used properly. Rewrite code to properly allow for new blockchain files to be written when split by month. - Properly set a blockchain file’s access and modify times. - Add a “debug output” option to quiet certain output that might not always be desirable. - Update the README.
-
Do not add to vNodes until fOneShot/fFeeler/fAddNode have been set 236618061a
-
f89502306d
Merge #9628: qa: Increase a sync_blocks timeout in pruning.py
2f10f06 qa: Increase a sync_blocks timeout in pruning.py (Suhas Daftuar)
-
Refactor GetMinimumFee to give option of providing targetFee ae9719ab87
-
3f9f9629cc
Merge #9606: net: Consistently use GetTimeMicros() for inactivity checks
99464bc net: Consistently use GetTimeMicros() for inactivity checks (Suhas Daftuar)
-
07421cf2a7
Merge #9613: [wallet] Clarify getbalance help string to explain interaction with bumpfee
5a00659 [wallet] Clarify getbalance help string to explain interaction with bumpfee (Russell Yanofsky)
-
10dc58a2aa
Merge #9587: Do not shadow local variable named `tx`.
44f2baa Do not shadow local variable named `tx`. (Pavel Janík)
-
5ac668759d
Merge #9574: [depends] Fix QT build on OSX
c36ec71 depends: qt: disable printer for all platforms, not just osx (Cory Fields)
-
fd7021142a
Merge #9594: Send final alert message to older peers after connecting.
8ff8d21 Send final alert message to older peers after connecting. (Gregory Maxwell)
-
9b4d2673b7
Merge #9519: Exclude RBF replacement txs from fee estimation
de1ae32 Exclude RBF txs from fee estimation (Alex Morcos)
-
[Qt] fix transaction details output-index to reflect vout index 04b877361b
-
e8021ec919
Use CWallet::GetMinimumFee in bumpfee
Use the wallet's fee calculation logic to properly clamp fee against minimums and maximums when calculating the fee for a bumpfee transaction. Unless totalFee is explictly given, in which case, manually check against min, but do nothing to adjust given fee. In all cases do a final check against maxTxFee (after adding any incremental amount).
-
fab035f2f7
qa: Actually test assertions in pruning.py
Also refactor to use wrapper for stop_node
-
0c0c63f70a
Introduce WALLET_INCREMENTAL_RELAY_FEE
Have wallet's default bump value be higher than the default incrementalRelayFee to future proof against changes to incremental relay fee. Only applies when not setting the fee rate directly.
-
4b189c1340
Change bumpfee result value from 'oldfee' to 'origfee'.
The result value indicates the actual fee on the transaction that was replaced. But there is an error message which uses the description 'oldfee' to refer to the original fee rate applied to the new transaction's estimated max size. It was confusing that two different uses of 'oldfee' had two different numeric values.
-
Refactor: Remove using namespace <xxx> from src/*.cpp. b7b48c8bbd
-
d9e4d1d9fb
Merge #9637: [Qt] fix transaction details output-index to reflect vout index
04b8773 [Qt] fix transaction details output-index to reflect vout index (Jonas Schnelli)
-
a7ea2f8fdb
Merge #9638: qa: Actually test assertions in pruning.py
fab035f qa: Actually test assertions in pruning.py (MarcoFalke)
-
[trivial] Fix typos in comments cc16d99f1d
-
build: find qt's renamed helper libs from 5.7 342eb9618a
-
8efa34fb77
depends: add a zlib build
qt5.7 changed the location of some of its symbols, creating a circular dependency in Qt5Core. Rather than trying to fix that up, build our own zlib rather than having it built for us.
-
b5f374fef7
qt: fix build with zlib for target
This contains a few hacks very specific to Qt's buildsystem. These can be reverted once we split the build between native and target builds. Qt's build contains a circular dependency when not using a system zlib. By far the easiest fix is to switch to a system zlib, rather than Qt's own. However, that confuses Qt's cross build which assumes that when using a system zlib, it should also find a system (native) zlib for native tools. The build breaks if that zlib is not present. To solve this: 1. Always use a system zlib rather than the one provided by qt 2. Set force_bootstrap, which instructs the build tools to be built as though we're cross-compiling (build != target) 3. For build tools, use qt's internal zlib so that a native zlib is not required. Step 3 means that if any zlib headers are found by the native build, it will confuse Qt's internal zlib build. So we also need to make sure that the target headers/libs aren't found. To do so, specify that our cflags/cxxflags/cppflags/ldflags only apply for non-host builds.
-
Skip RAII event tests if libevent is built without event_set_mem_functions 95f97f4b94
-
fa5137c11d
[doc] Remove unused clang format dev script
Also, update the clang format file to reflect the current coding style mentioned in the developer notes.
-
0fea960ca9
Merge #9510: [trivial] Fix typos in comments
cc16d99 [trivial] Fix typos in comments (practicalswift)
-
Fix typos 5f62e3eb63
-
720b579480
Merge #9646: depends: Fix cross build for qt5.7
b5f374f qt: fix build with zlib for target (Cory Fields) 8efa34f depends: add a zlib build (Cory Fields) 342eb96 build: find qt's renamed helper libs from 5.7 (Cory Fields)
-
d2c9e4d422
Merge #9615: Wallet incremental fee
4b189c1 Change bumpfee result value from 'oldfee' to 'origfee'. (Alex Morcos) 0c0c63f Introduce WALLET_INCREMENTAL_RELAY_FEE (Alex Morcos) e8021ec Use CWallet::GetMinimumFee in bumpfee (Alex Morcos) ae9719a Refactor GetMinimumFee to give option of providing targetFee (Alex Morcos) fe8e8ef [rpc] Add incremental relay fee to getnetworkinfo (Alex Morcos) 6b331e6 Fix to have miner test aware of new separate block min tx fee (Alex Morcos) de6400d Fix missing use of dustRelayFee (Alex Morcos) 5b15870 Use incrementalRelayFee for BIP 125 replacement (Alex Morcos)
-
36966a1c0e
Merge #9626: Clean up a few CConnman cs_vNodes/CNode things
2366180 Do not add to vNodes until fOneShot/fFeeler/fAddNode have been set (Matt Corallo) 3c37dc4 Ensure cs_vNodes is held when using the return value from FindNode (Matt Corallo) 5be0190 Delete some unused (and broken) functions in CConnman (Matt Corallo)
-
668de70be0
Merge #9644: [refactor] Remove using namespace <xxx> from src/
b7b48c8 Refactor: Remove using namespace <xxx> from src/*.cpp. (Karl-Johan Alm)
-
qt: periodic translations update 71fc17f667
-
53ab12d931
Merge #9649: [doc] Remove unused clang format dev script
fa5137c [doc] Remove unused clang format dev script (MarcoFalke)
-
e99f0d7ad4
Merge #9647: Skip RAII event tests if libevent is built without event_set_mem_functions
95f97f4 Skip RAII event tests if libevent is built without event_set_mem_functions (Luke Dashjr)
-
wallet: Refactor dummy signature signing for reusability d625b907a1
-
Contrib: Add jtimon pgp keys for commit sigs and future gitian builds 178454dde9
-
Net: CConnman: Make some methods const d45955fa09
-
Net: Make CNetMsgMaker more const fc7f2ffad4
-
Net: pass interruptMsgProc as const where possible 0729102f99
-
f62659448c
rpc: bumpfee: use correct maximum signed tx size for fee calculation
More accurate than simply adding one byte per input, and properly handles the case where the original transaction happened to have very small signatures
-
rpc: bumpfee: handle errors more gracefully 9522b53a91
-
1581ecbc33
Use configparser in rpc-tests.py
Remove the use of wildcard imports in rpc-tests.py and replace with configparser.
-
7bfb77045c
Merge #9640: Bumpfee: bugfixes for error handling and feerate calculation
9522b53 rpc: bumpfee: handle errors more gracefully (Suhas Daftuar) f626594 rpc: bumpfee: use correct maximum signed tx size for fee calculation (Suhas Daftuar) d625b90 wallet: Refactor dummy signature signing for reusability (Suhas Daftuar)
-
77bd8c4cab
Merge #9625: Increase minimum debug.log size to 10MB after shrink.
29fb311 Increase minimum debug.log size to 10MB after shrink. (Alex Morcos)
-
clarify listunspent amount description 3eba88d44c
-
3e900acafa
Require merge commits merge branches on top of other merge commits
Specifically, require that the left branch (first restult of git show -s --format=format:%P) is a signed merge commit, instead of allowing either. This is fine for now, but might need to be relaxed in the future. Also fixes an out-of-file-descriptors issue by holding too many open FDs writing to /dev/null
-
Test that pushes to bitcoin/bitcoin are signed per verify-commits ba94426d53
-
e30d9287fd
Merge #9663: [RPC] clarify listunspent amount description
3eba88d clarify listunspent amount description (Gregory Sanders)
-
ae972a5e99
Merge #9580: Fix various minor linearization script issues
b9d95bd Fix various minor linearization script issues (Douglas Roark)
-
4e19efba03
Merge #9556: Remove redundant semicolons
8fc6989 Remove redundant semicolons (practicalswift)
-
7c93952fec
Merge #9656: Check verify-commits on pushes to master
ba94426 Test that pushes to bitcoin/bitcoin are signed per verify-commits (Matt Corallo) 3e900ac Require merge commits merge branches on top of other merge commits (Matt Corallo)
-
1c2edd9f67
Merge #9654: Add jtimon pgp keys for commit sigs and future gitian builds
178454d Contrib: Add jtimon pgp keys for commit sigs and future gitian builds (Jorge Timón)
-
885cfdd217
Fix super-unlikely race introduced in 236618061a445d2cb11e72
Once the CNode has been added to vNodes, it is possible that it is disconnected+deleted in the socket handler thread. However, after that we now call InitializeNode, which accesses the pnode. helgrind managed to tickle this case (somehow), but I suspect it requires in immensely braindead scheduler.
-
Dont deserialize nVersion into CNode, should fix #9212 80ff0344ae
-
2046617b5e
net: deserialize the entire version message locally
This avoids having some vars set if the version negotiation fails. Also copy it all into CNode at the same site. nVersion and fSuccessfullyConnected are set last, as they are the gates for the other vars. Make them atomic for that reason.
-
12752af0cc
net: don't run callbacks on nodes that haven't completed the version handshake
Since ForEach* are can be used to send messages to all nodes, the caller may end up sending a message before the version handshake is complete. To limit this, filter out these nodes. While we're at it, may as well filter out disconnected nodes as well. Delete unused methods rather than updating them.
-
7a8c251901
net: Disallow sending messages until the version handshake is complete
This is a change in behavior, though it's much more sane now than before.
-
08bb6f4ed4
net: log an error rather than asserting if send version is misused
Also cleaned up the comments and moved from the header to the .cpp so that logging headers aren't needed from net.h
-
Fail in DecodeHexTx if there is extra data at the end 7ea0ad539f
-
922bea90c2
Better handle invalid parameters to signrawtransaction
This silently skips trying to merge signatures from inputs which do not exist from transactions provided to signrawtransaction, instead of hitting an assert.
-
[qa] Test that decoderawtransaction throws with extra data appended 691710a648
-
[qa] Add second input to signrawtransaction test case ec4f7e433e
-
4ec057dfa7
[wallet] Set correct metadata on bumpfee wallet transactions
Preserve comment, order form, and account strings from the original wallet transaction. Also set fTimeReceivedIsTxTime and fFromMe fields for consistency with CWallet::CreateTransaction. The latter two fields don't influence current wallet behavior, but do record that the transaction originated in the wallet instead of coming from the network or sendrawtransaction.
-
[qa] test signrawtransaction merge with missing inputs 6dbfe08c29
-
Lock cs_vSend and cs_inventory in a consistent order even in TRY fd13eca147
-
Always enforce lock strict lock ordering (try or not) 8465631845
-
7b2d96b634
Access WorkQueue::running only within the cs lock.
This removes a "race" between Interrupt() and Run(), though it should not effect any of our supported platforms.
-
a3511628d0
Merge #9679: Access WorkQueue::running only within the cs lock
7b2d96b Access WorkQueue::running only within the cs lock. (Matt Corallo)
-
496691741d
Merge #9609: net: fix remaining net assertions
08bb6f4 net: log an error rather than asserting if send version is misused (Cory Fields) 7a8c251 net: Disallow sending messages until the version handshake is complete (Cory Fields) 12752af net: don't run callbacks on nodes that haven't completed the version handshake (Cory Fields) 2046617 net: deserialize the entire version message locally (Cory Fields) 80ff034 Dont deserialize nVersion into CNode, should fix #9212 (Matt Corallo)
-
7821db30e1
Merge #9671: Fix super-unlikely race introduced in 236618061a445d2cb11e72
885cfdd Fix super-unlikely race introduced in 236618061a445d2cb11e72 (Matt Corallo)
-
Fixup style a bit by moving { to the same line as if statements 2a962d4540
-
ac719c936d
Init ECC context for test_bitcoin_fuzzy.
This avoids calling things like pubkey_parse with a null context argument.
-
923dc447ea
Merge #9578: Add missing mempool lock for CalculateMemPoolAncestors
003cd60 Add missing mempool lock for CalculateMemPoolAncestors (Matt Corallo)
-
fc67cd22f8
Merge #9691: Init ECC context for test_bitcoin_fuzzy.
ac719c9 Init ECC context for test_bitcoin_fuzzy. (Gregory Maxwell)
-
8d6447ecf7
Merge #9673: Set correct metadata on bumpfee wallet transactions
4ec057d [wallet] Set correct metadata on bumpfee wallet transactions (Russell Yanofsky)
-
986ba005ed
Merge #9651: Fix typos
5f62e3e Fix typos (practicalswift)
-
09e0c28f85
Merge #9659: Net: Turn some methods and params/variables const
0729102 Net: pass interruptMsgProc as const where possible (Jorge Timón) fc7f2ff Net: Make CNetMsgMaker more const (Jorge Timón) d45955f Net: CConnman: Make some methods const (Jorge Timón)
-
40f7e27d25
Merge #9650: Better handle invalid parameters to signrawtransaction
6dbfe08 [qa] test signrawtransaction merge with missing inputs (Matt Corallo) ec4f7e4 [qa] Add second input to signrawtransaction test case (Matt Corallo) 691710a [qa] Test that decoderawtransaction throws with extra data appended (Matt Corallo) 922bea9 Better handle invalid parameters to signrawtransaction (Matt Corallo) 7ea0ad5 Fail in DecodeHexTx if there is extra data at the end (Matt Corallo)
-
91bfffff5d
Use argparse in rpc_tests.py
This commit replaces the roll-your-own argument parsing in rpc_tests.py with Python's standard library argparse.
-
afd38e7cc8
Improve rpc-tests.py arguments
A few miscellaneous improvements to rpc-tests.py command line arguments: - make all arguments start with double dash for consistency - improve help text and output - add nozmq argument to explicitly exclude the ZMQ tests - change 'parallel' to 'jobs'
-
870cd2b58a
Merge #9378: [trivial] Add documentation for CWalletTx::fFromMe member.
39c77b0 Add documentation for CWalletTx::fFromMe member. (Russell Yanofsky)
-
3de3ccdfaa
Refactor rpc-tests.py
- add main() - remove global variables
-
02464da5e4
Merge #9227: Make nWalletDBUpdated atomic to avoid a potential race.
d63ff62 Make nWalletDBUpdated atomic to avoid a potential race. (Patrick Strateman)
-
net: rearrange so that socket accesses can be grouped together 45e2e08561
-
net: add a lock around hSocket 9a0b784dea
-
8713de83a0
build: Add options to override BDB cflags/libs
Add environment settings to specify the CFLAGS and LIBS to be used for BerkeleyDB directly. These will completely by-pass autodetection in the same way as other similar flags. ``` BDB_CFLAGS C compiler flags for BerkeleyDB, bypasses autodetection BDB_LIBS Linker flags for BerkeleyDB, bypasses autodetection ``` Implements #3921.
-
5cc2ebb619
Update OpenBSD and FreeBSD build steps
Re-try with most recent versions, and use BDB_CFLAGS/BDB_LIBS to directly point at BerkeleyDB instead of CPPFLAGS hacks.
-
729de15b63
Merge #9604: [Trivial] add comment about setting peer as HB peer.
dd5b011 [Trivial] add comment about setting peer as HB peer. (John Newbery)
-
b709fe7ffc
Merge #9532: Remove unused variables
90fd29b Remove unused int64_t nSinceLastSeen (practicalswift) ac4a095 Remove unused Python variables (practicalswift)
-
Use z = std::max(x - y, 0); instead of z = x - y; if (z < 0) z = 0; a47da4b6fe
-
29c53289a9
bench: Fix initialization order in registration
The initialization order of global data structures in different implementation units is undefined. Making use of this is essentially gambling on what the linker does, the so-called [Static initialization order fiasco](https://isocpp.org/wiki/faq/ctors#static-init-order). In this case it apparently worked on Linux but failed on OpenBSD and FreeBSD. To create it on first use, make the registration structure local to a function. Fixes #8910.
-
Further-enforce lockordering by enforcing directly after TRY_LOCKs 618ee9249b
-
Disconnect peers which we do not receive VERACKs from within 60 sec 2cbd1196b7
-
d304fef374
Merge #9712: bench: Fix initialization order in registration
29c5328 bench: Fix initialization order in registration (Wladimir J. van der Laan)
-
6a55515a9b
Merge #9705: build: Add options to override BDB cflags/libs
5cc2ebb Update OpenBSD and FreeBSD build steps (Wladimir J. van der Laan) 8713de8 build: Add options to override BDB cflags/libs (Wladimir J. van der Laan)
-
dd163f5788
Merge #9674: Always enforce strict lock ordering (try or not)
618ee92 Further-enforce lockordering by enforcing directly after TRY_LOCKs (Matt Corallo) 2a962d4 Fixup style a bit by moving { to the same line as if statements (Matt Corallo) 8465631 Always enforce lock strict lock ordering (try or not) (Matt Corallo) fd13eca Lock cs_vSend and cs_inventory in a consistent order even in TRY (Matt Corallo) -
9db8eecac1
Fix RPC failure testing
Make sure that RPC tests are actually checking failures correctly by: - Catching JSON RPC exceptions and verifying the error codes and messages. - Failing the test case if the JSON RPC exception isn't raised.
-
qa: mininode learns when a socket connects, not its first action 8aaba7a6b7
-
qa: Expose on-connection to mininode listeners b436f92f72
-
Qt/Intro: Update block chain size c8cee26100
-
Bugfix: Qt/Intro: Chain state needs to be stored even with the full blockchain 93ffba7163
-
Bugfix: Qt/Intro: Pruned nodes never require *more* space a9baa6d742
-
36164faa33
Fix typo and spelling inconsistency in CONTRIBUTING.md
Fix spellings of GitHub Remove unnecessary changes Fix GitHub spelling on doc/translation_process.md
-
36f9d3ae6d
Merge #9718: Qt/Intro: Various fixes
a9baa6d Bugfix: Qt/Intro: Pruned nodes never require *more* space (Luke Dashjr) 93ffba7 Bugfix: Qt/Intro: Chain state needs to be stored even with the full blockchain (Luke Dashjr) c8cee26 Qt/Intro: Update block chain size (Luke Dashjr)
-
Remove bitseed.xf2.org form the dns seed list ca9955e706
-
Add a test for P2P inactivity timeouts 66f861ade9
-
33f3b21407
Merge #9730: Remove bitseed.xf2.org form the dns seed list
ca9955e Remove bitseed.xf2.org form the dns seed list (Jonas Schnelli)
-
5e903a5ed9
devtools: Handle Qt formatting characters edge-case in update-translations.py
If both numeric format specifiers and "others" are used, assume we're dealing with a Qt-formatted message. In the case of Qt formatting (see https://doc.qt.io/qt-5/qstring.html#arg) only numeric formats are replaced at all. This means "(percentage: %1%)" is valid (which was introduced in #9461), without needing any kind of escaping that would be necessary for strprintf. Without this, this function would wrongly detect '%)' as a printf format specifier.
-
qt: Periodic translations update 7179e7ca0d
-
4dfac2c950
Update seeds tooling to Python 3
All the other tooling scripts require Python 3, it makes sense to do so here too. Also document the dependency on python3-dnspython.
-
bfa9393c06
contrib/seeds: Update PATTERN_AGENT
gmaxwell: Adds the newest versions, drops everything multiple softforks ago.
-
Pre-0.14.0 hardcoded seeds update a60677e394
-
2447c1024e
Merge #9698: net: fix socket close race
9a0b784 net: add a lock around hSocket (Cory Fields) 45e2e08 net: rearrange so that socket accesses can be grouped together (Cory Fields)
-
321d0fc6b6
net: fix a few races. Credit @TheBlueMatt
These are (afaik) all long-standing races or concurrent accesses. Going forward, we can clean these up so that they're not all individual atomic accesses. - Reintroduce cs_vRecv to guard receive-specific vars - Lock vRecv/vSend for CNodeStats - Make some vars atomic. - Only set the connection time in CNode's constructor so that it doesn't change
-
Make nTimeConnected const in CNode 644f1234e2
-
Avoid copying CNodeStats to make helgrind OK with buggy std::string ae683c1b19
-
Access fRelayTxes with cs_filter lock in copyStats 512731bed0
-
Make nStartingHeight atomic 96f42d8a12
-
Make nServices atomic 0f31872615
-
Move [clean|str]SubVer writes/copyStats into a lock 22b4966a29
-
Make nTimeBestReceived atomic d8f2b8a8c0
-
Move CNode::addrName accesses behind locked accessors 036073bf87
-
Move CNode::addrLocal access behind locked accessors db2dc7a58c
-
b860915f8b
Merge #9707: Fix RPC failure testing
9db8eec Fix RPC failure testing (John Newbery)
-
442887f27f
Require timestamps for importmulti keys
Additionally, accept a "now" timestamp, to allow avoiding rescans for keys which are known never to have been used. Note that the behavior when "now" is specified is slightly different than the previous behavior when no timestamp was specified at all. Previously, when no timestamp was specified, it would avoid rescanning during the importmulti call, but set the key's nCreateTime value to 1, which would not prevent future block reads in later ScanForWalletTransactions calls. With this change, passing a "now" timestamp will set the key's nCreateTime to the current block time instead of 1. Fixes #9491
-
3cf991756c
Add test to check new importmulti "now" value
Easiest way to test this was to expose the timestamp via the validateaddress RPC (which was already looking up and returning key metadata).
-
Use MTP for importmulti "now" timestamps 266a8114cb
-
a58370e6a2
Dedup nTimeFirstKey update logic
Also make nTimeFirstKey member variable private. This is just a cleanup change, it doesn't change behavior in any significant way.
-
a80f98b1c7
Use importmulti timestamp when importing watch only keys
When importing a watch-only address over importmulti with a specific timestamp, the wallet's nTimeFirstKey is currently set to 1. After this change, the provided timestamp will be used and stored as metadata associated with watch-only key. This can improve wallet performance because it can avoid the need to scan the entire blockchain for watch only addresses when timestamps are provided. Also adds timestamp to validateaddress return value (needed for tests). Fixes #9034.
-
a06ede9a13
Merge #9708: Clean up all known races/platform-specific UB at the time PR was opened
db2dc7a Move CNode::addrLocal access behind locked accessors (Matt Corallo) 036073b Move CNode::addrName accesses behind locked accessors (Matt Corallo) d8f2b8a Make nTimeBestReceived atomic (Matt Corallo) 22b4966 Move [clean|str]SubVer writes/copyStats into a lock (Matt Corallo) 0f31872 Make nServices atomic (Matt Corallo) 96f42d8 Make nStartingHeight atomic (Matt Corallo) 512731b Access fRelayTxes with cs_filter lock in copyStats (Matt Corallo) ae683c1 Avoid copying CNodeStats to make helgrind OK with buggy std::string (Matt Corallo) 644f123 Make nTimeConnected const in CNode (Matt Corallo) 321d0fc net: fix a few races. Credit @TheBlueMatt (Cory Fields)
-
d978c41e1e
Merge #9736: Pre-0.14.0 hardcoded seeds update
a60677e Pre-0.14.0 hardcoded seeds update (Wladimir J. van der Laan) bfa9393 contrib/seeds: Update PATTERN_AGENT (Wladimir J. van der Laan) 4dfac2c Update seeds tooling to Python 3 (Wladimir J. van der Laan)
-
Remove unused module from rpc-tests a432aa0aa8
-
Bugfix: Qt/Options: Restore persistent "restart required" notice 0b4f273e9c
-
9acf25cc01
Return error when importmulti called with invalid address.
Lack of error checking noticed by Alex Morcos <morcos@chaincode.com>
-
c45b9fb54c
net: correctly ban before the handshake is complete
7a8c251901 made a change to avoid getting into SendMessages() until the version handshake (VERSION + VERACK) is complete. That was done to avoid leaking out messages to nodes who could connect, but never bothered sending us their version/verack. Unfortunately, the ban tally and possible disconnect are done as part of SendMessages(). So after 7a8c251901, if a peer managed to do something bannable before completing the handshake (say send 100 non-version messages before their version), they wouldn't actually end up getting disconnected/banned. That's fixed here by checking the banscore as part of ProcessMessages() in addition to SendMessages().
-
8502e7acbe
net: parse reject earlier
Prior to this change, all messages were ignored until a VERSION message was received, as well as possibly incurring a ban score. Since REJECT messages can be sent at any time (including as a response to a bad VERSION message), make sure to always parse them. Moving this parsing up keeps it from being caught in the if (pfrom->nVersion == 0) check below.
-
cbfc5a6728
net: require a verack before responding to anything else
7a8c251901 made this logic hard to follow. After that change, messages would not be sent to a peer via SendMessages() before the handshake was complete, but messages could still be sent as a response to an incoming message. For example, if a peer had not yet sent a verack, we wouldn't notify it about new blocks, but we would respond to a PING with a PONG. This change makes the behavior straightforward: until we've received a verack, never send any message other than version/verack/reject. The behavior until a VERACK is received has always been undefined, this change just tightens our policy. This also makes testing much easier, because we can now connect but not send version/verack, and anything sent to us is an error.
-
qa: mininode learns when a socket connects, not its first action 5b5e4f8330
-
qa: Expose on-connection to mininode listeners 8650bbb660
-
d9434918d2
qa: add a test to detect leaky p2p messages
This is certainly not exhaustive, but it's better than nothing. Adds checks for: - Any message received before sending a version - Any message received other than version/reject before sending a verack It also tries to goad the remote into sending a pong, address, or block announcement.
-
ec66d06e6e
Merge #9735: devtools: Handle Qt formatting characters edge-case in update-translations.py
7179e7c qt: Periodic translations update (Wladimir J. van der Laan) 5e903a5 devtools: Handle Qt formatting characters edge-case in update-translations.py (Wladimir J. van der Laan)
-
Selectively suppress deprecation warnings 4b6ccccc16
-
edc9e63c57
Merge #9682: Require timestamps for importmulti keys
266a811 Use MTP for importmulti "now" timestamps (Russell Yanofsky) 3cf9917 Add test to check new importmulti "now" value (Russell Yanofsky) 442887f Require timestamps for importmulti keys (Russell Yanofsky)
-
b08656e343
Merge #9715: Disconnect peers which we do not receive VERACKs from within 60 sec
66f861a Add a test for P2P inactivity timeouts (Matt Corallo) b436f92 qa: Expose on-connection to mininode listeners (Matt Corallo) 8aaba7a qa: mininode learns when a socket connects, not its first action (Matt Corallo) 2cbd119 Disconnect peers which we do not receive VERACKs from within 60 sec (Matt Corallo)
-
e87ce95fbd
Merge #9720: net: fix banning and disallow sending messages before receiving verack
d943491 qa: add a test to detect leaky p2p messages (Cory Fields) 8650bbb qa: Expose on-connection to mininode listeners (Matt Corallo) 5b5e4f8 qa: mininode learns when a socket connects, not its first action (Matt Corallo) cbfc5a6 net: require a verack before responding to anything else (Cory Fields) 8502e7a net: parse reject earlier (Cory Fields) c45b9fb net: correctly ban before the handshake is complete (Cory Fields)
-
a441db01b5
Merge #9755: Bugfix: Qt/Options: Restore persistent "restart required" notice
0b4f273 Bugfix: Qt/Options: Restore persistent "restart required" notice (Luke Dashjr)
-
[trivial] Fix recently introduced typos in comments 0c9b9b7d64
-
4c69d683f2
Merge #9553: Use z = std::max(x - y, 0) instead of z = x - y; if (z < 0) z = 0;
a47da4b Use z = std::max(x - y, 0); instead of z = x - y; if (z < 0) z = 0; (practicalswift)
-
d8e8b06bd0
Merge #9108: Use importmulti timestamp when importing watch only keys (on top of #9682)
a80f98b Use importmulti timestamp when importing watch only keys (Russell Yanofsky) a58370e Dedup nTimeFirstKey update logic (Russell Yanofsky)
-
6c5427d24c
wallet: Prevent "overrides a member function but is not marked 'override'" warnings
Because it is used inconsistently at least version 5.4.0 of g++ to complains about methods that don't use override. There is two ways to go about this: remove override from the methods having it, or add it to the methods missing it. I chose the second.
-
ba803efb68
Harden against mistakes handling invalid blocks
Fixes a bug in AcceptBlock() in invoking CheckBlock() with incorrect arguments, and restores a call to CheckBlock() from ProcessNewBlock() as belt-and-suspenders. Updates the (overspecified) tests to match behavior.
-
476cc47da0
Merge #9758: Selectively suppress deprecation warnings
4b6cccc Selectively suppress deprecation warnings (Jonas Schnelli)
-
7a93af8340
Merge #9756: Return error when importmulti called with invalid address.
9acf25c Return error when importmulti called with invalid address. (Russell Yanofsky)
-
07afcd6379
Add missing cs_wallet lock that triggers new lock held assertion
A new AssertLockHeld(cs_wallet) call was added in commit a58370e "Dedup nTimeFirstKey update logic" (part of PR #9108). The lock held assertion will fail when loading prexisting wallets files from before the #9108 merge that have watch-only keys.
-
1e92e041dd
Merge #9765: Harden against mistakes handling invalid blocks
ba803ef Harden against mistakes handling invalid blocks (Suhas Daftuar)
-
f8af89a918
Merge #9764: wallet: Prevent "overrides a member function but is not marked 'override'" warnings
6c5427d wallet: Prevent "overrides a member function but is not marked 'override'" warnings (Wladimir J. van der Laan)
-
e43a58514d
Merge #9771: Add missing cs_wallet lock that triggers new lock held assertion
07afcd6 Add missing cs_wallet lock that triggers new lock held assertion (Russell Yanofsky)
-
[Trivial] Update comments referencing main.cpp 00e623d0b8
-
8743320d6c
Merge #9763: [Trivial] Update comments referencing main.cpp
00e623d [Trivial] Update comments referencing main.cpp (CryptAxe)
-
8be0866883
[qa] Simplify import-rescan.py
Get rid of partial functions so the test can be more easily extended to add more variants of imports with options that affect rescanning (e.g. different key timestamps). Also change the second half of the test to send /to/ the imported addresses, instead of /from/ the imported addresses. The goal of this part of the test was to confirm that the wallet would pick up new transactions after an import regardless of whether or not a rescan happened during the import. But because the wallet can only do this reliably for incoming transactions and not outgoing transactions (which require the wallet to look up transaction inputs) the test previously was less meaningful than it should have been.
-
[qa] Extend import-rescan.py to test specific key timestamps c28583d062
-
[qa] Extend import-rescan.py to test imports on pruned nodes. 38d3e9ee59
-
afae75fd3d
Merge #9675: Fix typo and spelling inconsistency in CONTRIBUTING.md
36164fa Fix typo and spelling inconsistency in CONTRIBUTING.md (Koki Takahashi)
-
e662af3583
Use 2 hour grace period for key timestamps in importmulti rescans
Gregory Maxwell <greg@xiph.org> pointed out the lack of grace period in https://github.com/bitcoin/bitcoin/pull/9490#issue-199407998. The importwallet RPC which uses key timestamps in a similar way already has a 2 hour grace period.
-
Update nMinimumChainWork and defaultAssumeValid. 3f78e460ba
-
Add two hour buffer to manual pruning 91fb506e0a
-
55c403b8fe
Ensure `-maxsigcachesize` is in valid range
- If the -maxsigcachesize parameter is set to zero, setup a minimum sized sigcache (2 elements) rather than segfaulting. - Handle maxsigcachesize being negative - Handle maxsigcachesize being too large
-
8dee822177
Merge #9777: Handle unusual maxsigcachesize gracefully
55c403b Ensure `-maxsigcachesize` is in valid range (John Newbery)
-
3c02b95740
Merge #9779: Update nMinimumChainWork and defaultAssumeValid.
3f78e46 Update nMinimumChainWork and defaultAssumeValid. (Gregory Maxwell)
-
ad168ef4e3
Merge #9778: Add two hour buffer to manual pruning
91fb506 Add two hour buffer to manual pruning (Alex Morcos)
-
9828f9a996
Merge #9761: Use 2 hour grace period for key timestamps in importmulti rescans
e662af3 Use 2 hour grace period for key timestamps in importmulti rescans (Russell Yanofsky) 38d3e9e [qa] Extend import-rescan.py to test imports on pruned nodes. (Russell Yanofsky) c28583d [qa] Extend import-rescan.py to test specific key timestamps (Russell Yanofsky) 8be0866 [qa] Simplify import-rescan.py (Russell Yanofsky)
-
f87e8f5392
build: bump version to 0.14.99
Now that 0.14 branch has been split off, master is 0.14.99 (pre-0.15). Also clean out release notes.
-
Various review markups for rpc-tests.py improvements a6a3e58c48
-
Make KEY_SIZE a compile-time constant 914fad155d
-
Move BIP70_MAX_PAYMENTREQUEST_SIZE to header c801c82e25
-
3301587dc5
boost: remove iostreams includes
They're unused and produce nasty deprecation warnings
-
df42bcdbfe
Merge #9785: Avoid variable length arrays
c801c82 Move BIP70_MAX_PAYMENTREQUEST_SIZE to header (Pieter Wuille) 914fad1 Make KEY_SIZE a compile-time constant (Pieter Wuille)
-
12f46fa7d8
Merge #9786: boost: remove iostreams includes
3301587 boost: remove iostreams includes (Cory Fields)
-
8e5cca027f
gitian: bump descriptors for master
This was skipped for the 0.14 cycle.
-
Avoid VLA in hash.h 5c8fd50811
-
50a226563c
Merge #9788: gitian: bump descriptors for master
8e5cca0 gitian: bump descriptors for master (Cory Fields)
-
8efd1c820b
Merge #9744: Remove unused module from rpc-tests
a432aa0 Remove unused module from rpc-tests (Takashi Mitsuta)
-
eb4910193a
doc: Update manpages for master
(cherry picked from commit 268c390d02d99a4a93a0a01221e273d2b9695ff7)
-
aa5fa642b0
Merge #9696: [trivial] Fix recently introduced typos in comments
0c9b9b7 [trivial] Fix recently introduced typos in comments (practicalswift)
-
7ff4a538a8
Merge #9657: Improve rpc-tests.py
a6a3e58 Various review markups for rpc-tests.py improvements (John Newbery) 3de3ccd Refactor rpc-tests.py (John Newbery) afd38e7 Improve rpc-tests.py arguments (John Newbery) 91bffff Use argparse in rpc_tests.py (John Newbery) 1581ecb Use configparser in rpc-tests.py (John Newbery)
-
1f9e904f45
Merge #9791: Avoid VLA in hash.h
5c8fd50 Avoid VLA in hash.h (Pieter Wuille)
-
390a39bb5c
Merge #9795: doc: Update manpages for master (laanwj)
eb49101 doc: Update manpages for master (Wladimir J. van der Laan)
- fanquake closed this on Feb 20, 2017
- MarcoFalke locked this on Sep 8, 2021
Contributors