Merge real blockchain changes #7

Merged
jackrobison merged 2014 commits from real2 into master 2016-06-29 22:49:15 +02:00

2014 commits

Author SHA1 Message Date
Jack
546edc04db os x build script 2016-06-22 15:08:45 -04:00
Jack
4d4e693788 merge realnewpow2 2016-06-22 10:04:22 -04:00
kkurokawa
131006b10d Switching to digishield difficulty retargeting algorithm
merge from kaykurokawa/lbrycrd
2016-06-20 17:34:02 -04:00
Jimmy Kiselak
e0a08c220d Merge branch 'withjackscommits' into real2 2016-06-18 15:28:27 -04:00
Jimmy Kiselak
7e3d0d9f8f Merge branch 'withjackscommits' into realnewpow2 2016-06-18 09:21:29 -04:00
Jack
ed381288f1 register mining commands 2016-06-18 09:20:26 -04:00
Jack
e8212f3eb7 add more dns seeds 2016-06-18 09:20:26 -04:00
Jack
ae72d636db merge claimtrie-commands 2016-06-18 09:20:26 -04:00
Jack Robison
34d3d467b5 checkout real branch and don't build for generic32 2016-06-18 09:20:26 -04:00
Jack Robison
b4e19e9ca4 add testnet node 2016-06-18 09:20:26 -04:00
Jack Robison
cada713b1d update node ip 2016-06-18 09:20:26 -04:00
Jack Robison
6fc0a906d3 update seeds 2016-06-18 09:20:26 -04:00
Jack Robison
20d80ef90c add libevent 2016-06-18 09:20:26 -04:00
Jimmy Kiselak
c09b81d37e new PoW hash function 2016-06-17 22:44:51 -04:00
Jimmy Kiselak
864533c699 use PoW hash in test_bitcoin, use pound defs for generating genesis block 2016-06-17 22:34:48 -04:00
Jimmy Kiselak
e190551cb2 put chain params in pound defs 2016-06-06 22:16:04 -04:00
Jimmy Kiselak
e08d765f11 Merge branch 'master' of https://github.com/bitcoin/bitcoin into realusmerge
Conflicts:
	Makefile.am
	README.md
	configure.ac
	contrib/seeds/nodes_main.txt
	qa/rpc-tests/decodescript.py
	qa/rpc-tests/test_framework/util.py
	src/Makefile.am
	src/Makefile.qt.include
	src/Makefile.qttest.include
	src/Makefile.test.include
	src/bitcoin-cli-res.rc
	src/bitcoin-cli.cpp
	src/bitcoin-tx.cpp
	src/bitcoind.cpp
	src/chainparams.cpp
	src/chainparamsseeds.h
	src/init.cpp
	src/main.cpp
	src/main.h
	src/miner.cpp
	src/net.cpp
	src/primitives/block.cpp
	src/rpc/mining.cpp
	src/rpc/rawtransaction.cpp
	src/rpc/server.cpp
	src/rpcserver.h
	src/script/interpreter.cpp
	src/script/script.cpp
	src/script/script.h
	src/test/alert_tests.cpp
	src/test/data/alertTests.raw
	src/test/data/script_invalid.json
	src/test/data/script_valid.json
	src/test/data/tx_invalid.json
	src/test/data/tx_valid.json
	src/test/miner_tests.cpp
	src/test/script_tests.cpp
	src/test/test_bitcoin.cpp
	src/test/test_bitcoin.h
	src/test/transaction_tests.cpp
	src/timedata.cpp
	src/util.cpp
	src/wallet/rpcwallet.cpp
	src/wallet/wallet.cpp
	src/wallet/wallet.h
2016-05-15 22:16:56 -04:00
Wladimir J. van der Laan
d289950180
Merge #7900: fix spelling mistake
3107c47 fix spelling mistake (Chris Moore)
2016-04-18 14:15:12 +02:00
Wladimir J. van der Laan
9eb7565cdd
Merge #7897: add missing newline
dc0693f add missing newline (Chris Moore)
2016-04-18 14:14:30 +02:00
Wladimir J. van der Laan
88616d2008
Merge #7848: Divergence between 32- and 64-bit when hashing >4GB affects gettxoutsetinfo
28b400f doc: update release-notes for `gettxoutsetinfo` change (Wladimir J. van der Laan)
76212bb rpc: make sure `gettxoutsetinfo` hash has txids (Wladimir J. van der Laan)
9ad1a51 crypto: bytes counts are 64 bit (Wladimir J. van der Laan)
2016-04-18 12:48:09 +02:00
Wladimir J. van der Laan
b1bf511af6
Merge #7833: tests: Check Content-Type header returned from RPC server
5078ca4 tests: Check Content-Type header returned from RPC server (Wladimir J. van der Laan)
2016-04-18 12:45:04 +02:00
Wladimir J. van der Laan
ec870e1399
Merge #7888: prevector: fix 2 bugs in currently unreached code paths
a7af72a prevector::swap: fix (unreached) data corruption (Kaz Wesley)
4ed41a2 test prevector::swap (Kaz Wesley)
1e2c29f prevector: destroy elements only via erase() (Kaz Wesley)
2016-04-18 12:42:14 +02:00
Chris Moore
3107c475a7 fix spelling mistake 2016-04-17 00:01:49 -07:00
Jimmy Kiselak
a78dfae04f get tests passing for new block rewards, change initial reward to 400M 2016-04-16 18:42:11 -04:00
Chris Moore
dc0693f637 add missing newline
Without the newline I see "bein" where the two lines are concatenated:

Note that all inputs selected must be of standard form and P2SH scripts must *bein* the wallet using importaddress or addmultisigaddress (to calculate fees).
2016-04-16 13:42:28 -07:00
Jeremy Kauffman
76b40a0ab4 ramp up block rewards during test window 2016-04-16 14:59:29 -04:00
Jimmy Kiselak
3b5a316c64 include claimtriehash in rpc call for block header 2016-04-16 14:50:22 -04:00
Kaz Wesley
a7af72a697 prevector::swap: fix (unreached) data corruption
swap was using an incorrect condition to determine when to apply an optimization
(not swapping the full direct[] when swapping two indirect prevectors).

Rather than correct the optimization I'm removing it for simplicity. Removing
this optimization minutely improves performance in the typical (currently only)
usage of member swap(), which is swapping with a freshly value-initialized
object.
2016-04-16 08:05:11 -07:00
Kaz Wesley
4ed41a2b61 test prevector::swap
- add a swap operation to prevector tests (fails due to broken prevector::swap)
- fix 2 prevector test operation conditions that were impossible
2016-04-16 08:05:11 -07:00
Kaz Wesley
1e2c29f263 prevector: destroy elements only via erase()
Fixes a bug in which pop_back did not call the deleted item's destructor.

Using the most general erase() implementation to implement all the others
prevents similar bugs because the coupling between deallocation and destructor
invocation only needs to be maintained in one place.
Also reduces duplication of complex memmove logic.
2016-04-16 08:05:11 -07:00
Jimmy Kiselak
f2ebd4bcd4 fix address prefix tests and change difficulty readjustment interval 2016-04-16 02:16:32 -04:00
Wladimir J. van der Laan
28b400f7d1 doc: update release-notes for gettxoutsetinfo change 2016-04-15 18:03:10 +02:00
Wladimir J. van der Laan
76212bbc6a rpc: make sure gettxoutsetinfo hash has txids
The key (transaction id for the following outputs) should be serialized
to the HashWriter.

This is a problem as it means different transactions in the same
position with the same outputs will potentially result in the same hash.

Fixes primary concern of #7758.
2016-04-15 18:03:05 +02:00
Wladimir J. van der Laan
9ad1a51857 crypto: bytes counts are 64 bit
Byte counts for SHA256, SHA512, SHA1 and RIPEMD160 must be 64 bits.
`size_t` has a different size per platform, causing divergent results
when hashing more than 4GB of data.
2016-04-15 16:44:23 +02:00
Wladimir J. van der Laan
73fc922ed6
Merge #7603: Build System: Use PACKAGE_TARNAME in NSIS script
0528e30 Remove wxwidgets references from NSIS script. (JeremyRand)
26880c3 build: Use PACKAGE_TARNAME and new bin names in NSIS script. (JeremyRand)
0dbf6e4 build: define base filenames for use elsewhere in the buildsystem (Cory Fields)
2016-04-15 16:43:44 +02:00
Wladimir J. van der Laan
9e47fcec17
Merge #7756: Add cursor to iterate over utxo set, use this in gettxoutsetinfo
509cb00 txdb: Add Cursor() method to CCoinsView to iterate over UTXO set (Wladimir J. van der Laan)
2016-04-15 16:43:21 +02:00
Wladimir J. van der Laan
509cb006d5 txdb: Add Cursor() method to CCoinsView to iterate over UTXO set
Add a method Cursor() to CCoinsView that returns a cursor which can be
used to iterate over the whole UTXO set.

- rpc: Change gettxoutsetinfo to use new Cursor method

- txdb: Remove GetStats method - Now that GetStats is implemented in
  terms of Cursor, remove it.
2016-04-15 16:33:05 +02:00
Wladimir J. van der Laan
be14ca5e8c
Merge #7518: Add multiple options to fundrawtransaction
f2d0944 Add lockUnspents option to fundrawtransaction (João Barbosa)
af4fe7f Add change options to fundrawtransaction (João Barbosa)
41e835d Add strict flag to RPCTypeCheckObj (João Barbosa)
2016-04-15 16:24:02 +02:00
João Barbosa
f2d0944eb3 Add lockUnspents option to fundrawtransaction 2016-04-15 15:36:05 +02:00
João Barbosa
af4fe7fd12 Add change options to fundrawtransaction 2016-04-15 15:36:05 +02:00
João Barbosa
41e835dd50 Add strict flag to RPCTypeCheckObj
Strict flag forces type check on all object keys.
2016-04-15 14:55:52 +02:00
Wladimir J. van der Laan
a4ca44d276
Merge #7870: [contrib] Add MarcoFalke key and move all keys to contrib/gitian-keys
faf4c83 [gitian] Move keys to contrib/gitian-keys (MarcoFalke)
fa93936 [gitian] Add marcofalke-key.pgp (MarcoFalke)
2016-04-15 13:16:33 +02:00
MarcoFalke
faf4c837fb [gitian] Move keys to contrib/gitian-keys 2016-04-15 11:58:46 +02:00
MarcoFalke
fa93936691 [gitian] Add marcofalke-key.pgp 2016-04-15 11:58:25 +02:00
Wladimir J. van der Laan
64e71b3721
Merge #7856: Only send one GetAddr response per connection.
66b0724 Only send one GetAddr response per connection. (Gregory Maxwell)
2016-04-15 09:03:17 +02:00
Wladimir J. van der Laan
efc059322c
Merge #7877: Change mapRelay to store CTransactions
38c3102 Change mapRelay to store CTransactions (Pieter Wuille)
2016-04-15 08:59:40 +02:00
Wladimir J. van der Laan
bbd210d927
Merge #7809: depends: some base fixes/changes
11d9f6b depends: qt/cctools: fix checksum checksum tests (Cory Fields)
bb717f4 depends: fix "unexpected operator" error during "make download" (Cory Fields)
fe740f1 depends: fix fallback downloads (Cory Fields)
dc4ec6d depends: create a hostid and buildid and add option for salts (Cory Fields)
2016-04-15 08:58:30 +02:00
Wladimir J. van der Laan
cabba24a5b
Merge #7798: [travis] Print the commit which was evaluated
fac9ca2 [travis] echo $TRAVIS_COMMIT_RANGE (MarcoFalke)
faef3b7 [travis] Print the commit which was evaluated (MarcoFalke)
2016-04-15 08:42:26 +02:00
Wladimir J. van der Laan
48c5adfbce
Merge #6215: add bip32 pub key serialization
90604f1 add bip32 pubkey serialization (Jonas Schnelli)
2016-04-15 07:59:38 +02:00
Wladimir J. van der Laan
53adc8310d
Merge #7878: [test] bctest.py: Revert faa41ee
fa7abe0 [test] bctest.py: Revert faa41ee (MarcoFalke)
2016-04-15 07:56:07 +02:00
Jimmy Kiselak
0c6e9d1eca change address prefixes 2016-04-14 22:02:44 -04:00
Jonas Schnelli
90604f16af
add bip32 pubkey serialization
CExtPubKey should be serializable like CPubKey
2016-04-14 20:56:33 +02:00
MarcoFalke
fa7abe0a00 [test] bctest.py: Revert faa41ee 2016-04-14 19:39:53 +02:00
Wladimir J. van der Laan
e6a4d48a9b
Merge #7874: Improve AlreadyHave
c6cb6f7 Avoid unnecessary database access for unknown transactions (Alex Morcos)
2016-04-14 17:54:42 +02:00
Wladimir J. van der Laan
6ef5e000a2
Merge #7853: [qa] py2: Unfiddle strings into bytes explicitly
faa41ee [qa] py2: Unfiddle strings into bytes explicitly (MarcoFalke)
2016-04-14 17:40:31 +02:00
Wladimir J. van der Laan
430fffefaa
Merge #7812: Tiny refactor of IsRBFOptIn, avoid exception
4f7c959 Refactor IsRBFOptIn, avoid exception (Jonas Schnelli)
2016-04-14 16:35:02 +02:00
Pieter Wuille
38c310299c Change mapRelay to store CTransactions 2016-04-14 16:24:56 +02:00
Wladimir J. van der Laan
d97101e5a8
Merge #7842: RPC: do not print minping time in getpeerinfo when no ping received yet
62a6486 RPC: do not print ping info in getpeerinfo when no ping received yet, fix help (Pavel Janík)
2016-04-14 16:09:53 +02:00
Wladimir J. van der Laan
491171f929
Merge #7846: Clean up lockorder data of destroyed mutexes
5eeb913 Clean up lockorder data of destroyed mutexes (Pieter Wuille)
2016-04-14 15:47:08 +02:00
Wladimir J. van der Laan
97d0b9889f
Merge #7862: Use txid as key in mapAlreadyAskedFor
7e91f63 Use txid as key in mapAlreadyAskedFor (Suhas Daftuar)
2016-04-14 14:55:01 +02:00
Wladimir J. van der Laan
ab8586e667
Merge #7849: tests: add varints_bitpatterns test
4521f00 tests: add varints_bitpatterns test (Wladimir J. van der Laan)
2016-04-14 14:46:13 +02:00
Wladimir J. van der Laan
229a17ca91
Merge #7850: Removed call to TryCreateDirectory from GetDefaultDataDir in src/util.cpp.
41dbc48 Removed call to `TryCreateDirectory` from `GetDefaultDataDir` in `src/util.cpp`. (Alexander Regueiro)
2016-04-14 13:38:49 +02:00
Wladimir J. van der Laan
3911a0a1b7
Merge #7818: Refactor script tests
dde46d3 Merge script_valid and script_invalid tests (Pieter Wuille)
009b503 Get rid of expect in script_tests as it's implied by scripterror (Pieter Wuille)
76da761 Make script_error a mandatory 4th field for script_tests (Pieter Wuille)
269281b Fix some misconstructed tests (Pieter Wuille)
d03e466 Fix formatting of NOPs for generated script tests (Pieter Wuille)
c7c6641 Fix JSON pretty printing in script_tests (Pieter Wuille)
2016-04-14 13:27:41 +02:00
Wladimir J. van der Laan
3eae681493
Merge #7847: doc: add arch linux build example
fe53a2a doc: add arch linux setup and build example [skip ci] (mruddy)
2016-04-14 12:16:00 +02:00
Wladimir J. van der Laan
72c54e3883
Merge #7863: getblockchaininfo: make bip9_softforks an object, not an array.
d12760b rpc-tests: handle KeyError nicely in test_framework.py (Rusty Russell)
85c807c getblockchaininfo: make bip9_softforks an object, not an array. (Rusty Russell)
2016-04-14 12:14:42 +02:00
Wladimir J. van der Laan
b778e5993a
Merge #7855: [doc] gitian: Replace precise with trusty
fa6399d [doc] gitian: Replace precise with trusty (MarcoFalke)
2016-04-14 12:09:58 +02:00
Wladimir J. van der Laan
536b75e946
Merge #7796: [amount] Add support for negative fee rates
facf5a4 [amount] tests: Fix off-by-one mistake (MarcoFalke)
fa2da2c [amount] Add support for negative fee rates (MarcoFalke)
11114a6 [amount] test negative fee rates and full constructor (MarcoFalke)
2016-04-14 12:07:52 +02:00
Wladimir J. van der Laan
8bb5d3dff4
Merge #7838: [Doc] Update gitian build guide to debian 8.4.0
4a1d5c1 [Doc] Update gitian build guide to debian 8.4.0 (fanquake)
2016-04-14 09:26:21 +02:00
Alex Morcos
c6cb6f7d4c Avoid unnecessary database access for unknown transactions 2016-04-13 16:02:46 -04:00
Rusty Russell
d12760b16a rpc-tests: handle KeyError nicely in test_framework.py
btcdrak wrote this for me.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-04-13 16:54:07 +09:30
Rusty Russell
85c807c9ea getblockchaininfo: make bip9_softforks an object, not an array.
We can't change "softforks", but it seems far more logical to use tags
in an object rather than using an "id" field in an array.

For example, to get the csv status before, you need to iterate the
array to find the entry with 'id' field equal to "csv":

   jq '.bip9_softforks | map(select(.id == "csv"))[] | .status'

Now:
   jq '.bip9_softforks.csv.status'

There is no issue with fork names being incompatible with JSON tags,
since we're selecting them ourselves.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-04-13 16:53:52 +09:30
Jimmy Kiselak
8bea2e7ad3 increase block size to 2 million bytes 2016-04-12 21:51:15 -04:00
Alexander Regueiro
41dbc4849e Removed call to TryCreateDirectory from GetDefaultDataDir in src/util.cpp.
See https://github.com/bitcoin/bitcoin/issues/7845#issuecomment-207684728.
Also refactored `GetDefaultDataDir` function to return path for Mac in one expression.
2016-04-13 00:11:47 +01:00
Pieter Wuille
514993554c
Merge #7828: Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage()
bf477bc Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage() (Jorge Timón)
2016-04-12 15:51:16 +02:00
Jimmy Kiselak
c775a2f8b4 bump up limit on maximum script element size 2016-04-11 22:31:26 -04:00
Jimmy Kiselak
60ddd1b89b limit claim script sizes to 2^13 bytes 2016-04-11 20:48:16 -04:00
Suhas Daftuar
7e91f632c7 Use txid as key in mapAlreadyAskedFor
Previously we used the CInv that would be sent to the peer announcing the
transaction as the key, but using the txid instead allows us to decouple the
p2p layer from the application logic (which relies on this map to avoid
duplicate tx requests).
2016-04-11 15:58:01 -04:00
Wladimir J. van der Laan
934f2b5e76
Merge #7858: Add jl2012 public key for gitian build
64c22be Add jl2012 public key for gitian build (Johnson Lau)
2016-04-11 12:57:31 +02:00
Johnson Lau
64c22be7a9 Add jl2012 public key for gitian build 2016-04-11 17:31:25 +08:00
fanquake
4a1d5c19ee [Doc] Update gitian build guide to debian 8.4.0 2016-04-11 17:19:01 +08:00
JeremyRand
0528e30a45 Remove wxwidgets references from NSIS script.
The NSIS script tried to delete wxwidgets-based executables/locales.  These files are ancient, and presumably no users have them anymore, so we can simplify the NSIS script by removing those lines.
2016-04-11 04:06:59 +00:00
JeremyRand
26880c34cd build: Use PACKAGE_TARNAME and new bin names in NSIS script.
Replaces the hardcoded string "bitcoin" with the autoconf variable PACKAGE_TARNAME; fixes #7265.

Places where I chose not to replace:

1. bitcoin.ico wasn't replaced because it doesn't seem to be relevant to the build system and its filename never affects the end user.
2. InstallDir wasn't replaced because the current text has an uppercase B, and I'm not sure of a good way to capitalize the result of PACKAGE_TARNAME.
3. A comment in the Main Installer section wasn't replaced because comments don't ever face the end user.
4. The registry value "URL:Bitcoin" wasn't replaced for the same reason as InstallDir.
5. Startup shortcut wasn't replaced for the same reason as InstallDir.

All other appearances of "bitcoin" were replaced with PACKAGE_TARNAME, except for the bin names, which were instead replaced with the new bin name autoconf variables.
2016-04-11 04:01:23 +00:00
Cory Fields
0dbf6e4b40 build: define base filenames for use elsewhere in the buildsystem
Unfortunately, the target namees defined at the Makefile.am level can't be used
for *.in substitution. So these new defines will have to stay synced up with
those targets.

Using the new variables for the deploy targets in the main Makefile.am will
ensure that they stay in sync, otherwise build tests will fail.
2016-04-11 04:01:23 +00:00
Gregory Maxwell
66b07247a7 Only send one GetAddr response per connection.
This conserves resources from abusive peers that just send
 getaddr in a loop. Also makes correlating addr messages
 against INVs less effective.
2016-04-11 01:09:34 +00:00
MarcoFalke
fa6399d918 [doc] gitian: Replace precise with trusty 2016-04-10 20:46:33 +02:00
MarcoFalke
faa41ee204 [qa] py2: Unfiddle strings into bytes explicitly 2016-04-10 20:35:57 +02:00
Pieter Wuille
5eeb913d6c Clean up lockorder data of destroyed mutexes
The lockorder potential deadlock detection works by remembering for each
lock A that is acquired while holding another B the pair (A,B), and
triggering a warning when (B,A) already exists in the table.

A and B in the above text are represented by pointers to the CCriticalSection
object that is acquired. This does mean however that we need to clean up the
table entries that refer to any critical section which is destroyed, as it
memory address can potentially be used for another unrelated lock in the future.

Implement this clean up by remembering not only the pairs in forward direction,
but also backward direction. This allows for fast iteration over all pairs that
use a deleted CCriticalSection in either the first or the second position.
2016-04-10 14:27:10 +02:00
MarcoFalke
facf5a4947 [amount] tests: Fix off-by-one mistake 2016-04-09 15:28:22 +02:00
mruddy
fe53a2af6f doc: add arch linux setup and build example
[skip ci]
2016-04-09 08:59:46 -04:00
Wladimir J. van der Laan
065c6b443f
Merge #7786: Doc: Update isStandardTx comment
03c77fd Doc: Update isStandardTx comment (Matthew English)
2016-04-09 12:13:21 +02:00
Pavel Janík
62a6486058 RPC: do not print ping info in getpeerinfo when no ping received yet, fix help 2016-04-09 09:51:57 +02:00
Wladimir J. van der Laan
4521f005a1 tests: add varints_bitpatterns test
The current tests for varint only check that
serialization-deserialization is a roundtrip. That is a useful test, but
it is also good to check for some exact bit patterns, to prevent a code
change that changes the serialization format from going undetected.

As the varint functions are templated, also check with different types.
2016-04-09 09:17:51 +02:00
Matthew English
03c77fdc14 Doc: Update isStandardTx comment 2016-04-08 23:22:39 +02:00
MarcoFalke
fa2da2cb60 [amount] Add support for negative fee rates
Currently negative fee rates are not supported on archs of 64-bit or
more
2016-04-08 19:59:53 +02:00
MarcoFalke
11114a69c8 [amount] test negative fee rates and full constructor 2016-04-08 19:59:44 +02:00
Wladimir J. van der Laan
0afac87e81
Merge #7835: Version 2 transactions remain non-standard until CSV activates
da5fdbb Test relay of version 2 transactions (Suhas Daftuar)
5cb1d8a Tests: move get_bip9_status to util.py (Suhas Daftuar)
e4ba9f6 Version 2 transactions remain non-standard until CSV activates (Suhas Daftuar)
2016-04-08 14:17:54 +02:00
Wladimir J. van der Laan
232592a71f
Merge #7570: Net: Add IPv6 Link-Local Address Support
eda3d92 Net: Add IPv6 Link-Local Address Support (mruddy)
2016-04-08 14:12:54 +02:00
Suhas Daftuar
da5fdbb3a2 Test relay of version 2 transactions 2016-04-07 14:59:50 -04:00
Suhas Daftuar
5cb1d8a207 Tests: move get_bip9_status to util.py 2016-04-07 14:54:50 -04:00
Suhas Daftuar
e4ba9f6b04 Version 2 transactions remain non-standard until CSV activates
Before activation, such transactions might not be mined, so don't
allow into the mempool.
2016-04-07 14:33:08 -04:00
Wladimir J. van der Laan
5078ca4543 tests: Check Content-Type header returned from RPC server
Check the Content-Type header that is returned from the RPC server. Only
if it is `application/json` the data is supposed to be parsed as JSON.

This gives better reporting if the HTTP server happens to return an error that is
not JSON-formatted, which is the case if it happens at a lower level
before JSON-RPC kicks in.

Before: `Unexpected exception caught during testing: No JSON object could be decoded`

After: `JSONRPC error: non-JSON HTTP response with '403 Forbidden' from server`
2016-04-07 15:40:17 +02:00
Wladimir J. van der Laan
5851915a00
Merge #7832: Reduce block timeout to 10 minutes
62b9a55 Reduce block timeout to 10 minutes (Wladimir J. van der Laan)
2016-04-07 13:52:39 +02:00
Wladimir J. van der Laan
62b9a557fc Reduce block timeout to 10 minutes
Now that #7804 fixed the timeout handling, reduce the block timeout from
20 minutes to 10 minutes. 20 minutes is overkill.
2016-04-07 13:22:27 +02:00
Wladimir J. van der Laan
1ddf0cee67
Merge #7804: Track block download times per individual block
0e24bbf Self check after the last peer is removed (Pieter Wuille)
2d1d658 Track block download times per individual block (Pieter Wuille)
2016-04-07 13:07:11 +02:00
Wladimir J. van der Laan
bbaf5976af
Merge #7821: init: allow shutdown during 'Activating best chain...'
07398e8 init: allow shutdown during 'Activating best chain...' (Wladimir J. van der Laan)
2016-04-07 12:59:10 +02:00
Pieter Wuille
0e24bbf679 Self check after the last peer is removed 2016-04-07 12:13:10 +02:00
Pieter Wuille
2d1d6581ec Track block download times per individual block
Currently, we're keeping a timeout for each requested block, starting
from when it is requested, with a correction factor for the number of
blocks in the queue.

That's unnecessarily complicated and inaccurate.

As peers process block requests in order, we can make the timeout for each
block start counting only when all previous ones have been received, and
have a correction based on the number of peers, rather than the total number
of blocks.
2016-04-07 12:13:10 +02:00
Jorge Timón
bf477bcc79 Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage() 2016-04-06 16:00:25 +02:00
Wladimir J. van der Laan
3bc71e1572
Merge #7802: [qa] httpbasics: Actually test second connection
fa24456 [qa] httpbasics: Actually test second connection (MarcoFalke)
2016-04-06 14:14:14 +02:00
Wladimir J. van der Laan
401c65c6b3
Merge #7803: [qa] maxblocksinflight: Actually enable test
fac724c [qa] maxblocksinflight: Actually enable test (MarcoFalke)
2016-04-06 14:13:38 +02:00
Wladimir J. van der Laan
70ac71b877
Merge #7801: [qa] Remove misleading "errorString syntax"
ffff866 [qa] Remove misleading "errorString syntax" (MarcoFalke)
2016-04-06 14:12:44 +02:00
Jonas Schnelli
4f7c959af1
Refactor IsRBFOptIn, avoid exception 2016-04-06 10:59:03 +02:00
Wladimir J. van der Laan
07398e8e9d init: allow shutdown during 'Activating best chain...'
Two-line patch to make it possible to shut down bitcoind cleanly during
the initial ActivateBestChain.

Fixes #6459 (among other complaints).

To reproduce:

- shutdown bitcoind
- copy chainstate
- start bitcoind
- let the chain sync a bit
- shutdown bitcoind
- copy back old chainstate
- start bitcoind
- bitcoind will catch up with all blocks during Init()

(the `boost::this_thread::interruption_point` / `ShutdownRequested()`
dance is ugly, this should be refactored all over bitcoind at some point
when moving from boost::threads to c++11 threads, but it works...)
2016-04-06 10:33:19 +02:00
mruddy
eda3d92489 Net: Add IPv6 Link-Local Address Support 2016-04-05 22:26:38 +00:00
Wladimir J. van der Laan
1b2460bd58
Merge #7793: [doxygen] Fix member comments
fada0c4 [doc] Fix doxygen comments for members (MarcoFalke)
2016-04-05 17:49:47 +02:00
Wladimir J. van der Laan
4dc1b3a296
Merge #7788: Use relative paths instead of absolute paths in protoc calls
0087f26 Use relative paths instead of absolute paths (Pavel Janík)
2016-04-05 17:38:41 +02:00
Wladimir J. van der Laan
e30a5b0aaa
Merge #7791: Doc: change Precise to Trusty in gitian-building.md
190c1e2 Doc: change Precise to Trusty in gitian-building.md (JeremyRand)
2016-04-05 16:21:21 +02:00
Pieter Wuille
dde46d3ae1 Merge script_valid and script_invalid tests 2016-04-05 16:11:47 +02:00
Wladimir J. van der Laan
916b15a87a
Merge #7774: RPC: add versionHex in getblock and getblockheader JSON results
92107d5 RPC: add versionHex in getblock and getblockheader JSON results; expand data in getblockchaininfo bip9_softforks field. (mruddy)
2016-04-05 16:09:17 +02:00
Pieter Wuille
009b503792 Get rid of expect in script_tests as it's implied by scripterror 2016-04-05 15:50:17 +02:00
Pieter Wuille
76da761351 Make script_error a mandatory 4th field for script_tests 2016-04-05 15:46:16 +02:00
Wladimir J. van der Laan
3cc0fb3a23
Merge #7776: build: Remove unnecessary executables from gitian release
f063863 build: Remove unnecessary executables from gitian release (Wladimir J. van der Laan)
2016-04-05 15:44:48 +02:00
Wladimir J. van der Laan
55db5f07b1
Merge #7781: devtools: Auto-set branch to merge to in github-merge
10d3ae1 devtools: Auto-set branch to merge to in github-merge (Wladimir J. van der Laan)
2016-04-05 15:41:34 +02:00
Wladimir J. van der Laan
214ec0b5e8
Merge #7813: [doc] Update port in tor.md
3373c43 [doc] Update port in tor.md (Adam Brown)
2016-04-05 15:40:10 +02:00
Adam Brown
3373c43505 [doc] Update port in tor.md
Tor Browser Bundle spawns the Tor process and listens on port 9150, it doesn't randomly pick a port.

[ci skip]
(cherry picked from commit 1b63cf98347b2a62915425576930f55c2126c2ff)
2016-04-05 14:54:39 +02:00
Pieter Wuille
269281b7cc Fix some misconstructed tests
They claimed to be testing P2SH scripts with non-push scriptSigs, but
1) they were not enabling P2SH
2) they have push-only scriptSigs

Fix this, and add a few more related cases.
2016-04-05 14:54:37 +02:00
Pieter Wuille
d03e46625a Fix formatting of NOPs for generated script tests 2016-04-05 14:54:37 +02:00
Pieter Wuille
c7c664191f Fix JSON pretty printing in script_tests 2016-04-05 14:54:33 +02:00
MarcoFalke
fac9ca2ec6 [travis] echo $TRAVIS_COMMIT_RANGE 2016-04-05 12:40:05 +02:00
Cory Fields
11d9f6b8b8 depends: qt/cctools: fix checksum checksum tests
Checksums were being verified after download, but not again before extraction
2016-04-04 19:26:45 -04:00
Cory Fields
bb717f4375 depends: fix "unexpected operator" error during "make download" 2016-04-04 19:26:44 -04:00
Cory Fields
fe740f1469 depends: fix fallback downloads
In some cases, failed downloads wouldn't trigger a fallback download attempt.
Namely, checksum mismatches.
2016-04-04 19:26:44 -04:00
Cory Fields
dc4ec6d3db depends: create a hostid and buildid and add option for salts
These add very simple sanity checks to ensure that the build/host toolchains
have not changed since the last run. If they have, all ids will change and
packages will be rebuilt.

For more complicated usage (like parsing dpkg), HOST_ID_SALT/BUILD_ID_SALT may
be used to introduce arbitrary data to the ids.
2016-04-04 19:26:44 -04:00
mruddy
92107d574d RPC: add versionHex in getblock and getblockheader JSON results; expand data in getblockchaininfo bip9_softforks field. 2016-04-04 22:21:00 +00:00
Pavel Janík
0087f26848 Use relative paths instead of absolute paths 2016-04-04 19:56:59 +02:00
Jonas Schnelli
a9149688f8
Merge #7707: [RPC][QT] UI support for abandoned transactions
8efed3b [Qt] Support for abandoned/abandoning transactions (Jonas Schnelli)
2016-04-04 09:58:33 +02:00
Jonas Schnelli
8efed3bc93
[Qt] Support for abandoned/abandoning transactions 2016-04-04 09:25:34 +02:00
MarcoFalke
ffff866da8 [qa] Remove misleading "errorString syntax" 2016-04-03 21:33:56 +02:00
MarcoFalke
fac724c78f [qa] maxblocksinflight: Actually enable test 2016-04-03 20:49:32 +02:00
MarcoFalke
fa24456d0c [qa] httpbasics: Actually test second connection 2016-04-03 20:43:56 +02:00
Wladimir J. van der Laan
e662a76288
Merge #7797: RPC: fix generatetoaddress failing to parse address
60361ca RPC: fix generatetoaddress failing to parse address and add unit test (mruddy)
2016-04-03 17:34:00 +02:00
mruddy
60361ca481 RPC: fix generatetoaddress failing to parse address and add unit test 2016-04-03 14:30:00 +00:00
Wladimir J. van der Laan
ff5874bcf7
Merge #7778: [qa] Bug fixes and refactor
4444806 [qa] mininode: Combine struct.pack format strings (MarcoFalke)
faaa3c9 [qa] mininode: Catch exceptions in got_data (MarcoFalke)
fa2cea1 [qa] rpc-tests: Properly use integers, floats (MarcoFalke)
fa524d9 [qa] Use python2/3 syntax (MarcoFalke)
2016-04-03 15:54:35 +02:00
Wladimir J. van der Laan
f063863d1f build: Remove unnecessary executables from gitian release
This removes the following executables from the binary gitian release:

- test_bitcoin-qt[.exe]
- bench_bitcoin[.exe]

@jonasschnelli and me discussed this on IRC a few days ago - unlike the
normal `bitcoin_tests` which is useful to see if it is safe to run
bitcoin on a certain OS/environment combination, there is no good reason
to include these. Better to leave them out to reduce the download
size.

Sizes from the 0.12 release:
```
2.4M bitcoin-0.12.0/bin/bench_bitcoin.exe
 22M bitcoin-0.12.0/bin/test_bitcoin-qt.exe
```
2016-04-03 15:11:44 +02:00
Wladimir J. van der Laan
e0b3e19816
Merge #7789: [Doc] Add note about using the Qt official binary installer.
4b9dfd6 Add note about using the Qt official binary installer. (Pavel Janík)
2016-04-03 15:06:41 +02:00
MarcoFalke
faef3b710f [travis] Print the commit which was evaluated 2016-04-03 14:50:49 +02:00
MarcoFalke
fada0c422c [doc] Fix doxygen comments for members 2016-04-03 11:58:01 +02:00
JeremyRand
190c1e234d Doc: change Precise to Trusty in gitian-building.md
2cecb24600 changed "precise" to "trusty" in the shell command, but didn't change the text above it accordingly.  This commit fixes that.
2016-04-02 22:10:28 +00:00
Pavel Janík
4b9dfd6d81 Add note about using the Qt official binary installer. 2016-04-02 18:54:12 +02:00
MarcoFalke
444480649f [qa] mininode: Combine struct.pack format strings 2016-04-02 11:48:07 +02:00
Wladimir J. van der Laan
30c2dd8d05
Merge #7691: [Wallet] refactor wallet/init interaction
25340b7 [Wallet] refactor wallet/init interaction (Jonas Schnelli)
2016-04-02 11:07:39 +02:00
Wladimir J. van der Laan
a67bc5e128
Merge #7711: [build-aux] Update Boost & check macros to latest serials
cf5c786 [build-aux] Update Boost & check macros to latest serials (fanquake)
2016-04-02 08:15:11 +02:00
Wladimir J. van der Laan
10d3ae102a devtools: Auto-set branch to merge to in github-merge
As we are already using the API to retrieve the pull request
title, also retrieve the base branch.

This makes sure that pull requests for 0.12 automatically end up in
0.12, and pull requests for master automatically end up in master,
and so on.

It is still possible to override the branch from the command line
or using the `githubmerge.branch` git option.
2016-04-02 08:13:49 +02:00
Wladimir J. van der Laan
c4df72bafc
Merge #7785: Trivial: Fix typo: Optimizaton -> Optimization [skip ci]
a22bde9 Fix typo: Optimizaton -> Optimization (paveljanik)
2016-04-02 07:15:01 +02:00
Jimmy Kiselak
df370a367f switch to dedicated PoW hash function for CheckProofOfWork 2016-04-01 21:37:44 -04:00
paveljanik
a22bde9449 Fix typo: Optimizaton -> Optimization 2016-04-01 21:31:48 +02:00
MarcoFalke
faaa3c9b65 [qa] mininode: Catch exceptions in got_data 2016-04-01 21:23:49 +02:00
MarcoFalke
fa2cea163b [qa] rpc-tests: Properly use integers, floats 2016-04-01 21:23:30 +02:00
Wladimir J. van der Laan
e9723cb273
Merge #7489: tests: Make proxy_test work on travis servers without IPv6
7539f1a tests: Make proxy_test work on travis servers without IPv6 (Wladimir J. van der Laan)
2016-04-01 14:42:26 +02:00
MarcoFalke
fa524d9ddb [qa] Use python2/3 syntax 2016-03-31 18:35:17 +02:00
Wladimir J. van der Laan
28ad4d9fc2
Merge #7477: Fix quoting of copyright holders in configure.ac.
72fd008 Fix quoting of copyright holders in configure.ac. (Daniel Kraft)
2016-03-31 14:28:45 +02:00
Jonas Schnelli
6383268893
Merge #7772: Clear the input line after activating autocomplete
ae2156f Clear the input line after activating autocomplete (Pavel Janík)
2016-03-31 14:14:04 +02:00
Wladimir J. van der Laan
209dbeb05f
Merge #7747: [docs] added depends cross compile info
3e55b3a [doc] added depends cross compile info (accraze)
2016-03-31 13:25:30 +02:00
Wladimir J. van der Laan
3081fb9a31
Merge #7763: Put hex-encoded version in UpdateTip
eff736e Reformat version in UpdateTip and other messages (Pieter Wuille)
2016-03-31 13:24:50 +02:00
Pieter Wuille
eff736e55e Reformat version in UpdateTip and other messages
Also remove the hardly-readable nBits from UpdateTip's log message.
2016-03-31 12:28:34 +02:00
Wladimir J. van der Laan
7c80e72040
Merge #7773: Fix comments in tests
40234ba Fix comments in tests (BtcDrak)
2016-03-31 11:08:13 +02:00
Wladimir J. van der Laan
16555b658f
Merge #7766: rpc: Register calls where they are defined
fb8a8cf rpc: Register calls where they are defined (Wladimir J. van der Laan)
2016-03-31 10:55:15 +02:00
Wladimir J. van der Laan
fb8a8cf2e6 rpc: Register calls where they are defined
Split out methods to every module, apart from 'help' and 'stop' which
are implemented in rpcserver.cpp itself.

- This makes it easier to add or remove RPC commands - no longer everything that includes
    rpcserver.h has to be rebuilt when there's a change there.
- Cleans up `rpc/server.h` by getting rid of the huge cluttered list of function definitions.
- Removes most of the bitcoin-specific code from rpcserver.cpp and .h.

Continues #7307 for the non-wallet.
2016-03-31 10:48:32 +02:00
BtcDrak
40234ba89f Fix comments in tests 2016-03-30 19:38:02 +01:00
Pavel Janík
ae2156f123 Clear the input line after activating autocomplete 2016-03-30 20:26:10 +02:00
Wladimir J. van der Laan
e8a8f3d4b2
Merge #7648: BIP9 versionbits softfork for BIP68, BIP112 and BIP113
71527a0 Test of BIP9 fork activation of mtp, csv, sequence_lock (NicolasDorier)
19d73d5 Add RPC test for BIP 68/112/113 soft fork. (Alex Morcos)
12c89c9 Policy: allow transaction version 2 relay policy. (BtcDrak)
02c2435 Soft fork logic for BIP68 (BtcDrak)
478fba6 Soft fork logic for BIP113 (BtcDrak)
65751a3 Add CHECKSEQUENCEVERIFY softfork through BIP9 (Pieter Wuille)
2016-03-30 18:59:39 +02:00
accraze
3e55b3a004 [doc] added depends cross compile info 2016-03-30 07:29:56 -07:00
Wladimir J. van der Laan
60db51dcb2
Merge #7761: [Qt] remove trailing output-index from transaction-id
7d5e31a [Qt] remove trailing output-index from transaction-id (Jonas Schnelli)
2016-03-30 15:44:43 +02:00
Wladimir J. van der Laan
352fd57729
Merge #7573: P2P: add maxtimeadjustment command line option
e1523ce P2P: add maxtimeadjustment command line option (mruddy)
2016-03-30 09:31:51 +02:00
Jimmy Kiselak
dfa15c9df1 change Bitcoin to LBRYcrd in some messages, and reduce the initial reward to 350,000,000 LBC 2016-03-29 21:40:58 -04:00
Wladimir J. van der Laan
5131005e5b
Merge #7723: build: python 3 compatibility
18f05c7 build: python 3 compatibility (Wladimir J. van der Laan)
2016-03-29 17:22:46 +02:00
Wladimir J. van der Laan
18f05c765c build: python 3 compatibility
Ubuntu 16.04 "xenial xerus" does not come with Python 2.x by default.
It is possible to install a python-2.7 package, but this has its own
problem: no `python` or `python2` symlink (see #7717).

This fixes the following scripts to work with python 3:
- `make check` (bctest,py, bitcoin-util-test.py)
- `make translate` (extract_strings_qt.py)
- `make symbols-check` (symbol-check.py)
- `make security-check` (security-check.py)

Explicitly call the python commands using $(PYTHON) instead
of relying on the interpreter line at the top of the scripts.
2016-03-29 17:20:16 +02:00
Wladimir J. van der Laan
d8e862a5a7
Merge #7744: test_framework: detect failure of bitcoind startup
018b60c test_framework: detect failure of bitcoind startup (Wladimir J. van der Laan)
2016-03-29 17:16:30 +02:00
Wladimir J. van der Laan
a65b36ce35
Merge #7764: [qa] Don't run pruning.py twice
faa9f01 [qa] Don't run pruning.py twice (MarcoFalke)
2016-03-29 17:07:16 +02:00
MarcoFalke
faa9f01461 [qa] Don't run pruning.py twice 2016-03-29 16:49:45 +02:00
mruddy
e1523cee58 P2P: add maxtimeadjustment command line option 2016-03-29 14:40:00 +00:00
Jonas Schnelli
7d5e31a82b
[Qt] remove trailing output-index from transaction-id
The trailing output-index leads to cases where the user can't look-up the transaction ID in various systems.
2016-03-29 11:23:44 +02:00
Wladimir J. van der Laan
b35a591793
Merge #7558: [RPC] Add import/removeprunedfunds rpc call
f1bb13c Added companion removeprunedfunds call. (instagibbs)
7eb7029 Add importprunedfunds rpc call (instagibbs)
2016-03-29 11:15:02 +02:00
Wladimir J. van der Laan
2676e12016
Merge #7742: [Wallet][RPC] add missing abandon status documentation
cef8bdf [Wallet][RPC] add missing abandon status documentation (Jonas Schnelli)
2016-03-29 11:10:57 +02:00
Wladimir J. van der Laan
aa0d2b2631
Merge #7737: devtools: make github-merge.py use py3
f11c5a3 devtools: make github-merge.py use py3 (Wladimir J. van der Laan)
2016-03-29 11:08:16 +02:00
Wladimir J. van der Laan
26794d4645
Merge #7757: [qa] wallet: Wait for reindex to catch up
fa3fafc [qa] wallet: Wait for reindex to catch up (MarcoFalke)
2016-03-29 09:33:02 +02:00
Jonas Schnelli
cef8bdf5d7
[Wallet][RPC] add missing abandon status documentation 2016-03-29 08:43:08 +02:00
MarcoFalke
fa3fafc960 [qa] wallet: Wait for reindex to catch up 2016-03-28 21:47:42 +02:00
Wladimir J. van der Laan
84370d58ff
Merge #7751: test_framework: python3.4 authproxy compat
e7e48ba test_framework: Py3.4 compat: Specify timeout parameter by name (Luke Dashjr)
d7b80b5 test_framework: Avoid infinite loop in encoding Decimal (Wladimir J. van der Laan)
2016-03-28 13:26:04 +02:00
Luke Dashjr
e7e48ba66c test_framework: Py3.4 compat: Specify timeout parameter by name
Changed in version 3.4: The strict parameter was removed. HTTP 0.9-style
“Simple Responses” are not longer supported.
(https://docs.python.org/3/library/http.client.html)

Source: 7ebeebb4f6
2016-03-28 12:30:48 +02:00
Wladimir J. van der Laan
d7b80b54fb test_framework: Avoid infinite loop in encoding Decimal
Avoid an infinite loop in encoding, by ensuring EncodeDecimal
returns a string. round(Decimal) used to convert it to
float, but it no longer does in python 3.x. Strings are
supported since #6380, so just use that.
2016-03-28 12:20:13 +02:00
Wladimir J. van der Laan
018b60c5ea test_framework: detect failure of bitcoind startup
Replace the `bitcoin-cli -rpcwait` after spawning bitcoind
with our own loop that detects when bitcoind exits prematurely.

And if one node fails to start, stop the others.

This prevents a hang in such a case (see #7463).
2016-03-26 08:10:07 +01:00
Wladimir J. van der Laan
0b98dd7939
Merge #7732: [Qt] Debug window: replace "Build date" with "Datadir"
fc737d1 [Qt] remove unused formatBuildDate method (Jonas Schnelli)
4856f1d [Qt] Debug window: replace "Build date" with "Datadir" (Jonas Schnelli)
2016-03-25 11:21:53 +01:00
Jonas Schnelli
fc737d127f
[Qt] remove unused formatBuildDate method 2016-03-24 21:48:45 +01:00
Wladimir J. van der Laan
b88e0b0c61
Merge #7506: Use CCoinControl selection in CWallet::FundTransaction
d6cc6a1 Use CCoinControl selection in CWallet::FundTransaction (João Barbosa)
2016-03-24 14:59:51 +01:00
Wladimir J. van der Laan
3ba07bdf7d
Merge #7609: All files related to my RPM spec file project in one commit
0e4b50a Description of RPM directory (Alice Wonder)
146746b All files related to my RPM spec file project in one commit (Alice Wonder)
2016-03-24 12:19:44 +01:00
Wladimir J. van der Laan
e5c35119e9
Merge #7646: Fix lockunspent help message
df9e923 Fix lockunspents help message (João Barbosa)
2016-03-23 17:42:15 +01:00
João Barbosa
df9e9233dc Fix lockunspents help message 2016-03-23 15:44:41 +00:00
Wladimir J. van der Laan
09a079e648
Merge #7739: [Wallet][RPC] add abandoned status to listtransactions
263de3d [Wallet][RPC] add abandoned status to listtransactions (Jonas Schnelli)
2016-03-23 16:30:18 +01:00
Jonas Schnelli
263de3d1c8
[Wallet][RPC] add abandoned status to listtransactions 2016-03-23 15:49:53 +01:00
instagibbs
f1bb13c93d Added companion removeprunedfunds call. 2016-03-23 10:40:38 -04:00
instagibbs
7eb702954e Add importprunedfunds rpc call 2016-03-23 10:40:38 -04:00
Wladimir J. van der Laan
3bdc583b3f
Merge #7715: Fix calculation of balances and available coins.
68d4282 Fix calculation of balances and available coins. (Alex Morcos)
2016-03-23 15:09:02 +01:00
Wladimir J. van der Laan
e2ebd259fb
Merge #7671: [RPC] Add generatetoaddress rpc to mine to an address
d5c5c71 RPC tests for generatetoaddress (Andrew C)
fe00ca7 Create generatetoaddress rpc (Andrew C)
2016-03-23 13:24:53 +01:00
Wladimir J. van der Laan
f11c5a3cbd devtools: make github-merge.py use py3
This makes github-merge.py the first developer tool to go
all Python 3 (for context see #7717).

The changes are straightforward as the script already was
`from __future__ import division,print_function,unicode_literals`.

However urllib2 changed name, and json will only accept unicode data not
bytes.

This retains py2 compatibility for now: not strictly necessary
as it's not used by the build system - but it was easy.
2016-03-23 13:15:20 +01:00
Wladimir J. van der Laan
909b72b10b
Merge #7710: [Depends] Bump miniupnpc and config.guess+sub
c85f475 [Depends] Latest config.guess & config.sub (fanquake)
5fd2318 [Depends] Miniupnpc 1.9.20160209 (fanquake)
2016-03-23 13:14:23 +01:00
Wladimir J. van der Laan
490064111f
Merge #7649: Prevent multiple calls to CWallet::AvailableCoins
bb16c88 Prevent multiple calls to CWallet::AvailableCoins (João Barbosa)
2016-03-23 09:01:34 +01:00
João Barbosa
bb16c8894b Prevent multiple calls to CWallet::AvailableCoins 2016-03-22 08:43:37 +00:00
Jonas Schnelli
4856f1d671
[Qt] Debug window: replace "Build date" with "Datadir"
The build date does only makes sense for custom/self-compiled bitcoin-core versions because we are using static build-dates for our deterministic release builds.
Having a quick option to get the current datadir is much more valuable for debug purposes.
2016-03-22 08:40:10 +01:00
Jonas Schnelli
25340b7cd5
[Wallet] refactor wallet/init interaction 2016-03-22 08:20:59 +01:00
Wladimir J. van der Laan
c946a15075
Merge #7542: Implement "feefilter" P2P message
0371797 modify release-notes.md and bips.md (Alex Morcos)
b536a6f Add p2p test for feefilter (Alex Morcos)
5fa66e4 Create SingleNodeConnCB class for RPC tests (Alex Morcos)
9e072a6 Implement "feefilter" P2P message. (Alex Morcos)
2016-03-21 18:02:58 +01:00
Alex Morcos
0371797e2a modify release-notes.md and bips.md 2016-03-21 10:48:01 -04:00
Alex Morcos
b536a6fc83 Add p2p test for feefilter 2016-03-21 10:46:25 -04:00
Alex Morcos
5fa66e4682 Create SingleNodeConnCB class for RPC tests 2016-03-21 10:46:25 -04:00
Alex Morcos
9e072a6e66 Implement "feefilter" P2P message.
The "feefilter" p2p message is used to inform other nodes of your mempool min fee which is the feerate that any new transaction must meet to be accepted to your mempool.  This will allow them to filter invs to you according to this feerate.
2016-03-21 10:46:25 -04:00
Andrew C
d5c5c713e6 RPC tests for generatetoaddress
Adds two RPC tests for the generatetoaddress RPC, one in the wallet, and one when the wallet is disabled.

The wallet RPC Test mines Bitcoin to another node's address and checks that that node has received the Bitcoin.

The RPC test without the wallet mines Bitcoin to an arbitrary address and checks that it works. It then mines to an arbitrary invalid address and checks that that fails.
2016-03-21 10:22:29 -04:00
Andrew C
fe00ca758a Create generatetoaddress rpc
Creates the generatetoaddress rpc which is virtually identical to the generate rpc except that it takes an argument for the address to mine to. It does not rely on wallet functionality.

The mining code shared by generate and generatetoaddress has been moved to another method to reduce duplication.
2016-03-21 09:58:40 -04:00
Wladimir J. van der Laan
29b2be6ad7
Merge #7692: Remove p2p alert system
cfd519e Add release note documentation (BtcDrak)
6601ce5 protocol.h/cpp: Removes NetMsgType::ALERT (Thomas Kerin)
ad72104 Formatting (BtcDrak)
1b77471 Remove alert keys (BtcDrak)
01fdfef Remove `-alerts` option (BtcDrak)
9206634 Update alert notification and GUI (BtcDrak)
bbb9d1d Remove p2p alert handling (BtcDrak)
2016-03-21 13:41:05 +01:00
Wladimir J. van der Laan
9af69fa7e7
Merge #7726: Correct importaddress help reference to importpubkey
c5825d2 Correct importaddress help reference to importpubkey (Denis Lukianov)
2016-03-21 12:51:32 +01:00
Wladimir J. van der Laan
3c27067dd2
Merge #7712: Improve COutPoint less operator
0f17692 Improve COutPoint less operator (João Barbosa)
2016-03-21 12:50:47 +01:00
Wladimir J. van der Laan
3b4324b1ed
Merge #7720: [qa] rpc-test: Normalize assert()
fab3890 [qa] rpc-test: Normalize assert() (MarcoFalke)
2016-03-21 12:47:19 +01:00
Wladimir J. van der Laan
9426632cb5
Merge #7708: De-neuter NODE_BLOOM
c90036f Always disconnect old nodes which request filtered connections. (Patrick Strateman)
2016-03-21 12:44:19 +01:00
Wladimir J. van der Laan
ddfd79659e
Merge #7705: [amount] Add tests and make GetFee() monotonic
fad13b1 [amount] Preempt issues with negative fee rates (MarcoFalke)
faf756a [amount] Make GetFee() monotonic (MarcoFalke)
fab6880 [qa] Add amount tests (MarcoFalke)
2016-03-21 12:40:31 +01:00
Wladimir J. van der Laan
7b832d286b
Merge #7656: Improve EncodeBase58 performance
3252208 Improve EncodeBase58 performance (João Barbosa)
2016-03-21 12:03:59 +01:00
NicolasDorier
71527a0f31 Test of BIP9 fork activation of mtp, csv, sequence_lock 2016-03-21 09:07:34 +00:00
Denis Lukianov
c5825d2d73 Correct importaddress help reference to importpubkey 2016-03-21 03:16:19 +00:00
MarcoFalke
fab3890156 [qa] rpc-test: Normalize assert() 2016-03-19 19:07:08 +01:00
MarcoFalke
fad13b1612 [amount] Preempt issues with negative fee rates 2016-03-19 15:15:56 +01:00
fanquake
cf5c786fc3 [build-aux] Update Boost & check macros to latest serials 2016-03-19 15:24:00 +08:00
Patrick Strateman
c90036f664 Always disconnect old nodes which request filtered connections. 2016-03-18 21:26:49 -07:00
BtcDrak
cfd519e942 Add release note documentation 2016-03-18 19:55:16 +00:00
Thomas Kerin
6601ce508e protocol.h/cpp: Removes NetMsgType::ALERT 2016-03-18 19:55:16 +00:00
BtcDrak
ad7210408c Formatting 2016-03-18 19:55:16 +00:00
BtcDrak
1b77471bd6 Remove alert keys 2016-03-18 19:55:16 +00:00
BtcDrak
01fdfeffc4 Remove -alerts option 2016-03-18 19:33:59 +00:00
BtcDrak
92066344fd Update alert notification and GUI 2016-03-18 19:33:59 +00:00
BtcDrak
bbb9d1d123 Remove p2p alert handling 2016-03-18 19:33:59 +00:00
Alex Morcos
68d4282774 Fix calculation of balances and available coins.
No longer consider coins which aren't in our mempool.

Add test for regression in abandonconflict.py
2016-03-18 09:56:30 -04:00
Wladimir J. van der Laan
29e1131c46
Merge #7702: [qa] Add tests verifychain, lockunspent, getbalance, listsinceblock
fa4a522 [qa] Add tests verifychain, lockunspent, getbalance, listsinceblock (MarcoFalke)
2016-03-18 12:23:55 +01:00
Wladimir J. van der Laan
efde86b4aa
Merge #7709: Tests: fix missing import in mempool_packages
e38781d Tests: fix missing import in mempool_packages (Suhas Daftuar)
2016-03-18 11:09:03 +01:00
Alex Morcos
19d73d540c Add RPC test for BIP 68/112/113 soft fork.
This RPC test will test both the activation mechanism of the first versionbits soft fork as well as testing many code branches of the consensus logic for BIP's 68, 112, and 113.
2016-03-18 08:09:06 +00:00
BtcDrak
12c89c9185 Policy: allow transaction version 2 relay policy.
This commit introduces a way to gracefully bump the default
transaction version in a two step process.
2016-03-18 08:09:06 +00:00
BtcDrak
02c2435802 Soft fork logic for BIP68 2016-03-18 08:09:06 +00:00
BtcDrak
478fba6d52 Soft fork logic for BIP113 2016-03-18 08:09:06 +00:00
Pieter Wuille
65751a3cf2 Add CHECKSEQUENCEVERIFY softfork through BIP9 2016-03-18 08:09:06 +00:00
João Barbosa
0f176927f8 Improve COutPoint less operator 2016-03-18 08:03:55 +00:00
Wladimir J. van der Laan
73b7eb501e
Merge #7575: Minimal BIP9 implementation
8c74ced RPC test for BIP9 warning logic (Suhas Daftuar)
7870deb Test versionbits deployments (Suhas Daftuar)
532cbb2 Add testing of ComputeBlockVersion (Suhas Daftuar)
d23f6c6 Softfork status report in RPC (Pieter Wuille)
732e774 Versionbits tests (Pieter Wuille)
6851107 BIP9 Implementation (Pieter Wuille)
2016-03-18 08:50:43 +01:00
fanquake
c85f4757b8 [Depends] Latest config.guess & config.sub 2016-03-18 09:06:08 +08:00
fanquake
5fd2318d2d [Depends] Miniupnpc 1.9.20160209
2016/01/24:
  Change miniwget to return HTTP status code
  Increments API_VERSION to 16

2016/01/22:
  Improve UPNPIGD_IsConnected() to check if WAN address is not private.
  Parse HTTP response status line in miniwget.c
2016-03-18 09:03:58 +08:00
Suhas Daftuar
e38781da40 Tests: fix missing import in mempool_packages 2016-03-17 20:23:29 -04:00
MarcoFalke
faf756ae4e [amount] Make GetFee() monotonic
This reverts the hard-to-read and buggy code introduced in
d88af56011 and adds documentation
2016-03-17 17:00:45 +01:00
MarcoFalke
fab6880494 [qa] Add amount tests 2016-03-17 16:59:37 +01:00
Wladimir J. van der Laan
f034bced26
Merge #7686: [qt] Remove 0-fee from send dialog
fae8467 [qt] Remove unneeded "fSendFreeTransactions" check (MarcoFalke)
fa48bb3 [qt] Remove 0-fee from send dialog (MarcoFalke)
2016-03-17 16:21:56 +01:00
MarcoFalke
fae8467d41 [qt] Remove unneeded "fSendFreeTransactions" check 2016-03-17 14:48:12 +01:00
Wladimir J. van der Laan
01f4267623
Merge #7594: Mempool: Add tracking of ancestor packages
ce019bf Check all ancestor state in CTxMemPool::check() (Suhas Daftuar)
e2eeb5d Add ancestor feerate index to mempool (Suhas Daftuar)
72abd2c Add ancestor tracking to mempool (Suhas Daftuar)
76a7632 Remove work limit in UpdateForDescendants() (Suhas Daftuar)
5de2baa Rename CTxMemPool::remove -> removeRecursive (Suhas Daftuar)
7659438 CTxMemPool::removeForBlock now uses RemoveStaged (Suhas Daftuar)
2016-03-17 13:33:54 +01:00
MarcoFalke
fa4a522541 [qa] Add tests verifychain, lockunspent, getbalance, listsinceblock 2016-03-17 11:21:34 +01:00
Wladimir J. van der Laan
14d6324a24
Merge #7187: Keep reorgs fast for SequenceLocks checks
982670c Add LockPoints (Alex Morcos)
2016-03-16 21:20:04 +01:00
Alex Morcos
982670c333 Add LockPoints
Obtain LockPoints to store in CTxMemPoolEntry and during a reorg, evaluate whether they are still valid and if not, recalculate them.
2016-03-16 16:11:46 -04:00
Wladimir J. van der Laan
622fe6c32f
Merge #7697: Tests: make prioritise_transaction.py more robust
ec14339 Tests: make prioritise_transaction.py more robust (Suhas Daftuar)
2016-03-16 20:04:42 +01:00
Suhas Daftuar
ec143391ef Tests: make prioritise_transaction.py more robust 2016-03-16 12:52:04 -04:00
Wladimir J. van der Laan
3d0dfdbf9f
Merge #7684: [qa] Extend tests
fad8cfb [qa] mininode: Add and use CONSTs (MarcoFalke)
fa8cd46 [qa] Move create_tx() to util.py (MarcoFalke)
fad7dc8 [qa] wallet: speed up tests (MarcoFalke)
fa3a81a [tests] Extend util_ParseMoney test case (MarcoFalke)
2016-03-16 17:32:05 +01:00
Suhas Daftuar
8c74cedef5 RPC test for BIP9 warning logic 2016-03-16 15:09:39 +01:00
Suhas Daftuar
7870debceb Test versionbits deployments 2016-03-15 16:54:39 +01:00
Suhas Daftuar
532cbb22b5 Add testing of ComputeBlockVersion 2016-03-15 16:54:39 +01:00
Pieter Wuille
d23f6c6a0d Softfork status report in RPC 2016-03-15 16:54:38 +01:00
Pieter Wuille
732e774c06 Versionbits tests 2016-03-15 16:54:38 +01:00
Pieter Wuille
6851107b3a BIP9 Implementation
Inspired by former implementations by Eric Lombrozo and Rusty Russell, and
based on code by Jorge Timon.
2016-03-15 16:54:38 +01:00
Wladimir J. van der Laan
a6a860796a
Merge #7621: Fixes ZMQ startup with bad arguments.
0040118 Fixes ZMQ startup with bad arguments. (mrbandrews)
2016-03-15 09:29:58 +01:00
Wladimir J. van der Laan
48f3905831
Merge #7683: Fix torcontrol.cpp unused private field warning
3d7e973 Fix torcontrol.cpp unused private field warning (Jonas Schnelli)
2016-03-14 18:38:09 +01:00
MarcoFalke
fa48bb3148 [qt] Remove 0-fee from send dialog 2016-03-14 18:32:09 +01:00
Suhas Daftuar
ce019bf90f Check all ancestor state in CTxMemPool::check() 2016-03-14 12:13:34 -04:00
Suhas Daftuar
e2eeb5dda7 Add ancestor feerate index to mempool 2016-03-14 12:13:34 -04:00
Suhas Daftuar
72abd2ce3c Add ancestor tracking to mempool
This implements caching of ancestor state to each mempool entry, similar to
descendant tracking, but also including caching sigops-with-ancestors (as that
metric will be helpful to future code that implements better transaction
selection in CreatenewBlock).
2016-03-14 12:13:33 -04:00
Suhas Daftuar
76a76321d2 Remove work limit in UpdateForDescendants()
The work limit served to prevent the descendant walking algorithm from doing
too much work by marking the parent transaction as dirty.  However to implement
ancestor tracking, it's not possible to similarly mark those descendant
transactions as dirty without having to calculate them to begin with.

This commit removes the work limit altogether.  With appropriate
chain limits (-limitdescendantcount) the concern about doing too much
work inside this function should be mitigated.
2016-03-14 12:13:31 -04:00
Suhas Daftuar
5de2baa138 Rename CTxMemPool::remove -> removeRecursive
remove is no longer called non-recursively, so simplify the logic
and eliminate an unnecessary parameter
2016-03-14 12:11:09 -04:00
Suhas Daftuar
7659438a63 CTxMemPool::removeForBlock now uses RemoveStaged 2016-03-14 12:11:08 -04:00
MarcoFalke
fad8cfb893 [qa] mininode: Add and use CONSTs 2016-03-14 16:45:18 +01:00
MarcoFalke
fa8cd46f39 [qa] Move create_tx() to util.py 2016-03-14 16:45:04 +01:00
MarcoFalke
fad7dc8a6c [qa] wallet: speed up tests 2016-03-14 16:20:59 +01:00
Jonas Schnelli
3d7e97376a
Fix torcontrol.cpp unused private field warning 2016-03-14 16:07:42 +01:00
MarcoFalke
fa3a81af18 [tests] Extend util_ParseMoney test case 2016-03-14 15:49:33 +01:00
Wladimir J. van der Laan
0735c0ca7c
Merge #7608: [wallet] Move hardcoded file name out of log messages
fa19b18 [wallet] Move hardcoded file name out of log messages (MarcoFalke)
2016-03-14 13:56:23 +01:00
MarcoFalke
fa19b18c63 [wallet] Move hardcoded file name out of log messages 2016-03-14 13:54:05 +01:00
Wladimir J. van der Laan
41d2dfa9e7
Merge #7680: qt: Remove reflection from about icon
322a7a2 qt: Remove reflection from `about` icon (Wladimir J. van der Laan)
2016-03-14 13:43:01 +01:00
Wladimir J. van der Laan
322a7a2fe0 qt: Remove reflection from about icon
While trying to find a black/white version of the Bitcoin
logo for the organization I noticed the about.png is not
entirely black - it has some reflection. Remove this to make
it the same as other icons.

Also ran the icons through `contrib/devtools/optimize-pngs.py`,
so `chevron.png` was optimized too.
2016-03-14 12:46:59 +01:00
Wladimir J. van der Laan
c15eb28241
Merge #7658: Add curl to Gitian setup instructions
ce41cf0 Add curl to Gitian setup instrustions (BtcDrak)
2016-03-14 12:24:22 +01:00
Wladimir J. van der Laan
c9a1265754
Merge #7670: use cached block hash in blockToJSON()
a6ee0ca use cached block hash in blockToJSON() (Pavel Vasin)
2016-03-14 12:22:40 +01:00
Wladimir J. van der Laan
c87f51e55b
Merge #7663: Make the generate RPC call function for non-regtest
8a253b3 Make the generate RPC call function for non-regtest (Pieter Wuille)
2016-03-14 11:36:20 +01:00
Wladimir J. van der Laan
11c769966a
Merge #7507: Remove internal miner
8d1de43 Remove internal miner (Leviathn)
2016-03-14 11:35:41 +01:00
Wladimir J. van der Laan
5b3b5a7d71
Merge #7577: [Wallet] move "load wallet phase" to CWallet
15e6e13 [Wallet] optimize return value of InitLoadWallet() (Jonas Schnelli)
fc7c60d [Wallet] move "load wallet phase" to CWallet (Jonas Schnelli)
2016-03-14 11:34:50 +01:00
Wladimir J. van der Laan
f1ca8915bb
Merge #7517: test: script_error checking in script_invalid tests
0ecb340 test: Script_error checking in script_invalid tests (Wladimir J. van der Laan)
2317ad7 test: Re-introduce JSON pretty printing in test builder (Wladimir J. van der Laan)
b0ff857 test: Move non-generated script_invalid test to the correct place (Wladimir J. van der Laan)
2016-03-14 11:30:06 +01:00
Wladimir J. van der Laan
56d2c4e0fe
Merge #7667: Move GetTempPath() to testutil
2fdaa25 Move GetTempPath() to testutil. (Mustafa)
393b22e Add a source file for unit test utils. (Mustafa)
2016-03-14 11:26:52 +01:00
Jonas Schnelli
15e6e13624
[Wallet] optimize return value of InitLoadWallet() 2016-03-14 09:33:27 +01:00
Jonas Schnelli
b24266c207
Merge #7668: Fix history deletion bug after font size change
21e45a0 Fix history deletion bug after font change (Andrew C)
2016-03-14 09:24:39 +01:00
Jonas Schnelli
3798e5de33
Merge #7613: Add autocomplete to bitcoin-qt's console window.
ce7413f Add autocomplete to bitcoin-qt's console window. (Luv Khemani)
2016-03-14 09:20:29 +01:00
Pavel Vasin
a6ee0caa4e use cached block hash in blockToJSON() 2016-03-12 17:11:59 +03:00
Jimmy Kiselak
f56d092046 Merge remote-tracking branch 'github/changealertkey' into real
Conflicts:
	src/chainparams.cpp
2016-03-12 00:14:57 -05:00
Luv Khemani
ce7413fcb7 Add autocomplete to bitcoin-qt's console window.
Removed externs
Added listCommands() to CRPCTable

Move autocomplete init to RPCConsole::setClientModel()
2016-03-12 13:04:23 +08:00
Andrew C
21e45a097e Fix history deletion bug after font change
The history is no longer cleared after the font size is changed
2016-03-11 13:19:19 -05:00
Jimmy Kiselak
3a09c19691 Merge remote-tracking branch 'github/fulltrierpc' into real
Conflicts:
	src/rpcclaimtrie.cpp
2016-03-11 13:06:35 -05:00
Jimmy Kiselak
17e4f632e2 Merge remote-tracking branch 'github/fulltrierpc' into real
Conflicts:
	src/rpcclaimtrie.cpp
	src/rpcserver.cpp
	src/rpcserver.h
2016-03-11 13:00:36 -05:00
Mustafa
2fdaa25529 Move GetTempPath() to testutil. 2016-03-11 15:04:05 +00:00
Jonas Schnelli
fc7c60d699
[Wallet] move "load wallet phase" to CWallet 2016-03-11 14:31:06 +01:00
Mustafa
393b22eacb Add a source file for unit test utils. 2016-03-11 12:03:45 +00:00
Wladimir J. van der Laan
0fa88ef784
Merge #7635: [Documentation] Add dependency info to test docs
2ab835a Check if zmq is installed in tests, update docs (Elliot Olds)
2016-03-11 08:43:03 +01:00
Wladimir J. van der Laan
86a1ec5b2c
Merge #7576: [Wallet] move wallet help string creation to CWallet
72c2651 [Wallet] move wallet help string creation to CWallet (Jonas Schnelli)
2016-03-11 08:40:37 +01:00
Wladimir J. van der Laan
9f14e5ad91
Merge #7553: Remove vfReachable and modify IsReachable to only use vfLimited.
110b62f Remove vfReachable and modify IsReachable to only use vfLimited. (Patrick Strateman)
2016-03-11 08:25:28 +01:00
Wladimir J. van der Laan
26a2a7214f
Merge #7592: mempool: Re-remove ERROR logging for mempool rejects
8fc81e0 mempool: Reduce ERROR logging for mempool rejects (Wladimir J. van der Laan)
2016-03-11 08:20:42 +01:00
Wladimir J. van der Laan
3da5d1bc2e
Merge #7637: Fix memleak in TorController [rework]
e219503 Fix memleak in TorController [rework] (Wladimir J. van der Laan)
2016-03-11 08:19:55 +01:00
Elliot Olds
2ab835ae6c Check if zmq is installed in tests, update docs
If ZMQ is enabled, check whether it's installed before running ZMQ tests.
If it isn't, disable ZMQ and print a warning.

Also add dependency info to test docs, so users know ZMQ is required
before running tests, and so they know how to install it.

When following the build instructions before this change then trying
to run the RPC tests, a unix user would get an error when python
tried to import zmq.

There may be other dependencies that should be added to the docs,
particularly ones for non-unix systems. This is the only unlisted
dependency I encountered using linux.
2016-03-10 15:41:13 -08:00
Pieter Wuille
8a253b342c Make the generate RPC call function for non-regtest 2016-03-09 22:30:15 +01:00
Pieter Wuille
c8d2473e6c
Merge #7642: Avoid "Unknown command" messages when receiving getaddr on outbound c…
9988554 No "Unknown command" for getaddr command. (R E Broadley)
2016-03-09 21:52:17 +01:00
Pieter Wuille
386f4385ab
Merge #7662: remove unused NOBLKS_VERSION_{START,END} constants
7d2f84c remove unused NOBLKS_VERSION_{START,END} constants (Pavel Vasin)
2016-03-09 21:39:56 +01:00
Pavel Vasin
7d2f84c72f remove unused NOBLKS_VERSION_{START,END} constants 2016-03-09 19:29:23 +03:00
João Barbosa
3252208cb1 Improve EncodeBase58 performance 2016-03-09 10:10:36 +00:00
BtcDrak
ce41cf082c Add curl to Gitian setup instrustions
curl is required to fetch dependencies

[ci skip]
2016-03-09 09:20:16 +00:00
João Barbosa
d6cc6a1830 Use CCoinControl selection in CWallet::FundTransaction 2016-03-08 15:14:47 +00:00
Jonas Schnelli
87d6562299
Merge #7628: QT: Add 'copy full transaction details' option
b51ed40 QT: Add 'copy full transaction details' option (Eric Shaw)
2016-03-08 10:15:22 +01:00
R E Broadley
9988554fc7 No "Unknown command" for getaddr command. 2016-03-08 08:49:42 +00:00
Eric Shaw
b51ed4036e QT: Add 'copy full transaction details' option
Adds feature from issue #7484

modifies the ctrl-c binding to copy full transaction details in transaction view.

Added translation
2016-03-07 19:50:57 -05:00
Jonas Schnelli
72c2651581
[Wallet] move wallet help string creation to CWallet 2016-03-05 13:27:04 -05:00
Pieter Wuille
9f33dba05c
Merge #7539: Add tags to mempool's mapTx indices
086da92 Add tags to mempool's mapTx indices (Suhas Daftuar)
2016-03-05 06:56:33 +01:00
Wladimir J. van der Laan
7f966713a4
Merge #7455: [travis] Exit early when check-doc.py fails
fa5f193 [travis] Exit early when check-doc.py fails (MarcoFalke)
2016-03-03 16:26:52 +01:00
Wladimir J. van der Laan
3368895c3b
Merge #7521: Don't resend wallet txs that aren't in our own mempool
5a2b1c0 Don't resend wallet txs that aren't in our own mempool (Alex Morcos)
2016-03-03 15:09:50 +01:00
Wladimir J. van der Laan
7f001bdf64
Merge #7605: Remove openssl info from init/log and from Qt debug window
5ecfa36 Remove openssl info from init/log and from Qt debug window (Jonas Schnelli)
2016-03-03 13:55:56 +01:00
Wladimir J. van der Laan
e219503711 Fix memleak in TorController [rework]
It looks like, TorController::disconnected_cb(TorControlConnection&
conn) gets called multiple times which results in multiple event_new().

Avoid this by creating the event only once in the constructore, and
deleting it only once in the destructor (thanks to Cory Fields for the
idea).

Replaces the fix by Jonas Schnelli in #7610, see discussion there.
2016-03-03 13:31:26 +01:00
MarcoFalke
fa5f19319a [travis] Exit early when check-doc.py fails 2016-03-03 13:05:22 +01:00
Wladimir J. van der Laan
1b68de3525
Merge #7620: [travis] Only run check-doc.py once
fa1b80d [travis] Only run check-doc.py once (MarcoFalke)
2016-03-03 12:57:31 +01:00
Wladimir J. van der Laan
409f843f2e
Merge #7632: Delete outdated test-patches reference
2e23066 Delete outdated test-patches reference (lewuathe)
2016-03-02 15:04:25 +01:00
lewuathe
2e23066b73 Delete outdated test-patches reference 2016-03-02 22:59:31 +09:00
Wladimir J. van der Laan
e5121eb951
Merge #7617: [doc/log] Fix markdown syntax and line terminate LogPrint
fa26652 Make sure LogPrintf strings are line-terminated (MarcoFalke)
fa97f95 [doc] Fix markdown (MarcoFalke)
fa06ce0 Fix doxygen comment for payTxFee (MarcoFalke)
2016-03-01 18:39:21 +01:00
Wladimir J. van der Laan
639ec582d0
Merge #7616: [depends] Delete unused patches
fafe446 [depends] Delete unused patches (MarcoFalke)
2016-03-01 17:29:48 +01:00
Wladimir J. van der Laan
732c010896
Merge #7614: Bugfix: gitian: Add curl to packages (now needed for depends)
5c70a6d Bugfix: gitian: Add curl to packages (now needed for depends) (Luke Dashjr)
2016-03-01 15:07:48 +01:00
MarcoFalke
fa26652459 Make sure LogPrintf strings are line-terminated 2016-03-01 14:59:30 +01:00
MarcoFalke
fa97f95c15 [doc] Fix markdown 2016-03-01 14:35:19 +01:00
Wladimir J. van der Laan
f5ecd07371
doc: Add missing credit to 0.12.0 release notes
Closes #7624
2016-03-01 13:46:07 +01:00
MarcoFalke
fafe446d0e [depends] Delete unused patches
Superseded by 4bdad99f50
2016-03-01 13:03:42 +01:00
mrbandrews
0040118959 Fixes ZMQ startup with bad arguments. 2016-02-29 13:34:09 -05:00
Wladimir J. van der Laan
78e81b0bc5
Merge #7537: wallet: Warn on unexpected EOF while salvaging wallet
ca8fb59 wallet: Warn on unexpected EOF while salvaging wallet (Wladimir J. van der Laan)
2016-02-29 10:05:07 +01:00
Wladimir J. van der Laan
f06af574fb
Merge #7590: Improving wording related to Boost library requirements [updated]
8c5a5fb Improving wording related to Boost library requirements [updated] (Jonathan Cross)
2016-02-29 09:52:33 +01:00
Wladimir J. van der Laan
b53d201eab
Merge #7606: [depends] builders: No need to set -L and --location for curl
fa7a5c5 [depends] builders: No need to set -L and --location for curl (MarcoFalke)
2016-02-29 09:51:26 +01:00
Wladimir J. van der Laan
354b03dee1
Merge #7604: build: Remove spurious dollar sign. Fixes #7189.
3d19193 Remove spurious dollar sign. Fixes #7189. (Chris Moore)
2016-02-29 09:40:40 +01:00
Wladimir J. van der Laan
f39819140c
Merge #7612: [doc] Typo fix
ff2be40 [doc] Typo fix (Alfie John)
2016-02-29 09:30:29 +01:00
Wladimir J. van der Laan
18b3f1b7f6
Merge #7619: Add missing sudo entry in gitian VM setup.
f41927e Add missing sudo entry in gitian VM setup. (BtcDrak)
2016-02-29 08:57:45 +01:00
BtcDrak
f41927e2c0 Add missing sudo entry in gitian VM setup.
[ci skip]
2016-02-27 21:18:18 +00:00
MarcoFalke
fa06ce0949 Fix doxygen comment for payTxFee 2016-02-27 18:14:57 +01:00
Luke Dashjr
e5daa2e2ae Merge branch 'master' into depends_curl 2016-02-27 06:11:37 +00:00
Luke Dashjr
5c70a6d6d1 Bugfix: gitian: Add curl to packages (now needed for depends) 2016-02-27 06:09:18 +00:00
Alfie John
ff2be40685 [doc] Typo fix
Small typo in Unix install notes
2016-02-27 03:02:34 +00:00
Alice Wonder
0e4b50a48c Description of RPM directory 2016-02-26 10:09:03 -08:00
Alice Wonder
146746bbaf All files related to my RPM spec file project in one commit 2016-02-26 09:30:11 -08:00
MarcoFalke
fa7a5c54fc [depends] builders: No need to set -L and --location for curl 2016-02-26 09:50:29 +01:00
Jonas Schnelli
5ecfa36fd0
Remove openssl info from init/log and from Qt debug window 2016-02-26 09:35:39 +01:00
Chris Moore
3d19193f14 Remove spurious dollar sign. Fixes #7189. 2016-02-25 19:15:17 -08:00
Wladimir J. van der Laan
8fc81e0983 mempool: Reduce ERROR logging for mempool rejects
Continues "Make logging for validation optional" from #6519.

The idea there was to remove all ERROR logging of rejected transaction,
and move it to one message in the class 'mempoolrej' which logs the
state message (and debug info). The superfluous ERRORs in the log
"terrify" users, see for example issue #5794.

Unfortunately a lot of new logging was introduced in #6871 (RBF) and
 #7287 (misc refactoring). This pull updates that new code.
2016-02-24 19:40:29 +01:00
Jonathan Cross
8c5a5fb850 Improving wording related to Boost library requirements [updated]
Fixed formatting as requested on https://github.com/bitcoin/bitcoin/pull/7589

Description:
Documentation was unclear in this section and could be interpreted to mean that boost was not a hard requirement for older Ubuntu versions.
Related: #7587
2016-02-24 15:36:45 +01:00
Wladimir J. van der Laan
317462123f
Merge #7583: [doc] Fix typos
6e4dfa1 [doc] Fix typos (Cédric Félizard)
2016-02-24 11:38:32 +01:00
Wladimir J. van der Laan
8b958ab15b
Merge #7550: rpc: Input-from-stdin mode for bitcoin-cli
f22f14c doc: mention bitcoin-cli -stdin in release notes (Wladimir J. van der Laan)
92bcca3 rpc: Input-from-stdin mode for bitcoin-cli (Wladimir J. van der Laan)
2016-02-24 11:33:25 +01:00
Wladimir J. van der Laan
f22f14c65b doc: mention bitcoin-cli -stdin in release notes 2016-02-24 10:22:43 +01:00
Wladimir J. van der Laan
92bcca37ab rpc: Input-from-stdin mode for bitcoin-cli
Implements #7442 by adding an option `-stdin` which reads
additional arguments from stdin, one per line.

For example

```bash
echo -e "mysecretcode\n120" | src/bitcoin-cli -stdin walletpassphrase
echo -e "walletpassphrase\nmysecretcode\n120" | src/bitcoin-cli -stdin
```
2016-02-24 10:12:25 +01:00
Cédric Félizard
6e4dfa1480 [doc] Fix typos 2016-02-23 18:53:00 +00:00
Wladimir J. van der Laan
a08c41dfc2
doc: include post-mortem fixes to 0.12.0 release notes
Parallels 5d490f9d96
2016-02-23 13:32:40 +01:00
Wladimir J. van der Laan
b6e00af819
Merge #7541: Clarify description of blockindex
7eef1d0 Clarify description of blockindex (Matthew Zipkin)
2016-02-19 10:36:54 +01:00
Jimmy Kiselak
7143199c4a Merge branch 'master' of git.jimmykiselak.com:/usr/git/ncc into real 2016-02-18 18:30:33 -05:00
Matthew Zipkin
7eef1d0dad Clarify description of blockindex
see issues:

https://github.com/bitcoin-dot-org/bitcoin.org/issues/1237

https://github.com/bitcoin/bitcoin/issues/7532
2016-02-18 12:42:59 -08:00
Wladimir J. van der Laan
0e3ccbfb26
doc: Add historical release notes for 0.10.4 0.11.2 and 0.12.0 2016-02-18 18:09:38 +01:00
Patrick Strateman
110b62f069 Remove vfReachable and modify IsReachable to only use vfLimited.
We do not know that a class of Network is reachable, only that it is not.
2016-02-17 23:21:27 -08:00
Suhas Daftuar
086da92ea7 Add tags to mempool's mapTx indices 2016-02-16 12:35:16 -05:00
Wladimir J. van der Laan
8b70a64d62
Merge #7526: fix spelling of advertise (shows up in the debug log)
37767fd fix spelling of advertise in src and doc (jloughry)
2016-02-16 12:37:03 +01:00
Wladimir J. van der Laan
93c85d458a
Merge #7524: BIP-112: Mempool-only CHECKSEQUENCEVERIFY
a381076 Code style fix. (BtcDrak)
c3c3752 Separate CheckLockTime() and CheckSequence() logic (BtcDrak)
53e53a3 BIP112: Implement CHECKSEQUENCEVERIFY (Mark Friedenbach)
2016-02-16 10:46:34 +01:00
BtcDrak
a38107643f Code style fix.
This if statement is a little obtuse and using braces here
improves readability.
2016-02-16 09:39:44 +00:00
Wladimir J. van der Laan
2d4f73f47e
Merge #7509: Common argument defaults for NODE_BLOOM stuff and -wallet
1fb91b3 Common argument defaults for NODE_BLOOM stuff and -wallet (Luke Dashjr)
2016-02-16 10:00:21 +01:00
Wladimir J. van der Laan
ce5fc02e61
Merge #7536: test: test leading spaces for ParseHex
f31b6b8 test: test leading space for ParseHex (Wladimir J. van der Laan)
2016-02-16 09:26:53 +01:00
Wladimir J. van der Laan
19324cf09c
Merge #7504: Crystal clean make clean
ae6eca0 make clean should clean .a files (Pavel Janík)
2016-02-15 17:18:41 +01:00
Wladimir J. van der Laan
18cb2d5090
Merge #7531: Add bip68-sequence.py to extended rpc tests
6ba8b2a Add bip68-sequence.py to extended rpc tests (BtcDrak)
2016-02-15 17:17:24 +01:00
Wladimir J. van der Laan
f31b6b8995 test: test leading space for ParseHex
BerkeleyDB dump files have key and value lines indented.
The salvage code passes these to ParseHex as-is.
Check this in the tests (should just pass with current code).
2016-02-15 17:14:30 +01:00
Wladimir J. van der Laan
ca8fb59ae1 wallet: Warn on unexpected EOF while salvaging wallet
Check for EOF before every getline, and warn when reading gets to EOF
before the end of the data.

Stricter error checking could shed more light on issues such as #7463
and #7379.
2016-02-15 16:35:12 +01:00
Wladimir J. van der Laan
bf1e113311
Merge #7487: Workaround Travis-side CI issues
149641e Travis: Use Blue Box VMs for IPv6 loopback support (Luke Dashjr)
c01f08d Bugfix: depends/Travis: Use --location (follow redirects) and --fail [on HTTP error response] with curl (Luke Dashjr)
5d1148c Travis: Use curl rather than wget for Mac SDK (Luke Dashjr)
1ecbb3b depends: Use curl for fetching on Linux (Luke Dashjr)
2016-02-15 12:57:01 +01:00
Wladimir J. van der Laan
9b9bfcec5a
Merge #7528: autogen.sh: warn about needing autoconf if autoreconf is not found
889426d autogen.sh: warn about needing autoconf if autoreconf is not found (Andrés G. Aragoneses)
2016-02-15 12:53:42 +01:00
Wladimir J. van der Laan
db2e1c0650
Merge #7527: [Trivial, RPC] Fix and cleanup listreceivedbyX documentation
c372572 Fix and cleanup listreceivedbyX documentation (instagibbs)
2016-02-15 12:29:51 +01:00
BtcDrak
c3c375226e Separate CheckLockTime() and CheckSequence() logic
For the sake of a little repetition, make code more readable.
2016-02-14 11:29:40 +00:00
Mark Friedenbach
53e53a33c9 BIP112: Implement CHECKSEQUENCEVERIFY
- Replace NOP3 with CHECKSEQUENCEVERIFY (BIP112)
  <nSequence> CHECKSEQUENCEVERIFY -> <nSequence>
- Fails if txin.nSequence < nSequence, allowing funds of a txout to be locked for a number of blocks or a duration of time after its inclusion in a block.
- Pull most of CheckLockTime() out into VerifyLockTime(), a local function that will be reused for CheckSequence()
- Add bitwise AND operator to CScriptNum
- Enable CHECKSEQUENCEVERIFY as a standard script verify flag
- Transactions that fail CSV verification will be rejected from the mempool, making it easy to test the feature. However blocks containing "invalid" CSV-using transactions will still be accepted; this is *not* the soft-fork required to actually enable CSV for production use.
2016-02-14 11:29:38 +00:00
BtcDrak
6ba8b2a6c4 Add bip68-sequence.py to extended rpc tests 2016-02-13 15:42:24 +00:00
Andrés G. Aragoneses
889426d37e autogen.sh: warn about needing autoconf if autoreconf is not found
Changes the error message from:
./autogen.sh: 9: ./autogen.sh: autoreconf: not found

To:
configuration failed, please install autoconf first
2016-02-13 04:44:42 +08:00
jloughry
37767fd46f fix spelling of advertise in src and doc 2016-02-12 12:51:54 -07:00
instagibbs
c372572595 Fix and cleanup listreceivedbyX documentation 2016-02-12 14:06:59 -05:00
Wladimir J. van der Laan
80d1f2e483
Merge #7184: Implement SequenceLocks functions for BIP 68
b043c4b fix sdaftuar's nits again (Alex Morcos)
a51c79b Bug fix to RPC test (Alex Morcos)
da6ad5f Add RPC test exercising BIP68 (mempool only) (Suhas Daftuar)
c6c2f0f Implement SequenceLocks functions (Alex Morcos)
2016-02-12 17:03:46 +01:00
Wladimir J. van der Laan
621940e040
Merge #7520: LibreSSL doesn't define OPENSSL_VERSION, use LIBRESSL_VERSION_TEXT instead
a0a17b3 LibreSSL doesn't define OPENSSL_VERSION, use LIBRESSL_VERSION_TEXT instead (Pavel Janík)
2016-02-12 13:06:02 +01:00
Pavel Janík
a0a17b3e44 LibreSSL doesn't define OPENSSL_VERSION, use LIBRESSL_VERSION_TEXT instead 2016-02-12 07:01:33 +01:00
Alex Morcos
5a2b1c0c8b Don't resend wallet txs that aren't in our own mempool 2016-02-11 17:34:55 -05:00
Alex Morcos
b043c4b746 fix sdaftuar's nits again
it boggles the mind why these nits can't be delivered on a more timely basis
2016-02-11 15:34:04 -05:00
Wladimir J. van der Laan
0ecb3401fe test: Script_error checking in script_invalid tests
Check the returned script_error. Add expected script_error
for generated as well as custom tests.

The specific error is not part of consensus, however
it could avoid unclear reporting issues such as #6862 in the future.

Fixes #7513.
2016-02-11 17:33:28 +01:00
Wladimir J. van der Laan
2317ad7c56 test: Re-introduce JSON pretty printing in test builder 2016-02-11 17:33:28 +01:00
Wladimir J. van der Laan
b0ff8572ae test: Move non-generated script_invalid test to the correct place
This test was introduced in 9fadf1c874,
but accidentally added in the autogenerated area.
2016-02-11 16:16:40 +01:00
Luke Dashjr
1fb91b3496 Common argument defaults for NODE_BLOOM stuff and -wallet 2016-02-11 06:38:04 +00:00
Leviathn
8d1de43f0c Remove internal miner
This code removes the internal miner which is only useful on Testnet.
This leaves the internal miner that is useful on RegTest intact.
2016-02-10 18:29:13 -08:00
Jimmy Kiselak
7b866aa51e Merge in proofs, and fix two delay related bugs
Bug #1: If a claim was inserted for name which had no previous
claims, it would be treated as if it had been under
continuous ownership since block 0

Bug #2: When disconnecting and connecting blocks, the official
trie was checked to see if changes of ownership took place,
which could result in the wrong answer if a single cache was
used to disconnect/connect multiple blocks without flushing
to the trie

Merge branch 'master' of git.jimmykiselak.com:/usr/git/ncc into real

Conflicts:
	src/ncctrie.cpp
	src/ncctrie.h
	src/rpcserver.cpp
	src/test/ncctrie_tests.cpp
2016-02-10 19:44:39 -05:00
Alex Morcos
a51c79be6b Bug fix to RPC test 2016-02-10 16:01:04 -05:00
Suhas Daftuar
da6ad5f684 Add RPC test exercising BIP68 (mempool only) 2016-02-10 15:35:33 -05:00
Alex Morcos
c6c2f0fd78 Implement SequenceLocks functions
SequenceLocks functions are used to evaluate sequence lock times or heights per BIP 68.

The majority of this code is copied from maaku in #6312
Further credit: btcdrak, sipa, NicolasDorier
2016-02-10 15:35:33 -05:00
Pavel Janík
ae6eca0f49 make clean should clean .a files 2016-02-10 21:03:51 +01:00
Wladimir J. van der Laan
2f3f4af4cc
Merge #7500: Correctly report high-S violations
9d95187 Correctly report high-S violations (Pieter Wuille)
2016-02-10 20:32:13 +01:00
Wladimir J. van der Laan
b93f078496
Merge #7502: Update the wallet best block marker when pruning
e4eebb6 Update the wallet best block marker when pruning (Pieter Wuille)
2016-02-10 19:39:54 +01:00
Wladimir J. van der Laan
c9da9c4bd8
Merge #7491: wallet: Ignore MarkConflict if block hash is not known
40e7b61 wallet: Ignore MarkConflict if block hash is not known (Wladimir J. van der Laan)
2016-02-10 18:56:51 +01:00
Pieter Wuille
e4eebb604e Update the wallet best block marker when pruning 2016-02-10 17:11:13 +01:00
Pieter Wuille
9d95187d5d Correctly report high-S violations 2016-02-10 14:19:20 +01:00
Wladimir J. van der Laan
d007511ebd
Merge #7490: tests: Remove May15 test
acf5983 tests: Remove May15 test (Wladimir J. van der Laan)
2016-02-10 12:32:21 +01:00
Luke Dashjr
149641e8fc Travis: Use Blue Box VMs for IPv6 loopback support 2016-02-09 22:17:09 +00:00
Luke Dashjr
c01f08db12 Bugfix: depends/Travis: Use --location (follow redirects) and --fail [on HTTP error response] with curl 2016-02-09 22:15:28 +00:00
Wladimir J. van der Laan
40e7b61835 wallet: Ignore MarkConflict if block hash is not known
If number of conflict confirms cannot be determined, this means
that the block is still unknown or not yet part of the main chain,
for example during a reindex. Do nothing in that case,
instead of crash with an assertion.

Fixes #7234.
2016-02-09 20:38:31 +01:00
Wladimir J. van der Laan
acf5983502 tests: Remove May15 test
This test is no longer relevant.

It was introduced in 8c222dca4f to check
the switch to 1MB blocks after the BDB too-many-locks issue back in
2013. The switching code has been long since removed.

It also needs a specific data file that is hard to find. I've verified
in #6320 that it still passes, however I think there is zero reason to
keep it.

Closes #6320.
2016-02-09 16:23:52 +01:00
Wladimir J. van der Laan
7539f1aae3 tests: Make proxy_test work on travis servers without IPv6 2016-02-09 12:37:05 +01:00
Wladimir J. van der Laan
b49a623799
Merge #7480: Changed getnetworkhps value to double to avoid overflow.
993d089 Changed getnetworkhps value to double to avoid overflow. (instagibbs)
2016-02-09 11:08:40 +01:00
Wladimir J. van der Laan
3ffe4b241e
Merge #7482: [P2P] Ensure headers count is correct
301bc7b Update nQueuedValidatedHeaders after peer disconnection (Suhas Daftuar)
2016-02-09 08:54:25 +01:00
Wladimir J. van der Laan
3db828f951
Merge #7472: rpc: Add WWW-Authenticate header to 401 response
7c06fbd rpc: Add WWW-Authenticate header to 401 response (Wladimir J. van der Laan)
2016-02-09 08:52:02 +01:00
Luke Dashjr
5d1148cb79 Travis: Use curl rather than wget for Mac SDK 2016-02-09 05:53:39 +00:00
Luke Dashjr
1ecbb3b0f7 depends: Use curl for fetching on Linux
Currently Travis's wget fails fetching qrencode:

Fetching qrencode...
ERROR: no certificate subject alternative name matches
	requested host name `fukuchi.org'.
To connect to fukuchi.org insecurely, use `--no-check-certificate'.
OpenSSL: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error
Unable to establish SSL connection.
make: *** [/home/travis/build/luke-jr/bitcoin/depends/sources/download-stamps/.stamp_fetched-qrencode-qrencode-3.4.4.tar.bz2.hash] Error 4
2016-02-09 04:02:02 +00:00
Suhas Daftuar
301bc7bc7e Update nQueuedValidatedHeaders after peer disconnection 2016-02-08 15:50:52 -05:00
instagibbs
993d089e82 Changed getnetworkhps value to double to avoid overflow. 2016-02-08 10:49:27 -05:00
Wladimir J. van der Laan
326f010332
Merge #7465: [doc] Update release-process.md
fa616c2 [doc] Update release-process.md (MarcoFalke)
2016-02-08 10:44:46 +01:00
Wladimir J. van der Laan
7c06fbd8f5 rpc: Add WWW-Authenticate header to 401 response
A WWW-Authenticate header must be present in the 401
response to make clients know that they can authenticate,
and how.

    WWW-Authenticate: Basic realm="jsonrpc"

Fixes #7462.
2016-02-08 09:16:29 +01:00
Daniel Kraft
72fd008e7f Fix quoting of copyright holders in configure.ac.
The old configure.ac did not work for a copyright holders string
containing commas due to insufficient quoting.  The new one allows this.
While this is, of course, not of direct consequence to the current code
(where the string is "Bitcoin Core"), it should still be fixed now that
the string is actually factored out.
2016-02-07 14:06:07 +01:00
Wladimir J. van der Laan
e7ea5db0c1
Merge #7459: Consensus: Decouple pow.o from util.o
f3757a0 Consensus: Decouple pow.cpp from util.h (Jorge Timón)
2016-02-05 11:19:45 +01:00
Wladimir J. van der Laan
cf63d5c710
Merge #7468: [rpc-tests] Change solve() to use rehash
7689041 [rpc-tests] Change solve() to use rehash (mrbandrews)
2016-02-05 11:17:52 +01:00
Wladimir J. van der Laan
e7eeb945cd
Merge #7469: net.h fix spelling: misbeha{b,v}ing
0830552 Fix spelling: misbeha{b,v}ing (Matt)
2016-02-05 10:59:45 +01:00
Matt
0830552673 Fix spelling: misbeha{b,v}ing 2016-02-04 17:15:20 -06:00
mrbandrews
7689041c03 [rpc-tests] Change solve() to use rehash 2016-02-04 14:36:11 -05:00
Jorge Timón
f3757a0391 Consensus: Decouple pow.cpp from util.h 2016-02-04 19:21:55 +01:00
Wladimir J. van der Laan
152a8216cc
Merge #7349: Build against system UniValue when available
42407ed build-unix: Update UniValue build conditions (Luke Dashjr)
cdcad9f LDADD dependency order shuffling (Luke Dashjr)
62f7f2e Bugfix: Always include univalue in DIST_SUBDIRS (Luke Dashjr)
2356515 Change default configure option --with-system-univalue to "no" (Luke Dashjr)
5d3b29b doc: Add UniValue to build instructions (Luke Dashjr)
ab22705 Build against system UniValue when available (Luke Dashjr)
2adf7e2 Bugfix: The var is LIBUNIVALUE,not LIBBITCOIN_UNIVALUE (Luke Dashjr)
2016-02-04 17:43:19 +01:00
Wladimir J. van der Laan
d2228384de
Merge #6480: include the chaintip blockindex in the SyncTransaction signal, add signal UpdateTip()
7d0bf0b include the chaintip *blockIndex in the SyncTransaction signal (Jonas Schnelli)
2016-02-04 17:03:09 +01:00
Wladimir J. van der Laan
4f4dc5ef72
Merge #7070: Move maxTxFee out of mempool
fad6244 ATMP: make nAbsurdFee const (MarcoFalke)
fa762d0 [wallet.h] Remove main.h include (MarcoFalke)
fa79db2 Move maxTxFee out of mempool (MarcoFalke)
2016-02-04 14:54:23 +01:00
Wladimir J. van der Laan
2cdbf28cf3
Merge #7192: Unify product name to as few places as possible
027fdb8 When/if the copyright line does not mention Bitcoin Core developers, add a second line to copyrights in -version, About dialog, and splash screen (Luke Dashjr)
cc2095e Rewrite FormatParagraph to handle newlines within input strings correctly (Luke Dashjr)
cddffaf Bugfix: Include COPYRIGHT_HOLDERS_SUBSTITUTION in Makefile substitutions so it gets passed to extract-strings correctly (Luke Dashjr)
29598e4 Move PACKAGE_URL to configure.ac (Luke Dashjr)
78ec83d splashscreen: Resize text to fit exactly (Luke Dashjr)
3cae140 Bugfix: Actually use _COPYRIGHT_HOLDERS_SUBSTITUTION everywhere (Luke Dashjr)
4d5a3df Bugfix: gitian-descriptors: Add missing python-setuptools requirement for OS X (biplist module) (Luke Dashjr)
e4ab5e5 Bugfix: Correct copyright year in Mac DMG background image (Luke Dashjr)
917b1d0 Set copyright holders displayed in notices separately from the package name (Luke Dashjr)
c39a6ff Travis & gitian-osx: Use depends for ds_store and mac_alias modules (Luke Dashjr)
902ccde depends: Add mac_alias to depends (Luke Dashjr)
82a2d98 depends: Add ds_store to depends (Cory Fields)
de619a3 depends: Pass PYTHONPATH along to configure (Cory Fields)
e611b6e macdeploy: Use rsvg-convert rather than cairosvg (Luke Dashjr)
63bcdc5 More complicated package name substitution for Mac deployment (Luke Dashjr)
1a6c67c Parameterise 2009 in translatable copyright strings (Luke Dashjr)
d5f4683 Unify package name to as few places as possible without major changes (Luke Dashjr)
2016-02-04 13:42:24 +01:00
Wladimir J. van der Laan
898fedf42f
Merge #7458: [Net] peers.dat, banlist.dat recreated when missing
c77c662 peers.dat, banlist.dat recreated when missing (kirkalx)
2016-02-04 08:54:21 +01:00
MarcoFalke
fa616c2fed [doc] Update release-process.md 2016-02-04 00:08:34 +01:00
kirkalx
c77c6625f3 peers.dat, banlist.dat recreated when missing 2016-02-04 11:46:24 +13:00
Wladimir J. van der Laan
eb331794a2
Merge #7225: Eliminate unnecessary call to CheckBlock
dbb89dc Eliminate unnecessary call to CheckBlock (Suhas Daftuar)
2016-02-03 13:23:49 +01:00
MarcoFalke
fad6244879 ATMP: make nAbsurdFee const 2016-02-03 13:14:23 +01:00
MarcoFalke
fa762d0f00 [wallet.h] Remove main.h include 2016-02-03 12:44:43 +01:00
Wladimir J. van der Laan
4cdbd4255b
Merge #7444: Improve block validity/ConnectBlock() comments
2f19905 Improve block validity/ConnectBlock() comments (Peter Todd)
2016-02-03 12:29:37 +01:00
Wladimir J. van der Laan
5fd95b4490
Merge #7431: Rename permitrbf to mempoolreplacement and provide minimal string-list forward compatibility (needs 0.12 backport)
b922fbe Rename replacebyfee=opt-in to mempoolreplacement=fee (Luke Dashjr)
3b66e54 Simplify check for replacebyfee=opt-in (Luke Dashjr)
d65dee9 Accept replacebyfee=opt-in for turning on opt-in RBF (Luke Dashjr)
77b55a0 Rename permitrbf to replacebyfee (Luke Dashjr)
2016-02-03 10:27:32 +01:00
Luke Dashjr
a68bb9f5e7 Merge branch 'master' into single_prodname 2016-02-03 05:41:13 +00:00
Luke Dashjr
027fdb83b4 When/if the copyright line does not mention Bitcoin Core developers, add a second line to copyrights in -version, About dialog, and splash screen 2016-02-03 05:38:51 +00:00
Luke Dashjr
cc2095ecae Rewrite FormatParagraph to handle newlines within input strings correctly 2016-02-03 05:38:43 +00:00
MarcoFalke
fa79db2641 Move maxTxFee out of mempool
Also, remove default values in CMerkleTx::AcceptToMemoryPool()
2016-02-02 20:08:51 +01:00
Wladimir J. van der Laan
fd13fe7ca0
Merge #7091: Consensus build package
cf82d05 Build: Consensus: Make libbitcoinconsensus_la_SOURCES fully dynamic and dependend on both crypto and consensus packages (Jorge Timón)
4feadec Build: Libconsensus: Move libconsensus-ready files to the consensus package (Jorge Timón)
a3d5eec Build: Consensus: Move consensus files from common to its own module/package (Jorge Timón)
2016-02-02 19:02:22 +01:00
Wladimir J. van der Laan
11d74f6a6b
Merge #7084: mempool: Replace maxFeeRate of 10000*minRelayTxFee with maxTxFee
fa1193e [doxygen] Actually display comment (MarcoFalke)
fa331db mempool: Replace maxFeeRate of 10000*minRelayTxFee with maxTxFee (MarcoFalke)
2016-02-02 15:18:07 +01:00
Wladimir J. van der Laan
47ac04e8b1
Merge #7311: MOVEONLY: Move non-consensus functions out of pow
e867561 MOVEONLY: non-consensus: from pow to chain: (Jorge Timón)
2016-02-02 14:16:16 +01:00
MarcoFalke
fa1193e254 [doxygen] Actually display comment 2016-02-02 13:39:23 +01:00
Wladimir J. van der Laan
3dc3149e63
Merge #7453: [0.13] Missing patches from 0.12
1e05727 Decide eviction group ties based on time. (Gregory Maxwell)
1e9613a Do not absolutely protect local peers from eviction. (Gregory Maxwell)
5d74309 Get rid of inaccurate ScriptSigArgsExpected (Pieter Wuille)
2016-02-02 12:54:24 +01:00
Luke Dashjr
b922fbe063 Rename replacebyfee=opt-in to mempoolreplacement=fee 2016-02-01 19:30:37 +00:00
Suhas Daftuar
dbb89dc793 Eliminate unnecessary call to CheckBlock
ProcessNewBlock would return failure early if CheckBlock failed, before
calling AcceptBlock.  AcceptBlock also calls CheckBlock, and upon failure
would update mapBlockIndex to indicate that a block was failed.  By returning
early in ProcessNewBlock, we were not marking blocks that fail a check in
CheckBlock as permanently failed, and thus would continue to re-request and
reprocess them.
2016-02-01 14:29:45 -05:00
Luke Dashjr
42407ed43a build-unix: Update UniValue build conditions 2016-02-01 18:49:24 +00:00
MarcoFalke
fa1b80db88 [travis] Only run check-doc.py once 2016-02-01 18:09:04 +01:00
Gregory Maxwell
1e05727072 Decide eviction group ties based on time.
This corrects a bug the case of tying group size where the code may
 fail to select the group with the newest member. Since newest time
 is the final selection criteria, failing to break ties on it
 on the step before can undermine the final selection.

Tied netgroups are very common.

(cherry picked from commit 8e09f914f8ec66301257358b250e9a61befadd95)
2016-02-01 15:31:21 +01:00
Gregory Maxwell
1e9613ac09 Do not absolutely protect local peers from eviction.
With automatic tor HS support in place we should probably not be providing
 absolute protection for local peers, since HS inbound could be used to
 attack pretty easily.  Instead, this counts on the latency metric inside
 AttemptToEvictConnection to privilege actually local peers.

(cherry picked from commit 46dbcd4833115401fecbb052365b4c7725874414)
2016-02-01 15:31:17 +01:00
Pieter Wuille
5d743099b5 Get rid of inaccurate ScriptSigArgsExpected
(cherry picked from commit 52b29dca7670c3f6d2ab918c0fff1d17c4e494ad)
2016-02-01 15:28:25 +01:00
Wladimir J. van der Laan
196ad6913f
Merge #7451: Add link to bitcoin whitepaper
6795851 Add link to whitepaper (gladoscc)
2016-02-01 15:09:48 +01:00
Wladimir J. van der Laan
58a8574400
Merge #7439: Add whitelistforcerelay to control forced relaying. [#7099 redux]
89d113e Blacklist -whitelistalwaysrelay; replaced by -whitelistrelay. (Gregory Maxwell)
325c725 Add whitelistforcerelay to control forced relaying. (Gregory Maxwell)
2016-02-01 14:11:15 +01:00
Gregory Maxwell
89d113e02a Blacklist -whitelistalwaysrelay; replaced by -whitelistrelay. 2016-02-01 12:32:57 +00:00
Wladimir J. van der Laan
31ec14b74b
Merge #7287: Consensus: Remove calls to error() and FormatStateMessage()
93fc58c Consensus: Remove calls to error() and FormatStateMessage() from some consensus code in main (Jorge Timón)
2016-02-01 10:21:53 +01:00
gladoscc
67958519fe Add link to whitepaper 2016-02-01 19:55:08 +11:00
Peter Todd
2f19905324
Improve block validity/ConnectBlock() comments
Previously didn't make clear that the ContextualCheckBlock* functions
meant the block headers as context - not the UTXO set itself - and that
ConnectBlock() also did UTXO-related validity checks (in the future we
may split that functionality into a separate UTXO-specific contextual
check block function).

Also, reordered to put validity checks first for better readability.
2016-01-31 00:40:23 -05:00
Luke Dashjr
cdcad9fc5f LDADD dependency order shuffling 2016-01-31 02:32:55 +00:00
Luke Dashjr
62f7f2ee21 Bugfix: Always include univalue in DIST_SUBDIRS 2016-01-31 02:32:00 +00:00
Jimmy Kiselak
64c8f22d4c Merge branch 'master' into real 2016-01-30 14:36:29 -05:00
Jimmy Kiselak
55c203fada Merge branch 'master' into real 2016-01-30 14:34:26 -05:00
Wladimir J. van der Laan
a6771fc973
Merge #7441: Use Debian 8.3 in gitian build guide
666a0f8 Use Debian 8.3 in gitian build guide (fanquake)
2016-01-30 11:45:39 +01:00
MarcoFalke
fa331db68b mempool: Replace maxFeeRate of 10000*minRelayTxFee with maxTxFee 2016-01-30 11:29:22 +01:00
fanquake
666a0f835a Use Debian 8.3 in gitian build guide
Add instructions to clone the gitian.sigs repo
2016-01-30 10:10:11 +08:00
Jorge Timón
93fc58c742 Consensus: Remove calls to error() and FormatStateMessage() from some consensus code in main 2016-01-29 18:38:39 +01:00
Wladimir J. van der Laan
019280617a
Merge #6842: limitfreerelay edge case bugfix
2dfeaa1 limitfreerelay edge case bugfix: (ptschip)
2016-01-29 13:12:02 +01:00
Wladimir J. van der Laan
69e2a4003b
Merge #7423: doc: add example for building with constrained resources
f9298cc doc: add example for building with constrained resources (Jarret Dyrbye)
2016-01-29 12:56:23 +01:00
Wladimir J. van der Laan
4b12266d80
Merge #7428: doc: add example for listing ./configure flags
befeb55 Add example for displaying additional configure flags (Nathaniel Mahieu)
2016-01-29 12:55:42 +01:00
Wladimir J. van der Laan
9645218c66
Merge #7437: GUI: Disable tab navigation for peers tables.
8b3d8e3 GUI: Disable tab navigation for peers tables. (Kefkius)
2016-01-29 12:51:45 +01:00
Luke Dashjr
3b66e54457 Simplify check for replacebyfee=opt-in 2016-01-29 01:28:54 +00:00
Jimmy Kiselak
36cc463670 merge in master 2016-01-28 18:34:07 -05:00
Gregory Maxwell
325c725fb6 Add whitelistforcerelay to control forced relaying.
Also renames whitelistalwaysrelay.

Nodes relay all transactions from whitelisted peers, this
 gets in the way of some useful reasons for whitelisting
 peers-- for example, bypassing bandwidth limitations.

The purpose of this forced relaying is for specialized gateway
 applications where a node is being used as a P2P connection
 filter and multiplexer, but where you don't want it getting
 in the way of (re-)broadcast.

This change makes it configurable with whitelistforcerelay.
2016-01-28 22:26:21 +00:00
Kefkius
8b3d8e3991
GUI: Disable tab navigation for peers tables.
Fix a bug in which the Peers tab of the debug window
does not allow navigation to other tabs via Ctrl[+Shift]+Tab.
2016-01-28 15:26:54 -05:00
Nathaniel Mahieu
befeb55418 Add example for displaying additional configure flags 2016-01-28 11:10:15 -06:00
Wladimir J. van der Laan
326ffed09b
Merge #7212: Adds unittests for CAddrMan and CAddrinfo, removes source of non-determinism.
40c87b6 Increase test coverage for addrman and addrinfo (Ethan Heilman)
2016-01-28 13:14:07 +01:00
Wladimir J. van der Laan
1e06bab804
Merge #7417: Minor improvements to the release process
c6325cf Minor improvements to the release process (Paul Rabahy)
2016-01-28 11:28:43 +01:00
Wladimir J. van der Laan
62f2d769e4
Merge #7348: MOVE ONLY: move rpc* to rpc/
d13f65e rpc: update inline comments to refer to new file paths (Daniel Cousens)
a0eaff8 move rpc* to rpc/ (Daniel Cousens)
2016-01-28 11:28:24 +01:00
Wladimir J. van der Laan
20a408ca99
Merge #7425: devtools: Fix utf-8 support in messages for github-merge
c8a6c11 devtools: Fix utf-8 support in messages for github-merge (Wladimir J. van der Laan)
2016-01-28 10:54:47 +01:00
Wladimir J. van der Laan
4a46bdc0fe
Merge #7415: net: Hardcoded seeds update January 2016
4818dba net: Hardcoded seeds update January 2016 (Wladimir J. van der Laan)
2016-01-28 10:54:14 +01:00
Jonas Schnelli
cdcbc59a42
Merge #7396: [Qt] Add option to increase/decrease font size in the console window
43abb02 [Qt] Add a new chevron/arrow icon for the console prompt line (Jonas Schnelli)
56c9e66 [Qt] keep scroll position in GUI console after changing font size (Jonas Schnelli)
3a3a927 [Qt] Add option to increase/decrease font size in the console window (Jonas Schnelli)
2016-01-28 10:23:31 +01:00
Luke Dashjr
d65dee961e Accept replacebyfee=opt-in for turning on opt-in RBF
Basic forward-compatibility with more flexible parameters like fss
2016-01-28 06:10:35 +00:00
Luke Dashjr
23565157ba Change default configure option --with-system-univalue to "no" 2016-01-28 05:31:41 +00:00
Luke Dashjr
77b55a00ed Rename permitrbf to replacebyfee
"permit" is currently used to configure transaction filtering, whereas replacement is more to do with the memory pool state than the transaction itself.
2016-01-28 05:11:06 +00:00
Luke Dashjr
cddffaf5e6 Bugfix: Include COPYRIGHT_HOLDERS_SUBSTITUTION in Makefile substitutions so it gets passed to extract-strings correctly 2016-01-28 04:52:52 +00:00
Luke Dashjr
29598e41a5 Move PACKAGE_URL to configure.ac 2016-01-28 04:37:34 +00:00
Jarret Dyrbye
f9298cc60e doc: add example for building with constrained resources
discussed in github issue #6658
2016-01-27 20:17:02 -07:00
Luke Dashjr
78ec83ddfe splashscreen: Resize text to fit exactly 2016-01-27 20:29:18 +00:00
Ethan Heilman
40c87b6e69 Increase test coverage for addrman and addrinfo
Adds several unittests for CAddrMan and CAddrInfo.
Increases the accuracy of addrman tests.
Removes non-determinism in tests by overriding the random number generator.
Extracts testing code from addrman class to test class.
2016-01-27 10:50:58 -05:00
Wladimir J. van der Laan
9189e30b12
Merge #7300: [trivial] Add missing copyright headers
fabcee1 Remove copyright header from autogenerated chainparamsseeds.h (MarcoFalke)
fa60d05 Add missing copyright headers (MarcoFalke)
fa7e4c0 Bump copyright headers to 2014 (MarcoFalke)
2016-01-27 12:06:31 +01:00
Wladimir J. van der Laan
c8a6c11d6d devtools: Fix utf-8 support in messages for github-merge
Use 'utf-8' instead of the Python 2 default of 'ascii' to encode/decode
commit messages.
This can be removed when switching to Python 3, as 'utf-8' is the
default there.
Necessary for merging #7422 due to the ฿ in ฿tcDrak.
2016-01-27 11:45:06 +01:00
Wladimir J. van der Laan
42ecea48fd
Merge #7424: Add security/export checks to gitian and fix current failures
a81c87f release: add security/symbol checks to gitian (Cory Fields)
a8ce872 release: always link librt for glibc back-compat builds (Cory Fields)
f3d3eaf release: add check-symbols and check-security make targets (Cory Fields)
475813b release: add _IO_stdin_used to ignored exports (Cory Fields)
cd27bf5 release: fix parsing of BIND_NOW with older readelf (Cory Fields)
2016-01-27 11:31:00 +01:00
Cory Fields
a81c87fafc release: add security/symbol checks to gitian 2016-01-26 23:07:04 -05:00
Cory Fields
a8ce872118 release: always link librt for glibc back-compat builds
glibc absorbed clock_gettime in 2.17. librt (its previous location) is safe to
link in anyway for back-compat.

Fixes #7420
2016-01-26 23:07:04 -05:00
Cory Fields
f3d3eaf78e release: add check-symbols and check-security make targets
These are not added to the default checks because some of them depend on
release-build configs.
2016-01-26 23:07:04 -05:00
Cory Fields
475813ba5b release: add _IO_stdin_used to ignored exports
For details see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634261#109
2016-01-26 23:07:04 -05:00
Cory Fields
cd27bf51e0 release: fix parsing of BIND_NOW with older readelf 2016-01-26 23:07:04 -05:00
Paul Rabahy
c6325cf2f9 Minor improvements to the release process
Instruct people to "git fetch" so that if this is their 2nd+ gitian build they will have a fresh bitcoin repo.
Instruct people to add all the known pgp keys to their keyring so that gverify will print more useful info.
2016-01-26 18:26:08 -05:00
Jonas Schnelli
43abb02aa2
[Qt] Add a new chevron/arrow icon for the console prompt line 2016-01-26 15:34:36 +01:00
Wladimir J. van der Laan
473ad1bb02
Merge #7391: [init] Clarify help message
fae78fa [init] Clarify permitrbf help message (MarcoFalke)
2016-01-25 17:44:58 +01:00
Wladimir J. van der Laan
4818dba900 net: Hardcoded seeds update January 2016 2016-01-25 16:14:14 +01:00
Wladimir J. van der Laan
6a5932bf2a
Merge #7402: [devtools] github-merge get toplevel dir without extra whitespace
5ed2f16 [devtools] github-merge get toplevel dir without extra whitespace (Andrew C)
2016-01-25 15:42:16 +01:00
Andrew C
5ed2f16480 [devtools] github-merge get toplevel dir without extra whitespace
Fixes a bug in github merge when it runs the tests where the toplevel directory has an extra '\n' appended to the path string. Now it doesn't.
2016-01-25 09:02:05 -05:00
Wladimir J. van der Laan
0893705ebf
Merge #7395: devtools: show pull and commit information in github-merge
17b5d38 devtools: show pull and commit information in github-merge (Wladimir J. van der Laan)
2016-01-25 14:58:21 +01:00
Wladimir J. van der Laan
9f796f3d2b
Merge #7400: Add achow101's pgp key
e99edc1 Add achow101's pgp key (Andrew C)
2016-01-25 14:49:27 +01:00
MarcoFalke
fae78fa818 [init] Clarify permitrbf help message 2016-01-23 22:46:24 +01:00
Andrew C
e99edc1be0 Add achow101's pgp key 2016-01-23 08:58:17 -05:00
Jonas Schnelli
f281caac48
Merge #7384: [qt] Peertable: Increase SUBVERSION_COLUMN_WIDTH
faa9011 [qt] Peertable: Increase SUBVERSION_COLUMN_WIDTH (MarcoFalke)
2016-01-23 14:17:18 +01:00
Jonas Schnelli
56c9e66a6d
[Qt] keep scroll position in GUI console after changing font size 2016-01-23 00:05:14 +01:00
Jonas Schnelli
3a3a927325
[Qt] Add option to increase/decrease font size in the console window 2016-01-22 21:46:42 +01:00
Wladimir J. van der Laan
02676c57ce
Merge #7236: Use createrawtx locktime parm in txn_clone
e279038 Use createrawtx locktime parm in txn_clone (Tom Harding)
2016-01-22 16:57:47 +01:00
Wladimir J. van der Laan
17b5d3896f devtools: show pull and commit information in github-merge
Print the number and title of the pull, as well as the commits to be
merged.
2016-01-22 16:37:42 +01:00
Wladimir J. van der Laan
fc08994000
Merge #7262: Reduce inefficiency of GetAccountAddress()
2409865 Reduce inefficiency of GetAccountAddress() (Chris Moore)
2016-01-22 15:31:11 +01:00
Wladimir J. van der Laan
6a07208388
Merge #7056: Save last db read
8504867 Save the last unnecessary database read (Alex Morcos)
2016-01-22 14:15:52 +01:00
Wladimir J. van der Laan
93b05764d5
Merge #7177: [qa] Change default block priority size to 0
fa8e2a6 [qa] Change default block priority size to 0 (MarcoFalke)
2016-01-22 13:26:49 +01:00
Jonas Schnelli
f221fc1887
Merge #7364: [qt] Windows: Make rpcconsole monospace font larger
fa6a59d [qt] Windows: Make rpcconsole monospace font larger (MarcoFalke)
2016-01-22 09:47:51 +01:00
Wladimir J. van der Laan
6f7841d545
Merge #7386: Add option -permitrbf to set transaction replacement policy
b768108 Add option `-permitrbf` to set transaction replacement policy (Wladimir J. van der Laan)
2016-01-21 12:36:41 +01:00
Wladimir J. van der Laan
b768108d9c Add option -permitrbf to set transaction replacement policy
Add a configuration option `-permitrbf` to set transaction replacement policy
for the mempool.

Enabling it will enable (opt-in) RBF, disabling it will refuse all
conflicting transactions.
2016-01-21 11:24:31 +01:00
Jonas Schnelli
ae2db67fee
Merge #7383: [Qt] rename "amount" to "requested amount" in receive coins table
df6e8e1 [Qt] rename "amount" to "requested amount" in receive coins table (Jonas Schnelli)
2016-01-21 09:00:53 +01:00
MarcoFalke
faa9011d09 [qt] Peertable: Increase SUBVERSION_COLUMN_WIDTH 2016-01-20 23:00:10 +01:00
Daniel Cousens
d13f65ebac rpc: update inline comments to refer to new file paths 2016-01-21 08:39:04 +11:00
Daniel Cousens
a0eaff8a1d move rpc* to rpc/ 2016-01-21 08:36:55 +11:00
Jonas Schnelli
df6e8e17e4
[Qt] rename "amount" to "requested amount" in receive coins table 2016-01-20 17:30:06 +01:00
MarcoFalke
fa8e2a6925 [qa] Change default block priority size to 0 2016-01-20 16:58:43 +01:00
Wladimir J. van der Laan
b92ea98503
Merge #7183: Improved readability of ApproximateBestSubset
96efcad Improved readability of sorting for coin selection. (Murch)
2016-01-20 15:55:03 +01:00
Wladimir J. van der Laan
9982710e88
Merge #7307: [RPC, Wallet] Move RPC dispatch table registration to wallet/ code
dd2dc40 [RPC, Wallet] Move RPC dispatch table registration to wallet/ code (Jonas Schnelli)
2016-01-20 15:15:51 +01:00
Jonas Schnelli
dd2dc400ee
[RPC, Wallet] Move RPC dispatch table registration to wallet/ code
Allow extending the rpc dispatch table by appending commands when server is not running.
2016-01-20 15:03:25 +01:00
Wladimir J. van der Laan
82429d0861
Merge #7222: RPC: Indicate which transactions are signaling opt-in RBF
eaa8d27 RPC: indicate which transactions are replaceable (Suhas Daftuar)
2016-01-20 13:50:37 +01:00
Wladimir J. van der Laan
e6f97efbca
Merge pull request #7378
da6d18b devtools: replace github-merge with python version (Wladimir J. van der Laan)
2016-01-20 13:39:31 +01:00
Wladimir J. van der Laan
5578144413
Merge #7350: Banlist updates
e8600c9 banlist (bugfix): allow CNode::SweepBanned() to run on interval (Philip Kaufmann)
2977c24 banlist: add more banlist infos to log / add GUI signal (Philip Kaufmann)
ce479aa banlist: better handling of banlist in StartNode() (Philip Kaufmann)
57c77fe banlist: update set dirty to be more fine grained (Philip Kaufmann)
2016-01-20 13:38:40 +01:00
Wladimir J. van der Laan
f48e59df0a
Merge #7328: Update README.md website link
b07b103 Update project URL (BtcDrak)
2016-01-20 13:28:53 +01:00
Wladimir J. van der Laan
53fa09f04d
Merge #7060: build: Make networking work inside LXC builder in gitian-building.md
3b468a0 gitian: Need `ca-certificates` and `python` for LXC builds (Wladimir J. van der Laan)
99fda26 doc: Make networking work inside builder in gitian-building.md (Wladimir J. van der Laan)
2016-01-20 13:25:07 +01:00
Wladimir J. van der Laan
545c5f920e
Merge #7381: [walletdb] Fix syntax error in key parser
fa6d4cc [walletdb] Fix syntax error in key parser (MarcoFalke)
2016-01-20 13:08:03 +01:00
Wladimir J. van der Laan
da6d18b6c7 devtools: replace github-merge with python version
This is meant to be a direct translation of the bash script,
with the difference that it retrieves the PR title from github,
thus creating pull messages like:

    Merge #12345: Expose transaction temperature over RPC
2016-01-20 13:02:45 +01:00
MarcoFalke
fa6d4cc095 [walletdb] Fix syntax error in key parser 2016-01-20 09:44:53 +01:00
Suhas Daftuar
eaa8d2754b RPC: indicate which transactions are replaceable
Add "bip125-replaceable" output field to listtransactions and gettransaction
which indicates if an unconfirmed transaction, or any unconfirmed parent, is
signaling opt-in RBF according to BIP 125.
2016-01-19 08:30:04 -05:00
Wladimir J. van der Laan
f9fd4c2884
Merge pull request #7281: Improve CheckInputs() comment about sig verification
fd83615 Improve CheckInputs() comment about sig verification (Peter Todd)
2016-01-19 13:23:32 +01:00
Wladimir J. van der Laan
3b43cad9d0
Merge pull request #7164: Do not download transactions during initial blockchain sync
39a525c Do not download transactions during inital sync (ptschip)
2016-01-19 12:58:15 +01:00
Luke Dashjr
3cae14056a Bugfix: Actually use _COPYRIGHT_HOLDERS_SUBSTITUTION everywhere 2016-01-19 08:42:05 +00:00
Wladimir J. van der Laan
668906fcf2
Merge pull request #7280
faeda0e [travis] Run contrib/devtools/check-doc.py early (MarcoFalke)
fada0c9 [travis] Fail when documentation is outdated (MarcoFalke)
2016-01-19 09:41:32 +01:00
Wladimir J. van der Laan
21376af183
Merge pull request #7372
facd288 [qa] wallet: Print maintenance (MarcoFalke)
2016-01-18 16:24:14 +01:00
MarcoFalke
facd288c31 [qa] wallet: Print maintenance 2016-01-18 16:18:48 +01:00
Wladimir J. van der Laan
e2ed57e61e
Merge pull request #7373
4a04879 Fix error in blockchain.py introduced in merge (Suhas Daftuar)
2016-01-18 16:00:58 +01:00
Suhas Daftuar
4a04879378 Fix error in blockchain.py introduced in merge 2016-01-18 09:17:48 -05:00
MarcoFalke
faeda0e677 [travis] Run contrib/devtools/check-doc.py early 2016-01-18 14:00:02 +01:00
Wladimir J. van der Laan
e4e77ee55d
Merge pull request #7194
135d6ec Add RPC tests for getblockheader. (James O'Beirne)
4745636 Add RPC documentation for getblockheader[chainwork]. (James O'Beirne)
16d4fce Add assert_is_hex_string and assert_is_hash_string to RPC test utils. (James O'Beirne)
2016-01-18 12:24:01 +01:00
Wladimir J. van der Laan
ae20172941
Merge pull request #7232
94bdd71 Added help text for chainwork value (Gregory Sanders)
2016-01-18 12:20:13 +01:00
Wladimir J. van der Laan
47c5ed19f3
Merge pull request #7208
64360f1 Make max tip age an option instead of chainparam (Wladimir J. van der Laan)
2016-01-18 11:55:59 +01:00
Wladimir J. van der Laan
c851d8d71b
Merge pull request #7290
fa461df Clarify mocktime help message (MarcoFalke)
faa572a [init] Help Msg: Use Params(CBaseChainParams::MAIN) (MarcoFalke)
fa6ab96 [init] Add missing help for args (MarcoFalke)
fac11ea [init] Fix error message of maxtxfee invalid amount (MarcoFalke)
2016-01-18 11:21:51 +01:00
Wladimir J. van der Laan
3b468a0e60 gitian: Need ca-certificates and python for LXC builds 2016-01-18 10:59:14 +01:00
Wladimir J. van der Laan
99fda26de0 doc: Make networking work inside builder in gitian-building.md
These are changes I needed to get gitian building to work with Debian
8.2, which is the version we tell to use.

- Set up NAT, so that container can access network beyond host
- Remove explicit cgroup setup - these are mounted automatically now
2016-01-18 10:57:36 +01:00
Wladimir J. van der Laan
d3dfc6d7e1
Merge pull request #7320
fa1cb1a [qa] Test walletpassphrase timeout (MarcoFalke)
2016-01-18 10:56:00 +01:00
Wladimir J. van der Laan
b8f485c472
Merge pull request #7304
fa074a6 [contrib] Prepare clang-format-diff for usage (MarcoFalke)
fa4f4b6 Add clang-format-diff.py from the LLVM svn (MarcoFalke)
2016-01-18 10:49:47 +01:00
Wladimir J. van der Laan
3ec5bb0a6e
Merge pull request #7335
7777994 [qa] Fix pyton syntax in rpc tests (MarcoFalke)
2016-01-18 10:46:01 +01:00
Wladimir J. van der Laan
5e00147838
Merge pull request #7313
0331aa3 Fixing typos on security-check.py and torcontrol.cpp (calebogden)
2016-01-18 10:45:25 +01:00
Wladimir J. van der Laan
a8bd616fea
Merge pull request #7329
9d263bd Typo fixes in comments (Chris Wheeler)
2016-01-18 10:41:32 +01:00
Wladimir J. van der Laan
2350ab28fb
Merge pull request #7363
bd34174 Update license year range to 2016 (Prayag Verma)
2016-01-18 10:30:22 +01:00
Wladimir J. van der Laan
f2cf071e70
Merge pull request #7368
4d10d2e Eliminate race condition in mempool_packages test (Suhas Daftuar)
2016-01-18 10:26:48 +01:00
MarcoFalke
fa6a59dd39 [qt] Windows: Make rpcconsole monospace font larger 2016-01-17 19:28:49 +01:00
Prayag Verma
bd34174ebc Update license year range to 2016 2016-01-17 23:38:11 +05:30
Chris Wheeler
9d263bd17c Typo fixes in comments 2016-01-17 11:03:56 +00:00
MarcoFalke
fabcee1972 Remove copyright header from autogenerated chainparamsseeds.h 2016-01-16 15:31:22 +01:00
Wladimir J. van der Laan
fd9356ba4e
Merge pull request #7322
c0cf48d c++11: add scoped enum fallbacks to CPPFLAGS rather than defining them locally (Cory Fields)
2016-01-16 10:49:46 +01:00
BtcDrak
b07b103e8a Update project URL 2016-01-15 07:45:39 +00:00
Luke Dashjr
5bc4fb7b60 Merge branch 'master' into 20150703_banlist_updates 2016-01-15 05:17:15 +00:00
Luke Dashjr
5d3b29bc00 doc: Add UniValue to build instructions 2016-01-15 04:34:10 +00:00
Luke Dashjr
ab22705a7b Build against system UniValue when available 2016-01-15 04:34:06 +00:00
Luke Dashjr
2adf7e2c90 Bugfix: The var is LIBUNIVALUE,not LIBBITCOIN_UNIVALUE 2016-01-15 04:34:02 +00:00
Suhas Daftuar
4d10d2e16f Eliminate race condition in mempool_packages test 2016-01-14 20:35:21 -05:00
Wladimir J. van der Laan
e1060c56cc
Merge pull request #7334
fa989fb [qt] coincontrol workaround is still needed in qt5.4 (fixed in qt5.5) (MarcoFalke)
2016-01-14 13:56:59 +01:00
Wladimir J. van der Laan
2be4bb51f3
Merge pull request #7342
3503a78 release: remove libc6 dependency from the osx signing descriptor (Cory Fields)
2016-01-14 13:46:30 +01:00
Cory Fields
3503a78670 release: remove libc6 dependency from the osx signing descriptor
It is unneeded after the last toolchain update, and missing from Trusty.
2016-01-13 22:20:02 -05:00
Jonas Schnelli
c079d79c9a
Merge pull request #7327
30cdace [Wallet] Transaction View: LastMonth calculation fixed (crowning-)
2016-01-13 21:24:43 +01:00
crowning-
30cdacea3c [Wallet] Transaction View: LastMonth calculation fixed 2016-01-13 21:17:08 +01:00
MarcoFalke
7777994846 [qa] Fix pyton syntax in rpc tests 2016-01-13 20:31:03 +01:00
MarcoFalke
fa989fbf57 [qt] coincontrol workaround is still needed in qt5.4 (fixed in qt5.5) 2016-01-13 18:46:12 +01:00
Wladimir J. van der Laan
17ef279304
Merge pull request #7332
faf671b [wallet] Clarify rpc help message with regard to rounding (MarcoFalke)
2016-01-13 16:01:28 +01:00
Wladimir J. van der Laan
be6d5a617d
Merge pull request #7312
d11fc16 [Wallet] Call notification signal when a transaction is abandoned (Jonas Schnelli)
df0e222 Add RPC test for abandoned and conflicted transactions. (Alex Morcos)
01e06d1 Add new rpc call: abandontransaction (Alex Morcos)
9e69717 Make wallet descendant searching more efficient (Alex Morcos)
2016-01-13 15:47:45 +01:00
Jonas Schnelli
d11fc1695c [Wallet] Call notification signal when a transaction is abandoned 2016-01-13 08:42:04 -05:00
Alex Morcos
df0e2226d9 Add RPC test for abandoned and conflicted transactions. 2016-01-13 08:42:04 -05:00
Alex Morcos
01e06d1fa3 Add new rpc call: abandontransaction
Unconfirmed transactions that are not in your mempool either due to eviction or other means may be unlikely to be mined.  abandontransaction gives the wallet a way to no longer consider as spent the coins that are inputs to such a transaction.  All dependent transactions in the wallet will also be marked as abandoned.
2016-01-13 08:42:04 -05:00
MarcoFalke
faf671bca6 [wallet] Clarify rpc help message with regard to rounding 2016-01-13 12:06:24 +01:00
Wladimir J. van der Laan
2cd004b123
Merge pull request #7326
3a9dfe9 Fix typo, wrong information in gettxout help text. (paveljanik)
2016-01-13 11:50:38 +01:00
Wladimir J. van der Laan
c49551886a
Merge pull request #7296
bebe58b SQUASHME: Fix rpc tests that assumed fallback to minRelayTxFee (Alex Morcos)
e420a1b Add sane fallback for fee estimation (Alex Morcos)
995b9f3 Always respect GetRequiredFee for wallet txs (Alex Morcos)
2016-01-13 11:04:31 +01:00
Wladimir J. van der Laan
18ca3fa840
Merge pull request #7324
d570a1f doc/bips: Document BIP 125 support (Luke Dashjr)
2016-01-13 10:55:06 +01:00
Jorge Timón
e86756193e MOVEONLY: non-consensus: from pow to chain:
- GetBlockProof
- GetBlockProofEquivalentTime
2016-01-12 13:43:14 +01:00
Gregory Sanders
94bdd71f9b Added help text for chainwork value 2016-01-11 12:06:55 -05:00
paveljanik
3a9dfe9d14 Fix typo, wrong information in gettxout help text. 2016-01-10 17:33:54 +01:00
Luke Dashjr
d570a1f41b doc/bips: Document BIP 125 support 2016-01-09 17:40:39 +00:00
Wladimir J. van der Laan
dd1304ec21
Merge pull request #7081
45b8e27 -bytespersigop option to additionally limit sigops in transactions we relay and mine (Luke Dashjr)
2016-01-09 18:01:54 +01:00
Luke Dashjr
fdc202f4b0 Merge branch bytespersigop 2016-01-09 16:53:12 +00:00
MarcoFalke
fa1cb1ae15 [qa] Test walletpassphrase timeout 2016-01-09 16:54:04 +01:00
Wladimir J. van der Laan
93ca5a35b0
Merge pull request #7308
168915e Eliminate race condition in sendheaders.py test (Suhas Daftuar)
82a0ce0 Add race-condition debugging tool to mininode (Suhas Daftuar)
2016-01-09 16:30:33 +01:00
MarcoFalke
fa461df685 Clarify mocktime help message 2016-01-09 13:57:08 +01:00
calebogden
0331aa350c Fixing typos on security-check.py and torcontrol.cpp 2016-01-08 13:31:42 -08:00
Cory Fields
c0cf48d1ac c++11: add scoped enum fallbacks to CPPFLAGS rather than defining them locally
Due to include ordering, defining in one place was not enough to ensure correct
usage. Use global defines so that we don't have to worry abou this ordering.

Also add a comment in configure about the test.
2016-01-08 13:32:00 -05:00
Wladimir J. van der Laan
9de541a9c9
Merge pull request #7306
f61766b Make sure conflicted wallet tx's update balances (Alex Morcos)
2016-01-08 17:36:19 +01:00
Wladimir J. van der Laan
3b57e9cff0
Merge pull request #7317
8a7f000 [RPC] remove the option of having multiple timer interfaces (Jonas Schnelli)
db198d5 Fix RPCTimerInterface ordering issue Dispatching a QThread from a non Qt thread is not allowed. Always use the HTTPRPCTimerInterface (non QT) to dispatch RPCRunLater threads. (Jonas Schnelli)
2016-01-08 17:34:51 +01:00
Jonas Schnelli
8a7f0001be
[RPC] remove the option of having multiple timer interfaces 2016-01-08 11:18:28 +01:00
Jonas Schnelli
db198d51a6
Fix RPCTimerInterface ordering issue
Dispatching a QThread from a non Qt thread is not allowed. Always use the HTTPRPCTimerInterface (non QT) to dispatch RPCRunLater threads.
2016-01-08 11:15:00 +01:00
Alex Morcos
9e69717254 Make wallet descendant searching more efficient 2016-01-07 16:31:12 -05:00
Suhas Daftuar
168915e6de Eliminate race condition in sendheaders.py test
Clear the last block announcement before mining new blocks.
2016-01-07 09:23:05 -05:00
Suhas Daftuar
82a0ce09b4 Add race-condition debugging tool to mininode 2016-01-07 09:22:20 -05:00
Jonas Schnelli
b1cf0058d9
Merge pull request #7298
faf3299 [qt] Intro: Display required space (MarcoFalke)
2016-01-07 13:21:54 +01:00
MarcoFalke
faa572a329 [init] Help Msg: Use Params(CBaseChainParams::MAIN) 2016-01-07 12:10:13 +01:00
MarcoFalke
fa6ab96799 [init] Add missing help for args 2016-01-07 12:09:51 +01:00
MarcoFalke
fac11ea310 [init] Fix error message of maxtxfee invalid amount 2016-01-07 12:09:30 +01:00
Wladimir J. van der Laan
7b0a9a8040
Merge pull request #7266
6cd198f Removed comment about IsStandard for P2SH scripts (Marcel Krüger)
2016-01-07 11:58:37 +01:00
Wladimir J. van der Laan
5541560938
Merge pull request #7293
faf538b [trivial] Merge test cases and replace CENT with COIN (MarcoFalke)
fa3c7e6 [wallet] Add regression test for vValue sort order (MarcoFalke)
2016-01-07 09:24:34 +01:00
Wladimir J. van der Laan
d964b5bb1a
Merge pull request #7229
fa33d97 [walletdb] Add missing LOCK() in Recover() for dummyWallet (MarcoFalke)
fa14d99 [qa] check if wallet or blochchain maintenance changes the balance (MarcoFalke)
fa0765d [qa] Cleanup wallet.py test (MarcoFalke)
2016-01-07 09:17:11 +01:00
Wladimir J. van der Laan
de9e5ea75e
Merge pull request #7257
5e10922 Combine common error strings for different options so translations can be shared and reused (Luke Dashjr)
2016-01-07 09:12:20 +01:00
Wladimir J. van der Laan
41f1a3e99b
Merge pull request #7302
3968922 c++11: fix libbdb build against libc++ in c++11 mode (Cory Fields)
57d2f62 c++11: CAccountingEntry must be defined before use in a list (Cory Fields)
89f71c6 c++11: don't throw from the reverselock destructor (Cory Fields)
76ac35f c++11: detect and correct for boost builds with an incompatible abi (Cory Fields)
2016-01-07 08:56:03 +01:00
Alex Morcos
f61766b37b Make sure conflicted wallet tx's update balances 2016-01-06 17:24:30 -05:00
ptschip
2dfeaa1ad0 limitfreerelay edge case bugfix:
If a new transaction will cause limitfreerelay
to be exceeded it should not be accepted
into the memory pool and the byte counter
should be updated only after the fact.
2016-01-06 10:15:00 -08:00
MarcoFalke
fa074a6fd0 [contrib] Prepare clang-format-diff for usage 2016-01-06 16:50:06 +01:00
MarcoFalke
fa4f4b6974 Add clang-format-diff.py from the LLVM svn
------------------------------------------------------------------------
r249567 | djasper | 2015-10-07 19:00:20 +0200 (Wed, 07 Oct 2015) | 2 lines

clang-format: Add include sorting capabilities to sublime, emacs and
clang-format-diff.py.
------------------------------------------------------------------------
r231926 | djasper | 2015-03-11 15:58:38 +0100 (Wed, 11 Mar 2015) | 3 lines

clang-format: Recognize the .ts (TypeScript) extension as JavaScript.

Patch by Martin Probst. Thank you.
------------------------------------------------------------------------
r223685 | djasper | 2014-12-08 20:39:03 +0100 (Mon, 08 Dec 2014) | 1 line

clang-format: Make clang-format-diff.py format java files.
------------------------------------------------------------------------
r221990 | djasper | 2014-11-14 14:27:28 +0100 (Fri, 14 Nov 2014) | 4 lines

clang-format: Give clang-format-diff.py a -v option.

With it, it prints the file being formatted. Apparently people are
formatting thousands of files and some progress indication is helpful.
------------------------------------------------------------------------
r216945 | ed | 2014-09-02 22:59:13 +0200 (Tue, 02 Sep 2014) | 6 lines

Use /usr/bin/env python instead of /usr/bin/python.

On operating systems like the BSDs, it is typically the case that
/usr/bin/python does not exist. We should therefore use /usr/bin/env
instead. This is also done in various other scripts in tools/.

------------------------------------------------------------------------
r208766 | djasper | 2014-05-14 11:36:11 +0200 (Wed, 14 May 2014) | 1 line

clang-format: Add clang-format-diff usage examples for SVN.
------------------------------------------------------------------------
r199750 | djasper | 2014-01-21 16:40:01 +0100 (Tue, 21 Jan 2014) | 3 lines

clang-format: Enable formatting for .proto and .protodevel files.

Support for protocol buffer files seems complete enough.
------------------------------------------------------------------------
r197668 | djasper | 2013-12-19 11:21:37 +0100 (Thu, 19 Dec 2013) | 1 line

Fix usage description of clang-format-diff.py.
------------------------------------------------------------------------
r197608 | alp | 2013-12-18 22:34:07 +0100 (Wed, 18 Dec 2013) | 7 lines

clang-format-diff.py: fix -regex/-iregex matching

While debating the finer points of file extension matching, we somehow missed
the bigger problem that the current code will match anything starting with the
default or user-specified pattern (e.g. lit.site.cfg.in).

Fix this by doing what find(1) does, implicitly wrapping the pattern with ^$.
------------------------------------------------------------------------
r197542 | alp | 2013-12-18 01:58:58 +0100 (Wed, 18 Dec 2013) | 3 lines

clang-format-diff.py: add the OpenCL file extension

It's handled correctly as a C-family language.
------------------------------------------------------------------------
r197378 | alexfh | 2013-12-16 11:57:30 +0100 (Mon, 16 Dec 2013) | 14 lines

Added -iregex for case-insensitive regex to filter file names.

Summary:
-regex and -iregex both mimic options of the find utility.
Made the default list of extensions case-insensitive, so that it's not only C
and CPP extensions are accepted in upper case.

Reviewers: djasper

Reviewed By: djasper

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D2415
------------------------------------------------------------------------
r196917 | alp | 2013-12-10 14:51:53 +0100 (Tue, 10 Dec 2013) | 10 lines

clang-format-diff.py: Support -regex filter and more filename extensions

Add support for more filename extensions based on the list in the clang
plus JavaScript.

Also adds a -regex option so users can override defaults if they have unusual
file extensions or want to format everything in the diff.

Keeping with tradition the flag is modelled on Unix conventions, this time
matching the semantics of find(1).
------------------------------------------------------------------------
r196484 | alp | 2013-12-05 09:14:54 +0100 (Thu, 05 Dec 2013) | 4 lines

clang-format-diff.py: pass through errors to stderr, not stdout

Also use write() for unified diff output to avoid further processing by the
print function (e.g. trailing newline).
------------------------------------------------------------------------
r196336 | alp | 2013-12-04 01:48:22 +0100 (Wed, 04 Dec 2013) | 3 lines

clang-format-diff.py: Fix 'beintroduced' in help output

Also update docs to reflect recently changed -i inplace edit behaviour.
------------------------------------------------------------------------
r192505 | alexfh | 2013-10-11 23:32:01 +0200 (Fri, 11 Oct 2013) | 17 lines

Changed clang-format-diff.py to output diff by default. Added -i option to apply changes to files instead.

Summary:
"svn diff|clang-format-diff.py" will just output the diff.
Now it's possible to use:
  svn diff|clang-format-diff.py|patch -p0
as an equivalent to:
  svn diff|clang-format-diff.py -i
;)

Reviewers: djasper

Reviewed By: djasper

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1840
------------------------------------------------------------------------
r192184 | djasper | 2013-10-08 17:54:36 +0200 (Tue, 08 Oct 2013) | 7 lines

clang-format: Don't exit with failure on empty files.

Also let clang-format-diff.py detect errors based on clang-format's
return code. Otherwise messages like "Can't find usable .clang-format,
falling back to LLVM style" can make it fail, which might be undesired.

Patch by Alp Toker. Thank you!
------------------------------------------------------------------------
r191820 | djasper | 2013-10-02 15:59:03 +0200 (Wed, 02 Oct 2013) | 18 lines

clang-format: Fix clang-format-diff.py according to diff specification.

Patch by Alp Toker. Many thanks!

Original descriptions:
clang-format-diff incorrectly modifies unchanged lines due to an error
in diff parsing.

The unified diff format has a default line change count of 1, and 0 may
be specified to indicate that no lines have been added. This patch
updates the parser to accurately reflect the diff specification.

This also has the benefit of stabilising the operation so it will
produce the same output when run multiple times on the same changeset,
which was previously not the case.

No tests added because this script is not currently tested (though we
should look into that!)
------------------------------------------------------------------------
r191137 | djasper | 2013-09-21 12:05:02 +0200 (Sat, 21 Sep 2013) | 3 lines

Fix clang-format-diff.py to accept -style again.

Copy and paste error in r190935..
------------------------------------------------------------------------
r190935 | djasper | 2013-09-18 14:14:09 +0200 (Wed, 18 Sep 2013) | 3 lines

Simplify clang-format-diff.py using new clang-format options.

clang-format's -lines parameter makes this significantly easier.
------------------------------------------------------------------------
r189765 | alexfh | 2013-09-02 18:39:23 +0200 (Mon, 02 Sep 2013) | 2 lines

Added WebKit style to the BasedOnStyle handling and to the relevant help messages.

------------------------------------------------------------------------
r182923 | djasper | 2013-05-30 13:50:20 +0200 (Thu, 30 May 2013) | 4 lines

Fix default value of clang-format-diff's -p option.

This way, it has the same default as 'patch' and also the example in the
code makes more sense as it is explicitly setting -p 1.
------------------------------------------------------------------------
r179676 | djasper | 2013-04-17 09:55:02 +0200 (Wed, 17 Apr 2013) | 2 lines

Small improvements to clang-format documentation and integration
scripts.
------------------------------------------------------------------------
r179377 | djasper | 2013-04-12 15:42:36 +0200 (Fri, 12 Apr 2013) | 1 line

Fix clang-format-diff.py script.
------------------------------------------------------------------------
r179098 | djasper | 2013-04-09 17:23:04 +0200 (Tue, 09 Apr 2013) | 5 lines

Improvements to clang-format integrations.

This adds an emacs editor integration (thanks to Ami Fischman). Also
pulls out the style into a variable for the vi integration and just
uses clang-formats defaults style in clang-format-diff.py.
------------------------------------------------------------------------
r177506 | djasper | 2013-03-20 10:53:23 +0100 (Wed, 20 Mar 2013) | 1 line

Add clang-format binary to cfe.
------------------------------------------------------------------------

s
2016-01-06 16:49:51 +01:00
Alex Morcos
bebe58b748 SQUASHME: Fix rpc tests that assumed fallback to minRelayTxFee 2016-01-05 17:47:04 -05:00
Cory Fields
3968922b96 c++11: fix libbdb build against libc++ in c++11 mode
atomic_init clashes with
2016-01-05 17:17:29 -05:00
Cory Fields
57d2f62c99 c++11: CAccountingEntry must be defined before use in a list
c++11ism. This fixes builds against libc++.
2016-01-05 17:17:29 -05:00
Cory Fields
89f71c68c0 c++11: don't throw from the reverselock destructor
noexcept is default for destructors as of c++11. By throwing in reverselock's
destructor if it's lock has been tampered with, the likely result is
std::terminate being called. Indeed that happened before this change.

Once reverselock has taken another lock (its ctor didn't throw), it makes no
sense to try to grab or lock the parent lock. That is be broken/undefined
behavior depending on the parent lock's implementation, but it shouldn't cause
the reverselock to fail to re-lock when destroyed.

To avoid those problems, simply swap the parent lock's contents with a dummy
for the duration of the lock. That will ensure that any undefined behavior is
caught at the call-site rather than the reverse lock's destruction.

Barring a failed mutex unlock which would be indicative of a larger problem,
the destructor should now never throw.
2016-01-05 17:17:29 -05:00
Cory Fields
76ac35f36d c++11: detect and correct for boost builds with an incompatible abi
This is ugly, but temporary. boost::filesystem will likely be dropped soon
after c++11 is enabled. Otherwise, we could simply roll our own copy_file. I've
fixed this at the buildsystem level for now in order to avoid mixing in
functional changes.

Explanation:
If boost (prior to 1.57) was built without c++11, it emulated scoped enums
using c++98 constructs. Unfortunately, this implementation detail leaked into
the abi. This was fixed in 1.57.

When building against that installed version using c++11, the headers pick up
on the native c++11 scoped enum support and enable it, however it will fail to
link. This can be worked around by disabling c++11 scoped enums if linking will
fail.

Add an autoconf test to determine incompatibility. At build-time, if native
enums are being used (a c++11 build), and force-disabling them causes a
successful link, we can be sure that there's an incompatibility and enable the
work-around.
2016-01-05 17:17:29 -05:00
Murch
96efcadfc0 Improved readability of sorting for coin selection.
Future proofing added lines
2016-01-05 22:03:43 +01:00
MarcoFalke
fa60d05a4e Add missing copyright headers 2016-01-05 21:34:15 +01:00
MarcoFalke
fa7e4c0919 Bump copyright headers to 2014 2016-01-05 21:01:39 +01:00
MarcoFalke
faf538bfdb [trivial] Merge test cases and replace CENT with COIN 2016-01-05 20:36:03 +01:00
MarcoFalke
faf3299b73 [qt] Intro: Display required space
Required space depends on the user's choice:
 -prune=0
 -prune=<n>
2016-01-05 19:22:47 +01:00
Alex Morcos
e420a1b15e Add sane fallback for fee estimation
Add new commandline option "-fallbackfee" to use when fee estimation does not have sufficient data.
2016-01-05 13:13:23 -05:00
Alex Morcos
995b9f385b Always respect GetRequiredFee for wallet txs 2016-01-05 13:10:19 -05:00
Wladimir J. van der Laan
605c17844e
Merge pull request #7205
fa71669 [devtools] Use git pretty-format for year parsing (MarcoFalke)
fa24439 Bump copyright headers to 2015 (MarcoFalke)
fa6ad85 [devtools] Rewrite fix-copyright-headers.py (MarcoFalke)
2016-01-05 14:11:40 +01:00
Jonas Schnelli
aa413687de
Merge pull request #7282
621bd69 [Qt] fix coincontrol update issue when deleting a send coin entry (Jonas Schnelli)
2016-01-05 13:02:00 +01:00
Wladimir J. van der Laan
2078495d9c
Merge pull request #7193
fafd093 [wallet] Adjust pruning test (MarcoFalke)
2016-01-05 12:55:00 +01:00
Wladimir J. van der Laan
a10a7920c3
Merge pull request #7217
5246180 Mark blocks with too many sigops as failed (Suhas Daftuar)
2016-01-05 12:04:53 +01:00
Jimmy Kiselak
5a170adab8 change type of expiration queue 2016-01-04 19:04:55 -05:00
MarcoFalke
fa3c7e644f [wallet] Add regression test for vValue sort order 2016-01-05 00:40:20 +01:00
MarcoFalke
fada0c90b6 [travis] Fail when documentation is outdated 2016-01-04 19:24:07 +01:00
Wladimir J. van der Laan
45d13abf4e
Merge pull request #7253
0d59589 Bugfix: update-translations: Allow numerus translations to omit %n specifier (usually when it only has one possible value) (Luke Dashjr)
2016-01-04 12:00:36 +01:00
Wladimir J. van der Laan
49a735cba4
Merge pull request #7250
fa0a974 [qa] Move gen_return_txouts() to util.py (MarcoFalke)
2016-01-04 11:58:12 +01:00
Wladimir J. van der Laan
ac982a16e0
Merge pull request #7263
a5a0831 Double semicolon cleanup. (21E14)
2016-01-04 10:17:09 +01:00
Wladimir J. van der Laan
c173013821
Merge pull request #7274
fa6ce44 [debian] Update bitcoind manpage description (MarcoFalke)
fae7a36 [debian] Bump manpages and only mention -? (MarcoFalke)
2016-01-04 10:04:11 +01:00
Wladimir J. van der Laan
136abda597
qt: periodic translations pull from transifex 2016-01-04 09:48:44 +01:00
Jonas Schnelli
621bd6919f
[Qt] fix coincontrol update issue when deleting a send coin entry 2016-01-04 09:44:36 +01:00
Wladimir J. van der Laan
eb2b74526a
Merge pull request #7251
fa09562 [gitian] Set reference date to something more recent (MarcoFalke)
2016-01-04 09:29:58 +01:00
Jonas Schnelli
e289807e5a
Merge pull request #7255
6fd0a07 Remove hardcoded fee from CoinControl ToolTip (fanquake)
5fdf32d Replace some instances of formatWithUnit with formatHtmlWithUnit (fanquake)
2016-01-04 09:23:38 +01:00
Wladimir J. van der Laan
08ab9069af
Merge pull request #7256
33877ed Add note to CoinControl Dialog workaround (fanquake)
2016-01-04 09:21:35 +01:00
Wladimir J. van der Laan
d032b5b64b
Merge pull request #7276
7ef8f3c Report non-mandatory script failures correctly (Pieter Wuille)
2016-01-04 09:10:31 +01:00
Peter Todd
fd836153d5
Improve CheckInputs() comment about sig verification 2016-01-03 20:39:05 -08:00
Pieter Wuille
7ef8f3c072 Report non-mandatory script failures correctly 2016-01-03 16:50:31 +01:00
MarcoFalke
fa6ce44bf9 [debian] Update bitcoind manpage description
Update the description to match that description in
the main bitcoin README.md
2016-01-03 16:01:42 +01:00
MarcoFalke
fae7a369cb [debian] Bump manpages and only mention -?
The manpages are outdated and are very rarely updated when changes
to the code happen.
2016-01-03 16:01:32 +01:00
fanquake
6fd0a079d8 Remove hardcoded fee from CoinControl ToolTip 2016-01-03 05:57:51 +08:00
MarcoFalke
fa095622c2 [gitian] Set reference date to something more recent 2016-01-02 18:11:49 +01:00
fanquake
33877ed3b8 Add note to CoinControl Dialog workaround 2016-01-02 17:35:33 +08:00
Jimmy Kiselak
1f9a22d62e change type for support queue and type stored in block undo for claim insertions 2015-12-31 02:51:09 -05:00
Marcel Krüger
6cd198f380 Removed comment about IsStandard for P2SH scripts
Since #4365 (6259937388) P2SH scripts do not have to be IsStandard scripts.
2015-12-30 21:53:40 +01:00
Jimmy Kiselak
4beb23eb2f change type stored in block undo for claim insertions 2015-12-30 14:30:43 -05:00
21E14
a5a0831458 Double semicolon cleanup. 2015-12-30 12:23:07 -05:00
Jimmy Kiselak
76d4b51843 reorder operations in decrementBlock 2015-12-29 16:36:06 -05:00
Jimmy Kiselak
4d3c19e626 change type in claim queue 2015-12-29 16:21:09 -05:00
Jimmy Kiselak
97f2067c66 make supports expire 2015-12-29 13:50:11 -05:00
Chris Moore
2409865e14 Reduce inefficiency of GetAccountAddress()
Don't scan the wallet to see if the current key has been used if we're going to make a new key anyway.
Stop scanning the wallet as soon as we see that the current key has been used.
Don't call isValid() twice on the current key.
2015-12-28 16:56:53 -08:00
MarcoFalke
fa71669452 [devtools] Use git pretty-format for year parsing 2015-12-26 17:53:42 +01:00
Luke Dashjr
5e109225ae Combine common error strings for different options so translations can be shared and reused 2015-12-26 08:04:03 +00:00
fanquake
5fdf32de7e Replace some instances of formatWithUnit with formatHtmlWithUnit
Strings in a HTML context should be using formatHtmlWithUnit.
2015-12-26 11:49:19 +08:00
Luke Dashjr
0d595894f0 Bugfix: update-translations: Allow numerus translations to omit %n specifier (usually when it only has one possible value) 2015-12-25 13:15:01 +00:00
MarcoFalke
fa0a9749eb [qa] Move gen_return_txouts() to util.py 2015-12-24 12:26:36 +01:00
Jimmy Kiselak
78871a7091 clean up claimtrie some, start working toward expiring supports 2015-12-23 14:12:32 -05:00
Jonas Schnelli
be9a9a3d22
Merge pull request #7214
fa2f4bc qt5: Use the fixed font the system recommends (MarcoFalke)
2015-12-23 10:13:00 +01:00
Jimmy Kiselak
06a9919b48 Create OP_UPDATE_CLAIM, make OP_SUPPORT_CLAIM refer to claimID
Updates to claims now refer to a unique ID assigned to OP_CLAIM_NAMEs.
The claimID is the Hash160 of the claim's hash and nOut. When an
update is updated, that same claimID is used, so all updates to a
claim will use the original claimID.

Supports now refer to the claimID rather than a specific hash and
nOut.
2015-12-22 19:11:50 -05:00
Luke Dashjr
4d5a3df9d4 Bugfix: gitian-descriptors: Add missing python-setuptools requirement for OS X (biplist module) 2015-12-22 13:27:26 +00:00
Wladimir J. van der Laan
97d83739db
Merge pull request #7153
7632cf6 [Tests] Refactor some shared functions (Jonas Schnelli)
110ff11 [Tests] Add mempool_limit.py test (Jonas Schnelli)
2015-12-22 14:06:50 +01:00
Jonas Schnelli
a1c185be54
Merge pull request #7218
fa5769e [qt] Fix misleading translation (MarcoFalke)
fa8c8d7 torcontrol debug: Change to a blanket message that covers both cases (MarcoFalke)
2015-12-22 14:05:39 +01:00
Luke Dashjr
e4ab5e5f43 Bugfix: Correct copyright year in Mac DMG background image 2015-12-22 12:31:33 +00:00
Luke Dashjr
917b1d03cf Set copyright holders displayed in notices separately from the package name
This helps avoid accidental removal of upstream copyright names
2015-12-22 12:29:18 +00:00
Wladimir J. van der Laan
595f93977c
Merge pull request #7213
37d271d Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY. (mb300sd)
2015-12-22 11:37:11 +01:00
Wladimir J. van der Laan
ed095f0407
Merge pull request #7226
9b41a5f Add more tests to p2p-fullblocktest (Suhas Daftuar)
2015-12-22 09:54:27 +01:00
Luke Dashjr
c39a6fffd7 Travis & gitian-osx: Use depends for ds_store and mac_alias modules 2015-12-22 04:37:47 +00:00
Luke Dashjr
902ccde85e depends: Add mac_alias to depends 2015-12-22 04:37:46 +00:00
Cory Fields
82a2d98d9a depends: Add ds_store to depends 2015-12-22 04:37:46 +00:00
Cory Fields
de619a37fd depends: Pass PYTHONPATH along to configure 2015-12-22 04:37:46 +00:00
Luke Dashjr
e611b6e329 macdeploy: Use rsvg-convert rather than cairosvg 2015-12-22 04:37:45 +00:00
Luke Dashjr
63bcdc5227 More complicated package name substitution for Mac deployment 2015-12-22 03:24:21 +00:00
Wladimir J. van der Laan
c24337964f
Merge pull request #7062
901b01d Remove GetMinRelayFee (Suhas Daftuar)
27fae34 Use fee deltas for determining mempool acceptance (Suhas Daftuar)
9ef2a25 Update replace-by-fee logic to use fee deltas (Suhas Daftuar)
eb30666 Fix mempool limiting for PrioritiseTransaction (Suhas Daftuar)
2015-12-21 17:14:13 +01:00
Tom Harding
e279038e84 Use createrawtx locktime parm in txn_clone
Streamlines the test and serves as a test of the createrawtransaction
locktime parameter.
2015-12-20 15:41:20 -08:00
MarcoFalke
fa33d9740c [walletdb] Add missing LOCK() in Recover() for dummyWallet 2015-12-19 14:26:46 +01:00
Luke Dashjr
1a6c67c8f5 Parameterise 2009 in translatable copyright strings 2015-12-18 12:36:10 +00:00
MarcoFalke
fa14d99484 [qa] check if wallet or blochchain maintenance changes the balance 2015-12-18 12:37:29 +01:00
MarcoFalke
fa0765d433 [qa] Cleanup wallet.py test
* Remove outdated comment
* Remove unneeded 0s
* Remove semicolons
2015-12-18 12:37:08 +01:00
Suhas Daftuar
9b41a5fba2 Add more tests to p2p-fullblocktest 2015-12-18 05:39:31 -05:00
Wladimir J. van der Laan
8ea5ef1d39
Merge pull request #6980
e0769e1 [depends] Latest config.guess & config.sub (fanquake)
23a3c47 [depends] zeromq 4.0.7 (fanquake)
10d3c77 [depends] Fix miniupnpc compilation on osx (fanquake)
26f8ea5 [depends] native ccache 3.2.4 (fanquake)
17ad964 [depends] miniupnpc 1.9.20151026 (fanquake)
9e940fa [depends] Boost 1.59.0 (fanquake)
2015-12-18 09:24:59 +01:00
Jimmy Kiselak
7859b72ab4 add an upper limit to the delay between when a claim or support is made and when it becomes active 2015-12-17 12:05:20 -05:00
Wladimir J. van der Laan
cd3f12c61c
Merge pull request #7209
83cdcbd test: don't override BITCOIND and BITCOINCLI if they're set (Wladimir J. van der Laan)
2015-12-17 10:57:51 +01:00
Wladimir J. van der Laan
d22245f923
Merge pull request #7216
e18378e Removed offline testnet DNSSeed 'alexykot.me'. (Elias Rohrer)
2015-12-17 10:40:00 +01:00
Jimmy Kiselak
f9dfe3d067 switch to only using proportional delay 2015-12-17 03:11:46 -05:00
MarcoFalke
fa5769e95a [qt] Fix misleading translation 2015-12-16 15:44:46 +01:00
MarcoFalke
fa8c8d7fa6 torcontrol debug: Change to a blanket message that covers both cases 2015-12-16 12:57:06 +01:00
Suhas Daftuar
5246180f16 Mark blocks with too many sigops as failed 2015-12-15 15:40:50 -05:00
ptschip
39a525c21f Do not download transactions during inital sync 2015-12-15 07:41:44 -08:00
Elias Rohrer
e18378e53f Removed offline testnet DNSSeed 'alexykot.me'. 2015-12-15 14:53:15 +01:00
mb300sd
37d271d7cc Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY. 2015-12-15 02:01:45 -05:00
MarcoFalke
fa2f4bc4eb qt5: Use the fixed font the system recommends 2015-12-14 21:39:18 +01:00
James O'Beirne
135d6ec8ce Add RPC tests for getblockheader. 2015-12-14 10:40:15 -08:00
James O'Beirne
4745636126 Add RPC documentation for getblockheader[chainwork]. 2015-12-14 10:40:15 -08:00
James O'Beirne
16d4fce0b2 Add assert_is_hex_string and assert_is_hash_string to RPC test utils. 2015-12-14 10:40:11 -08:00
Wladimir J. van der Laan
83cdcbdca4 test: don't override BITCOIND and BITCOINCLI if they're set
In rpc-tests.py, don't override BITCOIND and BITCOINCLI if they're
already set. Makes it possible to run the tests with either another tree
or the GUI.
2015-12-14 14:18:12 +01:00
Wladimir J. van der Laan
7a5040155e
Merge pull request #7125
5400ef6 Replace trickle nodes with per-node/message Poisson delays (Pieter Wuille)
2015-12-14 13:42:02 +01:00
Wladimir J. van der Laan
64360f1304 Make max tip age an option instead of chainparam
After discussion in #7164 I think this is better.

Max tip age was introduced in #5987 to make it possible to run
testnet-in-a-box. But associating this behavior with the testnet chain
is wrong conceptually, as it is not needed in normal usage.
Should aim to make testnet test the software as-is.

Replace it with a (debug) option `-maxtipage`, which can be
specified only in the specific case.
2015-12-14 13:29:28 +01:00
Wladimir J. van der Laan
dc511dcfd9
Merge pull request #7200
d812daf fix logic for error log (accraze)
c611acc wallet: check if tx scriptPubKey is unspendable (accraze)
b6915b8 checks for null data transaction before debug.log (accraze)
2015-12-14 13:08:35 +01:00
Wladimir J. van der Laan
5f3c670d12
Merge pull request #7068
979698c [RPC-Tests] add option to run rpc test over QT clients (Jonas Schnelli)
2015-12-14 13:03:49 +01:00
Jonas Schnelli
979698c171
[RPC-Tests] add option to run rpc test over QT clients 2015-12-14 12:54:55 +01:00
Wladimir J. van der Laan
ea0f5a2b04
Merge pull request #7185
e1030dd Note that reviewers should mention the commit hash of the commits they reviewed. (Patrick Strateman)
2015-12-14 12:44:27 +01:00
Jonas Schnelli
b7c704abab
Merge pull request #7206
daf6466 Add "NODE_BLOOM" to guiutil so that peers don't get UNKNOWN[4] (Matt Corallo)
2015-12-14 08:57:33 +01:00
Luke Dashjr
d5f46832de Unify package name to as few places as possible without major changes 2015-12-14 02:11:10 +00:00
Matt Corallo
daf6466330 Add "NODE_BLOOM" to guiutil so that peers don't get UNKNOWN[4] 2015-12-13 16:21:48 -08:00
MarcoFalke
fa24439ff3 Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
MarcoFalke
fa6ad855e9 [devtools] Rewrite fix-copyright-headers.py 2015-12-13 18:07:36 +01:00
accraze
d812daf967 fix logic for error log 2015-12-12 10:45:53 -08:00
accraze
c611acc38a wallet: check if tx scriptPubKey is unspendable 2015-12-12 10:33:37 -08:00
accraze
b6915b8239 checks for null data transaction before debug.log
CWalletTx::GetAmounts could not find output address for null data transactions, thus issuing an error in debug.log. This change checks to see if the transaction is OP_RETURN before issuing error.

resolves #6142
2015-12-11 18:07:11 -08:00
Pieter Wuille
5400ef6bcb Replace trickle nodes with per-node/message Poisson delays
We used to have a trickle node, a node which was chosen in each iteration of
the send loop that was privileged and allowed to send out queued up non-time
critical messages. Since the removal of the fixed sleeps in the network code,
this resulted in fast and attackable treatment of such broadcasts.

This pull request changes the 3 remaining trickle use cases by random delays:
* Local address broadcast (while also removing the the wiping of the seen filter)
* Address relay
* Inv relay (for transactions; blocks are always relayed immediately)

The code is based on older commits by Patrick Strateman.
2015-12-11 22:20:38 +01:00
Wladimir J. van der Laan
9ee02cf564
Merge pull request #7156
6e76587 rpc: remove cs_main lock from `createrawtransaction` (Wladimir J. van der Laan)
2015-12-11 14:55:38 +01:00
Wladimir J. van der Laan
d1e17ff640
Merge pull request #7181
9bbe71b net: Add and document network messages in protocol.h (Wladimir J. van der Laan)
2015-12-11 10:53:58 +01:00
Wladimir J. van der Laan
f7f44b1bdd
Merge pull request #7197
00423e1 Set link from http:// to https:// (Suriyaa Kudo)
2015-12-11 09:24:48 +01:00
Patrick Strateman
e1030dddab Note that reviewers should mention the commit hash of the commits they reviewed. 2015-12-10 22:44:09 -08:00
Suriyaa Kudo
00423e1a71 Set link from http:// to https://
For opensource.org/licenses/MIT!
2015-12-10 18:45:23 +01:00
Wladimir J. van der Laan
9bbe71b641 net: Add and document network messages in protocol.h
- Avoids string typos (by making the compiler check)
- Makes it easier to grep for handling/generation of a certain message type
- Refer directly to documentation by following the symbol in IDE
- Move list of valid message types to protocol.cpp:
    protocol.cpp is a more appropriate place for this, and having
    the array there makes it easier to keep things consistent.
2015-12-10 12:14:06 +01:00
Wladimir J. van der Laan
5dc63ed1ca
Merge pull request #7179
2041190 test: Add basic test for `reject` code (Wladimir J. van der Laan)
9fc6ed6 net: Fix sent reject messages for blocks and transactions (Wladimir J. van der Laan)
2015-12-10 11:58:02 +01:00
Jimmy Kiselak
c759aebfab handle situation where expired claim is spent correctly 2015-12-09 23:37:16 -05:00
Wladimir J. van der Laan
00b4b8d1c4
Merge pull request #7154
a3c3ddb [Qt] add InMempool() info to transaction details (Jonas Schnelli)
2015-12-09 10:48:27 +01:00
fanquake
e0769e1928 [depends] Latest config.guess & config.sub 2015-12-09 16:49:58 +08:00
MarcoFalke
fafd09375e [wallet] Adjust pruning test 2015-12-09 09:34:48 +01:00
Wladimir J. van der Laan
20411903d7 test: Add basic test for reject code
Extend P2P test framework to make it possible to expect reject
codes for transactions and blocks.
2015-12-09 08:48:08 +01:00
Wladimir J. van der Laan
0800092fc2
Merge pull request #4906
fc0f52d Added a test for the pruning of extraneous inputs after ApproximateBestSet (Murch)
af9510e Moved set reduction to the end of ApproximateBestSubset to reduce performance impact (Murch)
5c03483 Coinselection prunes extraneous inputs from ApproximateBestSubset (AlSzacrel)
2015-12-08 10:23:01 +01:00
Wladimir J. van der Laan
16ccb74ef2
Merge pull request #7180
e3bc5e0 net: Account for `sendheaders` `verack` messages (Wladimir J. van der Laan)
2015-12-08 10:05:06 +01:00
Jorge Timón
cf82d05dd4 Build: Consensus: Make libbitcoinconsensus_la_SOURCES fully dynamic and dependend on both crypto and consensus packages
Some extra bytes in libconsensus to get all the crypto (except for signing, which is in the common module) below the libconsensus future independent repo (that has libsecp256k1 as a subtree).
hmac_sha256.o seems to be the only thing libbitcoinconsensus doesn't depend on from crypto, some more bytes for the final libconsensus: I'm not personally worried.
2015-12-08 06:31:04 +01:00
Jorge Timón
4feadec98e Build: Libconsensus: Move libconsensus-ready files to the consensus package 2015-12-08 06:31:01 +01:00
Jorge Timón
a3d5eec546 Build: Consensus: Move consensus files from common to its own module/package 2015-12-08 06:30:14 +01:00
Murch
fc0f52d780 Added a test for the pruning of extraneous inputs after ApproximateBestSet 2015-12-07 20:08:37 +01:00
Murch
af9510e037 Moved set reduction to the end of ApproximateBestSubset to reduce performance impact 2015-12-07 17:36:47 +01:00
Wladimir J. van der Laan
e3bc5e0e92 net: Account for sendheaders verack messages
Looks like these were forgotten in #6589.
2015-12-07 15:17:53 +01:00
Wladimir J. van der Laan
9fc6ed6003 net: Fix sent reject messages for blocks and transactions
Ever since we #5913 have been sending invalid reject messages
for transactions and blocks.
2015-12-07 14:53:20 +01:00
Wladimir J. van der Laan
dc0305d15a
Merge pull request #6589
ca188c6 log bytes recv/sent per command (Jonas Schnelli)
2015-12-07 13:54:22 +01:00
Jonas Schnelli
ca188c629e
log bytes recv/sent per command 2015-12-07 13:32:59 +01:00
Wladimir J. van der Laan
82bcf405f6
Merge pull request #7171
2f601d2 test: remove necessity to call create_callback_map (Wladimir J. van der Laan)
2015-12-07 12:43:44 +01:00
AlSzacrel
5c03483e26 Coinselection prunes extraneous inputs from ApproximateBestSubset
A further pass over the available inputs has been added to ApproximateBestSubset after a candidate set has been found. It will prune any extraneous inputs in the selected subset, in order to decrease the number of input and the resulting change.
2015-12-06 23:26:45 +01:00
Jimmy Kiselak
50d78cfdba implement the proportional auction delay 2015-12-05 23:08:11 -05:00
Jimmy Kiselak
98ada76975 lay the ground work for a proportional auction delay 2015-12-05 23:08:11 -05:00
Jimmy Kiselak
bc2465f9aa change bitcoin to lbrycrd in binaries and default data directories 2015-12-05 23:08:07 -05:00
Jimmy Kiselak
76f24dffde change default peer address, fix crash in claim trie 2015-12-05 23:03:00 -05:00
Gregory Maxwell
075faaebf2
Merge pull request #7174
96918a2 Don't do mempool lookups for "mempool" command without a filter (Matt Corallo)
2015-12-05 15:26:43 -08:00
Matt Corallo
96918a2f09 Don't do mempool lookups for "mempool" command without a filter 2015-12-05 17:45:44 +08:00
Wladimir J. van der Laan
a2822b97cb
Merge pull request #7170
4c40ec0 tests: Disable Tor interaction (Wladimir J. van der Laan)
2015-12-05 10:10:47 +01:00
Wladimir J. van der Laan
4c40ec0451 tests: Disable Tor interaction
This is unnecessary during the current tests (any test for Tor
interaction can explicitly enable it) and interferes with the proxy
test.
2015-12-04 13:24:12 +01:00
Wladimir J. van der Laan
2f601d215d test: remove necessity to call create_callback_map
Remove necessity to call create_callback_map (as well as the function
itself) from the Python P2P test framework. Invoke the appropriate
methods directly.

- Easy to forget to call it and wonder why it doesn't work
- Simplifies the code
- This makes it easier to handle new messages in subclasses
2015-12-04 13:15:59 +01:00
Wladimir J. van der Laan
792259278e
Merge pull request #7166
6aadc75 Disconnect on mempool requests from peers when over the upload limit. (Gregory Maxwell)
2015-12-04 09:43:09 +01:00
Jonas Schnelli
7d0bf0bb46
include the chaintip *blockIndex in the SyncTransaction signal
- allows reducing of calls to main.cpp for getting the chaintip during transaction syncing
- potentially allows reducing of cs_main locks
2015-12-04 09:18:53 +01:00
Gregory Maxwell
6aadc75578 Disconnect on mempool requests from peers when over the upload limit.
Mempool requests use a fair amount of bandwidth when the mempool is large,
 disconnecting peers using them follows the same logic as disconnecting
 peers fetching historical blocks.
2015-12-03 20:13:10 +00:00
Wladimir J. van der Laan
5548d9cb11
Merge pull request #7152
b440409 Add missing automake package to deb-based UNIX install instructions. (Matt Bogosian)
2015-12-03 13:53:46 +01:00
Wladimir J. van der Laan
54a550bef8
Merge pull request #7113
086ee67 Switch to a more efficient rolling Bloom filter (Pieter Wuille)
2015-12-03 13:36:07 +01:00
Jonas Schnelli
7632cf689a
[Tests] Refactor some shared functions 2015-12-03 13:25:27 +01:00
Wladimir J. van der Laan
8843676621
Merge pull request #7133
aa4b0c2 When not filtering blocks, getdata sends more in one test (Pieter Wuille)
d41e44c Actually only use filterInventoryKnown with MSG_TX inventory messages. (Gregory Maxwell)
b6a0da4 Only use filterInventoryKnown with MSG_TX inventory messages. (Patick Strateman)
6b84935 Rename setInventoryKnown filterInventoryKnown (Patick Strateman)
e206724 Remove mruset as it is no longer used. (Gregory Maxwell)
ec73ef3 Replace setInventoryKnown with a rolling bloom filter. (Gregory Maxwell)
2015-12-03 13:16:46 +01:00
Wladimir J. van der Laan
c12ff995f7
Now that 0.12 has been branched, master is 0.12.99
... in preparation for 0.13
2015-12-03 12:07:01 +01:00
Wladimir J. van der Laan
3cd836c1d8
Merge pull request #7158
fab8347 [qt] Use tr() instead of _() (MarcoFalke)
2015-12-03 10:52:49 +01:00
Suhas Daftuar
901b01d674 Remove GetMinRelayFee
One test in AcceptToMemoryPool was to compare a transaction's fee
agains the value returned by GetMinRelayFee. This value was zero for
all small transactions.  For larger transactions (between
DEFAULT_BLOCK_PRIORITY_SIZE and MAX_STANDARD_TX_SIZE), this function
was preventing low fee transactions from ever being accepted.

With this function removed, we will now allow transactions in that range
with fees (including modifications via PrioritiseTransaction) below
the minRelayTxFee, provided that they have sufficient priority.
2015-12-02 12:59:30 -05:00
Suhas Daftuar
27fae3484c Use fee deltas for determining mempool acceptance 2015-12-02 12:59:30 -05:00
Suhas Daftuar
9ef2a25603 Update replace-by-fee logic to use fee deltas 2015-12-02 12:59:30 -05:00
Suhas Daftuar
eb306664e7 Fix mempool limiting for PrioritiseTransaction
Redo the feerate index to be based on mining score, rather than fee.

Update mempool_packages.py to test prioritisetransaction's effect on
package scores.
2015-12-02 12:59:30 -05:00
MarcoFalke
fab83476ac [qt] Use tr() instead of _()
Also, `make translate`
2015-12-02 17:25:59 +01:00
Wladimir J. van der Laan
aeedd8a53b
Merge pull request #7157
fabd10a Fix typo in wallet.cpp (MarcoFalke)
fad2460 Update contrib/devtools/README.md (MarcoFalke)
5e151a8 PartitionCheck: remove useless spaces (paveljanik)
fad0088 TRIVIAL: Chainparams: Remove unused CBaseUnitTestParams (Jorge Timón)
74f7341 Update miner.cpp: Fix typo in comment (antonio-fr)
e69bad1 [trivial] Fix typo in peertablemodel.cpp (MarcoFalke)
8a03727 Fix various typos (paveljanik)
2015-12-02 16:28:13 +01:00
MarcoFalke
fabd10a9c9 Fix typo in wallet.cpp 2015-12-02 15:21:18 +01:00
MarcoFalke
fad246037f Update contrib/devtools/README.md
* Fix order
* Update subtree check
2015-12-02 15:20:40 +01:00
paveljanik
5e151a842c PartitionCheck: remove useless spaces 2015-12-02 15:18:23 +01:00
Jorge Timón
fad0088e75 TRIVIAL: Chainparams: Remove unused CBaseUnitTestParams 2015-12-02 15:18:23 +01:00
antonio-fr
74f7341fec Update miner.cpp: Fix typo in comment 2015-12-02 15:18:23 +01:00
MarcoFalke
e69bad19f8 [trivial] Fix typo in peertablemodel.cpp 2015-12-02 15:18:23 +01:00
paveljanik
8a03727d9c Fix various typos 2015-12-02 15:18:22 +01:00
Wladimir J. van der Laan
df2ced5c83
Merge pull request #7128
02354c9 Constrain rpcport default values to a single location in code (Luke Dashjr)
2015-12-02 14:38:43 +01:00
Wladimir J. van der Laan
93236c0455
qt: Final translation update before 0.12 fork
- Add new translations (finally, after a long time)
- update-translation script was not considering new translations - oops
  - fixed this, also remove (nearly) empty translations
- Update translation process, it was still describing the old repository
  structure
2015-12-02 14:28:35 +01:00
Wladimir J. van der Laan
83f06ca937
Merge pull request #6216
db6047d Take the training wheels off anti-fee-sniping (Peter Todd)
2015-12-02 13:56:57 +01:00
Wladimir J. van der Laan
6e76587360 rpc: remove cs_main lock from createrawtransaction
This is a pure utility function that doesn't use
main's data structures, so it does not require that lock.
2015-12-02 13:42:47 +01:00
Wladimir J. van der Laan
7c7a05d274
Merge pull request #7147
9827091 Squashed 'src/univalue/' changes from 5839ac3..2740c4f (MarcoFalke)
2015-12-02 13:26:54 +01:00
Wladimir J. van der Laan
0dd194c917
Merge pull request #7146
1812de9 Name union to prevent compiler warning (Pavel Janík)
2015-12-02 12:58:25 +01:00
Wladimir J. van der Laan
8e598dc4ea
Merge pull request #7118
b212f94 Describe maxmempool and mempoolminfee in the getmempoolinfo RPC help. (Pavel Janík)
2015-12-02 12:44:04 +01:00
Wladimir J. van der Laan
3fd3b8617f
Merge pull request #7155
092e9ad Remove old replace-by-fee tests (Peter Todd)
2015-12-02 12:42:57 +01:00
MarcoFalke
fad4ea836d Merge commit '982709199f1b4e9e35211c419a81938f9f1dd4ed' into bitcoin 2015-12-02 12:28:48 +01:00
MarcoFalke
982709199f Squashed 'src/univalue/' changes from 5839ac3..2740c4f
2740c4f Merge branch '2015_11_escape_plan' into bitcoin
7482163 Add new testcase to Makefile.am
46098ee Version 1.0.1.
ccf3575 parser: Ensure multiple values cannot follow each other
eb6cd64 Omit Obj/Arr open token from jsonTokenIsValue() test
bfef9e2 Makefile.am: list recently added test data, fail{35,36}.json
3e319f3 parser: Tighten array, object syntax checks.
c74185c parser: transform C++ variables into bitmask
f2568bc Prefer C++ STL vector .at() for accessing object values.
8eafa26 travis: run parallel 'make distcheck'
fd448da test: Improve tester diagnostics.  Add failing test case from #15
2158205 Use internal, locale-independent isspace(), isdigit() implementations.
2ab9ad4 travis: Make 'make distcheck' for more comprehensive checks.
3339191 Escape all control characters

git-subtree-dir: src/univalue
git-subtree-split: 2740c4f71242086a7eb3dc32f812546ba9fad913
2015-12-02 12:26:24 +01:00
Peter Todd
092e9ad7d9
Remove old replace-by-fee tests
Made redundant by tests in qa/rpc-tests/replace-by-fee.py
2015-12-02 18:26:53 +08:00
Wladimir J. van der Laan
1b0241fcec
Merge pull request #7144
8f0d79e test: Disable scheduler test manythreads (Wladimir J. van der Laan)
2015-12-02 10:18:20 +01:00
Wladimir J. van der Laan
bdda4d567e
Merge pull request #6872
dd5862c Flush coins cache also after transaction processing (Pieter Wuille)
bde953e Uncache input txn in utxo cache if a tx is not accepted to mempool (Matt Corallo)
97bf377 Add CCoinsViewCache::HaveCoinsInCache to check if a tx is cached (Matt Corallo)
677aa3d Discard txn cache entries that were loaded for removed mempool txn (Matt Corallo)
b2e74bd Get the set of now-uncacheable-txn from CTxMemPool::TrimToSize (Matt Corallo)
74d0f90 Add method to remove a tx from CCoinsViewCache if it is unchanged (Matt Corallo)
2015-12-02 10:17:43 +01:00
Jonas Schnelli
4a63f94676
Merge pull request #7040
b171c69 [doc] Update OS X build notes for new qt5 configure (Michael Ford)
2015-12-02 09:43:06 +01:00
Pavel Janík
1812de9091 Name union to prevent compiler warning 2015-12-02 08:40:47 +01:00
Jonas Schnelli
a3c3ddbd7b
[Qt] add InMempool() info to transaction details 2015-12-02 08:38:31 +01:00
Jonas Schnelli
110ff1142c
[Tests] Add mempool_limit.py test 2015-12-02 08:36:05 +01:00
Matt Bogosian
b440409025 Add missing automake package to deb-based UNIX install instructions. 2015-12-01 23:14:41 -08:00
Pieter Wuille
dd5862c4cd Flush coins cache also after transaction processing 2015-12-01 15:52:09 -08:00
Matt Corallo
bde953e281 Uncache input txn in utxo cache if a tx is not accepted to mempool 2015-12-01 15:52:09 -08:00
Matt Corallo
97bf377bd1 Add CCoinsViewCache::HaveCoinsInCache to check if a tx is cached 2015-12-01 15:52:09 -08:00
Matt Corallo
677aa3d88c Discard txn cache entries that were loaded for removed mempool txn 2015-12-01 15:52:07 -08:00
Matt Corallo
b2e74bd292 Get the set of now-uncacheable-txn from CTxMemPool::TrimToSize 2015-12-01 15:50:39 -08:00
Matt Corallo
74d0f90262 Add method to remove a tx from CCoinsViewCache if it is unchanged 2015-12-01 15:50:39 -08:00
Luke Dashjr
45b8e278fb -bytespersigop option to additionally limit sigops in transactions we relay and mine 2015-12-01 20:57:08 +00:00
Pieter Wuille
4077ad20d0
Merge pull request #6898
553cad9 Rewrite CreateNewBlock (Alex Morcos)
5f12263 Expose FormatStateMessage (Alex Morcos)
1f09287 Make accessing mempool parents and children public (Alex Morcos)
7230187 Add TxPriority class and comparator (Alex Morcos)
f3fe836 Add a score index to the mempool. (Alex Morcos)
c49d5bc Store the total sig op count of a tx. (Alex Morcos)
2015-12-01 20:30:54 +01:00
Alex Morcos
553cad94e2 Rewrite CreateNewBlock
Use the score index on the mempool to only add sorted txs in order.  Remove much of the validation while building the block, relying on mempool to be consistent and only contain txs that can be mined.
The mempool is assumed to be consistent as far as not containing txs which spend non-existent outputs or double spends, and scripts are valid.  Finality of txs is still checked (except not coinbase maturity, assumed in mempool).
Still TestBlockValidity in case mempool consistency breaks and return error state if an invalid block was created.
Unit tests are modified to realize that invalid blocks can now be constructed if the mempool breaks its consistency assumptions and also updated to have the right fees, since the cached value is now used for block construction.

Conflicts:
	src/miner.cpp
2015-12-01 12:09:37 -05:00
Alex Morcos
5f12263302 Expose FormatStateMessage 2015-12-01 10:10:25 -05:00
Alex Morcos
1f09287c66 Make accessing mempool parents and children public 2015-12-01 10:10:25 -05:00
Alex Morcos
7230187b1d Add TxPriority class and comparator 2015-12-01 10:10:25 -05:00
Alex Morcos
f3fe83673e Add a score index to the mempool.
The score index is meant to represent the order of priority for being included in a block for miners.  Initially this is set to the transactions modified (by any feeDelta) fee rate.  Index improvements and unit tests by sdaftuar.
2015-12-01 10:10:25 -05:00
Alex Morcos
c49d5bc9e6 Store the total sig op count of a tx.
Store sum of legacy and P2SH sig op counts.  This is calculated in AcceptToMemory pool and storing it saves redoing the expensive calculation in block template creation.
2015-12-01 10:10:25 -05:00
Wladimir J. van der Laan
8f0d79e3c8 test: Disable scheduler test manythreads
It causes occasional deadlocks, resulting in false negatives in Travis.

Disable the test for now.
Works around #6540.
2015-12-01 14:43:38 +01:00
Wladimir J. van der Laan
16f4a6e0fe
Merge pull request #7137
cfdc662 Explicitly set chain limits in replace-by-fee test (Suhas Daftuar)
2015-12-01 13:32:21 +01:00
Wladimir J. van der Laan
bc1f427570
qt: periodic translations update 2015-12-01 13:26:50 +01:00
Wladimir J. van der Laan
c0c08c7c68
Merge pull request #7141
aabc897 rpc: Don't translate warning messages (Wladimir J. van der Laan)
2015-12-01 13:21:16 +01:00
Wladimir J. van der Laan
a60538bc45
Merge pull request #7143
6da12df qt: use QMetaObject::invokeMethod for cross-thread signaling in clientmodel (Wladimir J. van der Laan)
2015-12-01 13:20:34 +01:00
Wladimir J. van der Laan
2ef5ffa59a
Merge pull request #6915
2d8860e Fix removeForReorg to use MedianTimePast (Suhas Daftuar)
b7fa4aa Don't call removeForReorg if DisconnectTip fails (Suhas Daftuar)
7e49f5f Track coinbase spends in CTxMemPoolEntry (Suhas Daftuar)
bb8ea1f removeForReorg calls once-per-disconnect-> once-per-reorg (Matt Corallo)
474b84a Make indentation in ActivateBestChainStep readable (Matt Corallo)
b0a064c Fix comment in removeForReorg (Matt Corallo)
9b060e5 Fix removal of time-locked transactions during reorg (Matt Corallo)
0c9959a Add failing test checking timelocked-txn removal during reorg (Matt Corallo)
2015-12-01 13:17:34 +01:00
Wladimir J. van der Laan
9afbd96919
Merge pull request #7022
50947ef Change default block priority size to 0 (Alex Morcos)
2015-12-01 12:39:34 +01:00
Wladimir J. van der Laan
6da12dff28 qt: use QMetaObject::invokeMethod for cross-thread signaling in clientmodel
It's surprising to me that Q_EMIT even worked for this.

But it doesn't build in Qt4, so switch back to
`QMetaObject::invokeMethod`. Fixes #7138.
2015-12-01 11:55:10 +01:00
Pavel Janík
b212f94dd9 Describe maxmempool and mempoolminfee in the getmempoolinfo RPC help. 2015-12-01 11:26:32 +01:00
Luke Dashjr
02354c93be Constrain rpcport default values to a single location in code 2015-12-01 10:18:18 +00:00
Wladimir J. van der Laan
6abf6eb7bb
Merge pull request #7063
2b31ab9 Add rpc test for prioritisetransaction (Suhas Daftuar)
6e8b07f Add rounding helper function to util.py (Suhas Daftuar)
2015-12-01 11:04:32 +01:00
Suhas Daftuar
2b31ab90c4 Add rpc test for prioritisetransaction 2015-12-01 11:03:57 +01:00
Suhas Daftuar
6e8b07f5f3 Add rounding helper function to util.py 2015-12-01 11:03:37 +01:00
Wladimir J. van der Laan
8f761e87c3
Merge pull request #7136
fa19a58 HelpMessage: Don't hide -mintxfee behind showDebug (MarcoFalke)
faffc17 rpcwallet: Clarify what settxfee does (MarcoFalke)
9999cb0 Fix url in .travis.yml (MarcoFalke)
fa22a10 contrib: Del. gitian downloader config and update gitian README (MarcoFalke)
fad3035 [doc] Minor markdown fixes (MarcoFalke)
2015-12-01 10:23:05 +01:00
Wladimir J. van der Laan
327291af02
Merge pull request #6914
114b581 Prevector type (Pieter Wuille)
2015-12-01 10:22:14 +01:00
Wladimir J. van der Laan
aabc897801 rpc: Don't translate warning messages
But keep translating them in the GUI.
This - necessarily - requires duplication of a few messages.
Alternative take on #7134, that keeps the translations from being wiped.

Also document GetWarnings() input argument.

Fixes #5895.
2015-12-01 10:07:22 +01:00
Wladimir J. van der Laan
9490bd71bd
Merge pull request #7096
ff723da [Qt] improve minimum absolute fee option - Only display the minimum absolute fee control if CoinControl is enabled (Jonas Schnelli)
31b508a [Qt] make use of the nMinimumTotalFee (absolute) in coincontrols fee calculation (Jonas Schnelli)
80462dd [Qt] use ASYMP_UTF8 (≈) whenever we show a fee that is not absolute (Jonas Schnelli)
ecc7c82 Move fPayAtLeastCustomFee function to CC (Pieter Wuille)
2015-12-01 09:59:03 +01:00
Wladimir J. van der Laan
eb3d1b3487
Merge pull request #7135
fa3a38a [qa] pull-tester: Cleanup (run keypool, tidy stdout) (MarcoFalke)
2015-12-01 09:56:09 +01:00
Wladimir J. van der Laan
30c2d8c635
Merge pull request #7105
9ac63d6 Keep track of explicit wallet conflicts instead of using mempool (Pieter Wuille)
2015-12-01 09:22:08 +01:00
Wladimir J. van der Laan
1b5118bfa0
Merge pull request #7079
ebb25f4 Limit setAskFor and retire requested entries only when a getdata returns. (Gregory Maxwell)
5029698 prevent peer flooding request queue for an inv (kazcw)
2015-12-01 09:02:33 +01:00
Gregory Maxwell
c143c499c8
Merge pull request #7072
996d311 [RPC] Add transaction size to JSON output (Nick)
2015-11-30 22:58:43 -08:00
Alex Morcos
50947ef23f Change default block priority size to 0
Make RPC tests have a default block priority size of 50000 (the old default) so we can still use free transactions in RPC tests.  When priority is eliminated, we will have to make a different change if we want to continue allowing free txs.
2015-11-30 16:16:24 -05:00
Gregory Maxwell
438ee59839
Merge pull request #7044
d52fbf0 Added additional config option for multiple RPC users. (Gregory Sanders)
2015-11-30 12:25:28 -08:00
Suhas Daftuar
2d8860e820 Fix removeForReorg to use MedianTimePast 2015-11-30 14:35:17 -05:00
Suhas Daftuar
b7fa4aa387 Don't call removeForReorg if DisconnectTip fails 2015-11-30 13:12:55 -05:00
Suhas Daftuar
7e49f5f8b4 Track coinbase spends in CTxMemPoolEntry
This allows us to optimize CTxMemPool::removeForReorg.
2015-11-30 13:12:53 -05:00
Matt Corallo
bb8ea1f630 removeForReorg calls once-per-disconnect-> once-per-reorg 2015-11-30 13:03:57 -05:00
Matt Corallo
474b84a741 Make indentation in ActivateBestChainStep readable 2015-11-30 13:03:56 -05:00
Matt Corallo
b0a064c4b8 Fix comment in removeForReorg 2015-11-30 13:02:05 -05:00
Matt Corallo
9b060e5cfb Fix removal of time-locked transactions during reorg 2015-11-30 13:02:04 -05:00
Matt Corallo
0c9959a308 Add failing test checking timelocked-txn removal during reorg 2015-11-30 13:02:04 -05:00
Suhas Daftuar
cfdc66280f Explicitly set chain limits in replace-by-fee test 2015-11-30 12:35:24 -05:00
MarcoFalke
fa19a588b9 HelpMessage: Don't hide -mintxfee behind showDebug 2015-11-30 18:02:12 +01:00
MarcoFalke
faffc172ec rpcwallet: Clarify what settxfee does 2015-11-30 18:01:43 +01:00
MarcoFalke
9999cb0626 Fix url in .travis.yml 2015-11-30 16:34:33 +01:00
MarcoFalke
fa22a10028 contrib: Del. gitian downloader config and update gitian README 2015-11-30 16:34:11 +01:00
MarcoFalke
fad3035e8d [doc] Minor markdown fixes 2015-11-30 16:33:15 +01:00
MarcoFalke
fa3a38a7f2 [qa] pull-tester: Cleanup (run keypool, tidy stdout)
* Run keypool (takes 6 seconds)
* Print duration of each rpc test
* Structure output (bold, new lines)
2015-11-30 16:01:57 +01:00
Wladimir J. van der Laan
34e02e0147
Merge pull request #7094
1bb289f Assert now > 0 in GetTime GetTimeMillis GetTimeMicros (Patick Strateman)
2015-11-30 14:49:57 +01:00
Wladimir J. van der Laan
eb7741605b
Merge pull request #7008
c035306 Change GetPriority calculation. (Alex Morcos)
71f1d9f Modify variable names for entry height and priority (Alex Morcos)
5945819 Remove default arguments for CTxMemPoolEntry() (Alex Morcos)
2015-11-30 14:37:05 +01:00
Wladimir J. van der Laan
9b8fc6c89a
Merge pull request #7035
4531fc4 torcontrol: only output disconnect if -debug=tor (Daniel Cousens)
2015-11-30 14:20:22 +01:00
Jonas Schnelli
ff723da6f6
[Qt] improve minimum absolute fee option
- Only display the minimum absolute fee control if CoinControl is enabled
2015-11-30 14:18:57 +01:00
Jonas Schnelli
31b508a18b
[Qt] make use of the nMinimumTotalFee (absolute) in coincontrols fee calculation 2015-11-30 14:09:05 +01:00
Jonas Schnelli
80462dda0a
[Qt] use ASYMP_UTF8 (≈) whenever we show a fee that is not absolute 2015-11-30 14:09:04 +01:00
Pieter Wuille
ecc7c82361
Move fPayAtLeastCustomFee function to CC 2015-11-30 14:09:04 +01:00
Pieter Wuille
aa4b0c26b0 When not filtering blocks, getdata sends more in one test 2015-11-30 13:29:20 +01:00
Wladimir J. van der Laan
96b802510d
Merge pull request #7112
9af5f9c Move uiInterface.NotifyBlockTip signal above the core/wallet signal - This will keep getbestblockhash more in sync with blocknotify callbacks (Jonas Schnelli)
4082e46 [Qt] call GuessVerificationProgress synchronous during core signal, pass double over UI signal (Jonas Schnelli)
947d20b [Qt] reduce cs_main in getVerificationProgress() (Jonas Schnelli)
e6d50fc [Qt] update block tip (height and date) without locking cs_main, update always (each block) (Jonas Schnelli)
012fc91 NotifyBlockTip signal: switch from hash (uint256) to CBlockIndex* - also adds a boolean for indication if the tip update was happening during initial sync - emit notification also during initial sync (Jonas Schnelli)
2015-11-30 13:04:29 +01:00
Gregory Maxwell
d41e44c9ac Actually only use filterInventoryKnown with MSG_TX inventory messages.
Previously this logic could erroneously filter a MSG_BLOCK inventory message.
2015-11-30 12:53:48 +01:00
Patick Strateman
b6a0da45db Only use filterInventoryKnown with MSG_TX inventory messages.
Previously this logic could erroneously filter a MSG_BLOCK inventory message.
2015-11-30 12:53:48 +01:00
Patick Strateman
6b849350ab Rename setInventoryKnown filterInventoryKnown 2015-11-30 12:53:48 +01:00
Gregory Maxwell
e20672479e Remove mruset as it is no longer used. 2015-11-30 12:53:48 +01:00
Gregory Maxwell
ec73ef37ec Replace setInventoryKnown with a rolling bloom filter.
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.)
2015-11-30 12:53:48 +01:00
Daniel Cousens
4531fc4272 torcontrol: only output disconnect if -debug=tor 2015-11-30 22:20:43 +11:00
Wladimir J. van der Laan
a7751824ce
Merge pull request #7103
fa506c0 [wallet] Add rpc tests to verify fee calculations (MarcoFalke)
4b89f01 Default fPayAtLeastCustomFee to false (Ryan Havar)
2015-11-30 12:18:20 +01:00
Wladimir J. van der Laan
6fc287f2df
Merge pull request #7027
4ea1790 [qa] keypool: DRY: Use test framework (MarcoFalke)
c6973ca [qa] keypool: Fix white space to prepare transition to test framework (MarcoFalke)
2015-11-30 12:15:21 +01:00
Jonas Schnelli
9af5f9cb87
Move uiInterface.NotifyBlockTip signal above the core/wallet signal
- This will keep getbestblockhash more in sync with blocknotify callbacks
2015-11-30 11:34:09 +01:00
Wladimir J. van der Laan
9ebedc1756
Merge pull request #7126
fa4b627 Move blocksonly parameter interaction to InitParameterInteraction() (MarcoFalke)
2015-11-30 11:34:09 +01:00
Wladimir J. van der Laan
74b5ce24c6
Merge pull request #7116
cb491e7 Trivial: Fix warning introduced by #7053 by casting to uint64_t (Jorge Timón)
2015-11-30 10:18:46 +01:00
Jonas Schnelli
fa93174a7c
Merge pull request #7127
a6cbc02 Bugfix: Default -uiplatform is not actually the platform this build was compiled on (Luke Dashjr)
2015-11-30 09:14:42 +01:00
Jonas Schnelli
c28d3937b0
Merge pull request #7025
2a8e8c2 [Qt] don't allow to store invalid proxy ports (Jonas Schnelli)
d16d1b7 [Qt] refactor and optimize proxy settings behavior (Jonas Schnelli)
2015-11-30 09:08:29 +01:00
Jonas Schnelli
4082e46603
[Qt] call GuessVerificationProgress synchronous during core signal, pass double over UI signal 2015-11-30 08:53:57 +01:00
Jonas Schnelli
947d20b84a
[Qt] reduce cs_main in getVerificationProgress() 2015-11-30 08:50:59 +01:00
Jonas Schnelli
e6d50fcdec
[Qt] update block tip (height and date) without locking cs_main, update always (each block) 2015-11-30 08:50:59 +01:00
Jonas Schnelli
012fc91511
NotifyBlockTip signal: switch from hash (uint256) to CBlockIndex*
- also adds a boolean for indication if the tip update was happening during initial sync
- emit notification also during initial sync
2015-11-30 08:50:59 +01:00
Jorge Timón
cb491e7788 Trivial: Fix warning introduced by #7053 by casting to uint64_t 2015-11-29 21:19:37 +01:00
Gregory Sanders
d52fbf00e3 Added additional config option for multiple RPC users. 2015-11-29 08:34:20 -05:00
Pieter Wuille
9ac63d6d30 Keep track of explicit wallet conflicts instead of using mempool 2015-11-29 13:24:02 +01:00
Pieter Wuille
5d5ef3a4cf
Merge pull request #7129
49fb8e8 Documentation updates for BIP 130 (Pieter Wuille)
50262d8 Allow block announcements with headers (Suhas Daftuar)
2015-11-29 13:06:13 +01:00
Pieter Wuille
49fb8e89b7 Documentation updates for BIP 130 2015-11-29 12:08:12 +01:00
Suhas Daftuar
50262d8953 Allow block announcements with headers
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
2015-11-29 11:59:23 +01:00
Gregory Maxwell
c894fbbb1d
Merge pull request #7106
a9f3d3d Fix and improve relay from whitelisted peers (Pieter Wuille)
2015-11-28 16:09:40 -08:00
MarcoFalke
fa506c0c9b [wallet] Add rpc tests to verify fee calculations 2015-11-28 22:52:13 +01:00
Ryan Havar
4b89f01d72 Default fPayAtLeastCustomFee to false
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
2015-11-28 22:51:41 +01:00
Luke Dashjr
a6cbc02b6b Bugfix: Default -uiplatform is not actually the platform this build was compiled on 2015-11-28 21:48:17 +00:00
Pieter Wuille
61457c29d7
Merge pull request #6508
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)
2015-11-28 22:27:38 +01:00
MarcoFalke
fa4b627269 Move blocksonly parameter interaction to InitParameterInteraction() 2015-11-28 22:26:50 +01:00
Pieter Wuille
8d26289c9a
Merge pull request #6961
fa41d4c [qt] Move GUI related HelpMessage() part downstream (MarcoFalke)
faf93f3 [trivial] Reuse translation and cleanup DEFAULT_* values (MarcoFalke)
3307bdb Bugfix: Omit wallet-related options from -help when wallet is not supported (Luke Dashjr)
b966aa8 Constrain constant values to a single location in code (Luke Dashjr)
2015-11-28 22:15:23 +01:00
MarcoFalke
fa41d4c8c6 [qt] Move GUI related HelpMessage() part downstream 2015-11-28 19:01:26 +01:00
MarcoFalke
faf93f37fe [trivial] Reuse translation and cleanup DEFAULT_* values
* DEFAULT_DISABLE_SAFEMODE = false
* Use DEFAULT_* constants for extern bools
2015-11-28 19:01:11 +01:00
Pieter Wuille
086ee67d83 Switch to a more efficient rolling Bloom filter
For each 'bit' in the filter we really maintain 2 bits, which store either:
0: not set
1-3: set in generation N

After (nElements / 2) insertions, we switch to a new generation, and wipe
entries which already had the new generation number, effectively switching
from the last 1.5 * nElements set to the last 1.0 * nElements set.

This is 25% more space efficient than the previous implementation, and can
(at peak) store 1.5 times the requested amount of history (though only
1.0 times the requested history is guaranteed).

The existing unit tests should be sufficient.
2015-11-28 18:53:55 +01:00
Luke Dashjr
3307bdb333 Bugfix: Omit wallet-related options from -help when wallet is not supported 2015-11-28 18:47:29 +01:00
Luke Dashjr
b966aa836a Constrain constant values to a single location in code 2015-11-28 18:47:29 +01:00
Nick
996d3117c7 [RPC] Add transaction size to JSON output
This may be useful for blockchain explorers.
2015-11-28 17:06:56 +03:00
Pieter Wuille
92aa7311d6
Merge pull request #6942
e482a7f Fix CCoins serialization documentation (Peter Josling)
2015-11-28 14:17:50 +01:00
Pieter Wuille
8332457e95
Merge pull request #7003
b8c06ef doc: Add non-style-related development guidelines (Wladimir J. van der Laan)
2015-11-28 14:15:04 +01:00
Wladimir J. van der Laan
8284feb3c9
Merge pull request #7117
a64d7b4 Print correct minimum mempool size in MB (paveljanik)
2015-11-27 16:59:44 +01:00
paveljanik
a64d7b4e42 Print correct minimum mempool size in MB 2015-11-27 16:44:30 +01:00
Pieter Wuille
eece63fa72 Switch blocks to a constant-space Merkle root/branch algorithm.
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.
2015-11-27 15:36:52 +01:00
Pieter Wuille
ee60e5625b Add merkle.{h,cpp}, generic merkle root/branch algorithm 2015-11-27 15:31:01 +01:00
Wladimir J. van der Laan
93e0514fd0
Merge pull request #7078
c434940 uint256::GetCheapHash bigendian compatibility (daniel)
2015-11-27 15:24:41 +01:00
Wladimir J. van der Laan
f3d0fdd392
Merge pull request #7114
9b63758 util: Don't set strMiscWarning on every exception (Wladimir J. van der Laan)
2015-11-27 15:11:36 +01:00
Wladimir J. van der Laan
d6454f6cb2
Merge pull request #7090
cde857f Connect to Tor hidden services by default (Peter Todd)
2015-11-27 15:07:49 +01:00
Wladimir J. van der Laan
d8368a07ba
Merge pull request #7095
4ec3561 Replace scriptnum_test's normative ScriptNum implementation (Wladimir J. van der Laan)
2015-11-27 14:16:55 +01:00
Wladimir J. van der Laan
9502b7f634
Merge pull request #7083
faf12bc OpenSSL 1.1.0: Fix text variant of the version number (MarcoFalke)
2015-11-27 14:08:40 +01:00
Wladimir J. van der Laan
2a94cd67e8
Merge pull request #6780
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)
2015-11-27 13:45:14 +01:00
Wladimir J. van der Laan
9b63758974 util: Don't set strMiscWarning on every exception
Fixes #6809 - run-of-the-mill exceptions should not get into
strMiscWarning (which is reported by `getinfo`).
2015-11-27 13:36:11 +01:00
Wladimir J. van der Laan
5ca149a3db
Merge pull request #7053
2e29e7e Globals: Remove a bunch of Params() calls from main.cpp: (Jorge Timón)
2015-11-27 13:29:54 +01:00
Jonas Schnelli
a46f87f0c1
Initialize logging before we do parameter interaction 2015-11-27 13:26:28 +01:00
Jonas Schnelli
df66147613
Move -blocksonly parameter interaction to the new ParameterInteraction() function 2015-11-27 13:26:28 +01:00
Jonas Schnelli
68354e75e9
[QT] Call inits parameter interaction before we create the options model 2015-11-27 13:26:01 +01:00
Jonas Schnelli
411b05ac95
Refactor parameter interaction, call it before AppInit2() 2015-11-27 13:26:00 +01:00
Wladimir J. van der Laan
0e935865b9
Merge pull request #6871
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)
2015-11-27 13:20:39 +01:00
Wladimir J. van der Laan
e92377fa7f
Merge pull request #6134
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)
2015-11-27 12:59:37 +01:00
Wladimir J. van der Laan
05d591839f
Merge pull request #5967
072e2f8 Alter assumptions in CCoinsViewCache::BatchWrite (Alex Morcos)
2015-11-27 12:44:00 +01:00
Wladimir J. van der Laan
9a3e1a59df
Merge pull request #7058
ffacd27 zmq: prepend zmq to debug messages (Daniel Cousens)
14075b1 init: add zmq to debug categories (Daniel Cousens)
cdcd816 init: amend ZMQ flag names (Daniel Cousens)
2015-11-27 10:12:43 +01:00
Pieter Wuille
a9f3d3db5c Fix and improve relay from whitelisted peers
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.
2015-11-26 23:44:57 +01:00
Wladimir J. van der Laan
f8a8e27a6a
Merge pull request #7069
fa472f3 [trivial] Fix -maxmempool InitError (MarcoFalke)
2015-11-26 11:18:31 +01:00
Peter Todd
cde857f2d9
Connect to Tor hidden services by default
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.
2015-11-26 05:14:31 -05:00
Wladimir J. van der Laan
be281d8a83
Merge pull request #7087
9cf6688 Document both the peerbloomfilters and enforcenodebloom options. (Patick Strateman)
0f4dc53 Add enforcenodebloom option. (Patick Strateman)
b3caa9b Move bloom filter filtering logic outside of command "switch" (giant if/else). (Patick Strateman)
2015-11-26 08:43:21 +01:00
Wladimir J. van der Laan
4ec3561eb3 Replace scriptnum_test's normative ScriptNum implementation
Compare against the scriptnum from Bitcoin Core 0.10 instead of OpenSSL.
Closes #7086.
2015-11-25 13:59:49 +01:00
Wladimir J. van der Laan
2b2ddc558e
Merge pull request #7088
5ad5463 Squashed 'src/secp256k1/' changes from 2bfb82b..6c527ec (MarcoFalke)
2015-11-25 11:31:59 +01:00
Wladimir J. van der Laan
348b281f8a
Merge pull request #7092
392d3c5 build: Set osx permissions in the dmg to make Gatekeeper happy (Cory Fields)
2015-11-25 10:01:58 +01:00
daniel
c434940e83 uint256::GetCheapHash bigendian compatibility 2015-11-25 16:19:24 +08:00
Jonas Schnelli
26af1ac7cb
Merge pull request #7006
f71bfef add UI help for -resetguisettings (Jonas Schnelli)
ae98388 [Qt] add startup option to reset Qt settings (Jonas Schnelli)
2015-11-25 09:05:19 +01:00
Patick Strateman
1bb289fe1b Assert now > 0 in GetTime GetTimeMillis GetTimeMicros
Previously all of these functions could return negative values (for different
readons).  Large portions of the codebase currently assume that these
functions return positive values.
2015-11-24 18:39:19 -08:00
Cory Fields
392d3c5846 build: Set osx permissions in the dmg to make Gatekeeper happy 2015-11-24 16:22:24 -05:00
Wladimir J. van der Laan
b19fe277dd
Merge pull request #7075
4846543 Move time data log print to 'net' category to reduce log noise (tulip)
2015-11-24 16:02:02 +01:00
Suhas Daftuar
e30443244a Pass reference to estimateSmartFee and cleanup whitespace 2015-11-24 08:53:14 -05:00
MarcoFalke
fa472f330f [trivial] Fix -maxmempool InitError 2015-11-24 12:40:59 +01:00
Patick Strateman
9cf668844e Document both the peerbloomfilters and enforcenodebloom options. 2015-11-24 02:08:00 -08:00
Patick Strateman
0f4dc53fd6 Add enforcenodebloom option.
Previously peers which implement a protocol version less than NO_BLOOM_VERSION
would not be disconnected for sending a filter command, regardless of the
peerbloomfilter option.

Many node operators do not wish to provide expensive bloom filtering for SPV
clients, previously they had to cherry pick the commit which enabled the
disconnect logic.

The default should remain false until a sufficient percent of SPV clients
have updated.
2015-11-24 02:08:00 -08:00
Wladimir J. van der Laan
02a0f348c2
Merge pull request #7066
5c2fd38 Add missing "blocktime" description to listtransactions help, fix formatting. (Pavel Janík)
2015-11-24 10:55:36 +01:00
Patick Strateman
b3caa9b7fa Move bloom filter filtering logic outside of command "switch" (giant if/else).
Moving this logic outside of the "switch" makes it far simpler to
enable the forced disconnect by a parameter.
2015-11-24 01:50:53 -08:00
Wladimir J. van der Laan
72dccfc29d
Merge pull request #7045
2aa49ce Bugfix: Use unique autostart filenames on Linux for testnet/regtest (Luke Dashjr)
2015-11-24 09:51:02 +01:00
Wladimir J. van der Laan
b1fcdec687
Merge pull request #7042
70899d7 [doc][trivial] Update Debian control description (fanquake)
2fcb849 [doc][trivial] Remove source forge from Debian watch. (fanquake)
2015-11-24 09:32:44 +01:00
Wladimir J. van der Laan
ed34e0577e
Merge pull request #7052
a0953cd [qa] python-bitcoinrpc is no longer a subtree (MarcoFalke)
2015-11-24 09:29:46 +01:00
MarcoFalke
fa63e49b35 Merge commit '5ad54630935d1f340666de7bc9ffef9b8a1df296' into HEAD 2015-11-24 09:22:18 +01:00
MarcoFalke
5ad5463093 Squashed 'src/secp256k1/' changes from 2bfb82b..6c527ec
6c527ec Merge pull request #357
445f7f1 Fix for Windows compile issue

git-subtree-dir: src/secp256k1
git-subtree-split: 6c527eceee7f5105c33c98dfae24ffeffd71f7cf
2015-11-24 09:21:37 +01:00
MarcoFalke
faf12bc283 OpenSSL 1.1.0: Fix text variant of the version number 2015-11-24 09:07:26 +01:00
Wladimir J. van der Laan
f91e29fd4d
Merge pull request #7065
3522f49 http: add Boost 1.49 compatibility (Wladimir J. van der Laan)
2015-11-24 08:42:29 +01:00
Jorge Timón
2e29e7e247 Globals: Remove a bunch of Params() calls from main.cpp:
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
2015-11-23 12:14:40 +01:00
Gregory Maxwell
ebb25f4c23 Limit setAskFor and retire requested entries only when a getdata returns.
The setAskFor duplicate elimination was too eager and removed entries
 when we still had no getdata response, allowing the peer to keep
 INVing and not responding.
2015-11-23 01:54:23 +00:00
kazcw
5029698186 prevent peer flooding request queue for an inv
mapAlreadyAskedFor does not keep track of which peer has a request queued for a
particular tx. As a result, a peer can blind a node to a tx indefinitely by
sending many invs for the same tx, and then never replying to getdatas for it.
Each inv received will be placed 2 minutes farther back in mapAlreadyAskedFor,
so a short message containing 10 invs would render that tx unavailable for 20
minutes.

This is fixed by disallowing a peer from having more than one entry for a
particular inv in mapAlreadyAskedFor at a time.
2015-11-23 01:18:54 +00:00
Gregory Maxwell
0b0fc179ab
Merge pull request #7028
e16ee1c [qa] Extend README.md (MarcoFalke)
cc97574 [qa] Split README.md to /qa and /qa/rpc-tests (MarcoFalke)
2015-11-22 14:51:30 -08:00
Gregory Maxwell
9cdd407ca5
Merge pull request #7029
c800c95 Remove unmaintained example test script_test.py (Suhas Daftuar)
2015-11-22 14:47:40 -08:00
Gregory Maxwell
c322652b71
Merge pull request #7046
80ae230 Improve log messages for blocks only violations. (Patick Strateman)
08843ed Add relaytxes status to getpeerinfo (Peter Todd)
d8aaa51 Bail early in processing transactions in blocks only mode. (Patick Strateman)
3587f6a Fix relay mechanism for whitelisted peers under blocks only mode. (Patick Strateman)
2015-11-22 14:01:33 -08:00
tulip
4846543ac5 Move time data log print to 'net' category to reduce log noise 2015-11-22 06:48:25 +00:00
Patick Strateman
80ae230a52 Improve log messages for blocks only violations. 2015-11-21 16:09:52 -08:00
Gregory Maxwell
31de2414c6
Merge pull request #7011
6531f17 Add mediantime field to getblock and getblockheader (Peter Todd)
7259769 Document new mediantime field in getblockchaininfo (Peter Todd)
c277a63 Clarify nLockTime-by-time comment in CheckFinalTx() (Peter Todd)
748321e Add mediantime field to getblockchaininfo RPC call (Peter Todd)
2015-11-21 14:00:55 -08:00
Gregory Maxwell
616d61b20d
Merge pull request #6851
3e7c891 Optimisation: Store transaction list order in memory rather than compute it every need (Luke Dashjr)
2015-11-20 18:52:44 -08:00
Luke Dashjr
3e7c89196c Optimisation: Store transaction list order in memory rather than compute it every need
Huge performance improvement (450%) for zapwallettxes
2015-11-21 01:48:25 +00:00
Peter Todd
08843ed998 Add relaytxes status to getpeerinfo 2015-11-20 16:07:12 -08:00
Patick Strateman
d8aaa51bec Bail early in processing transactions in blocks only mode.
Previously unsolicited transactions would be processed as normal.
2015-11-20 16:07:12 -08:00
Patick Strateman
3587f6a024 Fix relay mechanism for whitelisted peers under blocks only mode.
Previously in blocks only mode all inv messages where type!=MSG_BLOCK would be
rejected without regard for whitelisting or whitelistalwaysrelay.

As such whitelisted peers would never send the transaction (which would be
processed).
2015-11-20 16:07:12 -08:00
Peter Todd
63b5840257
Fix usage of local python-bitcoinlib
Previously was using the system-wide python-bitcoinlib, if it existed,
rather than the local copy that you check out in the README.
2015-11-20 16:23:01 -05:00
Wladimir J. van der Laan
776848acef
Merge pull request #6979
c197798 [Qt] simple mempool info in debug window (Jonas Schnelli)
2015-11-20 14:34:11 +01:00
Pavel Janík
5c2fd38d05 Add missing "blocktime" description to listtransactions help, fix formatting. 2015-11-20 12:51:36 +01:00
Wladimir J. van der Laan
3522f49f5a http: add Boost 1.49 compatibility
`try_join_for` was introduced in Boost 1.50:
http://www.boost.org/doc/libs/1_50_0/doc/html/thread/thread_management.html#thread.thread_management.thread.try_join_for

1.49 has `timed_join`, one can accomplish the same with:
http://www.boost.org/doc/libs/1_49_0/doc/html/thread/thread_management.html#thread.thread_management.thread.timed_join

However, `timed_join` was deprecated in 1.50. So a conditional is
necessary.

This solution was tested in #7031.
2015-11-20 10:14:21 +01:00
Wladimir J. van der Laan
07b770caf3
Merge pull request #7019
33b7f83 [qa] travis: cover *receivedby* rpcs (MarcoFalke)
2015-11-20 09:01:07 +01:00
Jonas Schnelli
c197798d1b
[Qt] simple mempool info in debug window 2015-11-20 08:40:43 +01:00
Wladimir J. van der Laan
a1bfca8052
Merge pull request #7059
2798e0b add powerpc build support for openssl lib (daniel)
2015-11-20 08:35:29 +01:00
Michael Ford
b171c69c60 [doc] Update OS X build notes for new qt5 configure
You no longer need to explicitly pass qt5 to configure, as it will now choose qt5 over qt4 if both are installed.

[skip-ci]
2015-11-20 12:55:50 +08:00
Alex Morcos
c0353064dd Change GetPriority calculation.
Compute the value of inputs that already are in the chain at time of mempool entry and only increase priority due to aging for those inputs.  This effectively changes the CTxMemPoolEntry's GetPriority calculation from an upper bound to a lower bound.
2015-11-19 21:44:35 -05:00
Alex Morcos
71f1d9fd4a Modify variable names for entry height and priority 2015-11-19 21:28:01 -05:00
Alex Morcos
5945819717 Remove default arguments for CTxMemPoolEntry() 2015-11-19 21:28:01 -05:00
Wladimir J. van der Laan
c983d6fcb4
Merge pull request #6900
2cecb24 doc: change suite to trusty in gitian-building.md (Wladimir J. van der Laan)
957c0fd gitian: make windows build deterministic (Wladimir J. van der Laan)
2e31d74 gitian: use trusty for building (Wladimir J. van der Laan)
0b416c6 depends: qt PIDLIST_ABSOLUTE patch (Wladimir J. van der Laan)
9f251b7 devtools: add libraries for bitcoin-qt to symbol check (Wladimir J. van der Laan)
2015-11-19 13:02:07 +01:00
Wladimir J. van der Laan
2cecb24600 doc: change suite to trusty in gitian-building.md 2015-11-19 13:01:35 +01:00
Wladimir J. van der Laan
957c0fd7c0 gitian: make windows build deterministic 2015-11-19 13:01:35 +01:00
Wladimir J. van der Laan
52c563710d
qt: Periodic translations update 2015-11-19 12:58:09 +01:00
Wladimir J. van der Laan
a1907772f0
Merge pull request #7051
b4f3e9c ui: Add "Copy raw transaction data" to transaction list context menu (Wladimir J. van der Laan)
2015-11-19 12:52:27 +01:00
MarcoFalke
a0953cdf07 [qa] python-bitcoinrpc is no longer a subtree
* Only authproxy.py is taken from the python-bitcoinrpc
2015-11-19 12:39:49 +01:00
Wladimir J. van der Laan
b4f3e9c09e ui: Add "Copy raw transaction data" to transaction list context menu
Add a way to quickly copy transaction hex.

Primarily useful when manually submitting transactions,
e.g. `-walletbroadcast=0` is set.
2015-11-19 11:08:29 +01:00
Wladimir J. van der Laan
f8e87d74c9
Merge pull request #7048
c5f211b [doc][trivial] Remove miniupnpc build notes build-unix (fanquake)
2015-11-19 10:12:11 +01:00
Jonas Schnelli
15765df352
Merge pull request #7041
bd42e6b [doc] Users now see 'Bitcoin Core' in the OSX bundle (Michael Ford)
2015-11-19 09:18:14 +01:00
daniel
2798e0b0d2 add powerpc build support for openssl lib 2015-11-19 13:29:57 +08:00
Daniel Cousens
ffacd27def zmq: prepend zmq to debug messages 2015-11-19 13:32:14 +11:00
Daniel Cousens
14075b189d init: add zmq to debug categories 2015-11-19 13:17:36 +11:00
Daniel Cousens
cdcd816a1b init: amend ZMQ flag names 2015-11-19 12:34:19 +11:00
fanquake
c5f211bbd0 [doc][trivial] Remove miniupnpc build notes build-unix 2015-11-19 09:34:08 +08:00
Jonas Schnelli
f71bfefcb0
add UI help for -resetguisettings 2015-11-18 21:50:32 +01:00
Alex Morcos
8504867b14 Save the last unnecessary database read
It's possible coins with the same hash exist when you create a duplicate coinbase, so previously we were reading from the database to make sure we had the old coins cached so if we were to spend the new ones, the old ones would also be spent.  This pull instead just marks the new coins as not fresh if they are from a coinbase, so if they are spent they will be written all the way down to the database anyway overwriting any duplicates.
2015-11-18 12:16:40 -05:00
Alex Morcos
072e2f8644 Alter assumptions in CCoinsViewCache::BatchWrite
Previously it would break if you flushed a parent cache while there was a child cache referring to it.  This change will allow the flushing of parent caches.
2015-11-18 12:03:50 -05:00
Wladimir J. van der Laan
73fa5e6043
Merge pull request #6932
1cf3dd8 Add unit test for UpdateCoins (Alex Morcos)
03c8282 Make CCoinsViewTest behave like CCoinsViewDB (Alex Morcos)
14470f9 ModifyNewCoins saves database lookups (Alex Morcos)
2015-11-18 17:37:58 +01:00
Jonas Schnelli
03403d8c0f
Merge pull request #6951
513686d [qt] Use maxTxFee instead of 10000000 (MarcoFalke)
2015-11-18 14:28:21 +01:00
Jonas Schnelli
2a8e8c2e37
[Qt] don't allow to store invalid proxy ports 2015-11-18 14:02:14 +01:00
MarcoFalke
e16ee1cd1e [qa] Extend README.md 2015-11-18 11:59:12 +01:00
Wladimir J. van der Laan
7f8e90da33
Merge pull request #7030
013a364 [contrib] Delete test-patches (MarcoFalke)
2015-11-18 09:50:07 +01:00
Gregory Maxwell
f3ea48ad8b
Merge pull request #7050
e855b01 Fix debug log message for block files (Alex Morcos)
2015-11-18 00:18:03 -08:00
Alex Morcos
e855b0152f Fix debug log message for block files 2015-11-17 22:23:39 -05:00
MarcoFalke
013a364138 [contrib] Delete test-patches 2015-11-17 23:11:09 +01:00
Luke Dashjr
2aa49ce9fe Bugfix: Use unique autostart filenames on Linux for testnet/regtest 2015-11-17 20:31:00 +00:00
Wladimir J. van der Laan
e8df8a5077
Merge pull request #7020
e587bc3 Implement helper class for CTxMemPoolEntry constructor (Alex Morcos)
2015-11-17 17:58:20 +01:00
fanquake
70899d70b8 [doc][trivial] Update Debian control description
Update the description in debian/control to match that description in
the main bitcoin README.md
2015-11-17 23:00:40 +08:00
fanquake
2fcb84907d [doc][trivial] Remove source forge from Debian watch. 2015-11-17 22:59:45 +08:00
Michael Ford
bd42e6b6ec [doc] Users now see 'Bitcoin Core' in the OSX bundle
On OS X users will see 'Bitcoin Core' after opening the DMG bundle.
2015-11-17 22:21:02 +08:00
MarcoFalke
cc975745d5 [qa] Split README.md to /qa and /qa/rpc-tests
+ Update with new -help message
2015-11-17 13:03:59 +01:00
Gregory Maxwell
eac53ec992
Merge pull request #7026
a6d5a65 [trivial] contrib: Fix `echo`s in verify.sh (MarcoFalke)
141c44e [contrib] Update versionprefix to "bitcoin-core" in verify.sh (MarcoFalke)
2015-11-16 23:28:37 -08:00
Alex Morcos
e587bc3fd9 Implement helper class for CTxMemPoolEntry constructor
This is only for unit tests.
2015-11-16 20:41:32 -05:00
Gregory Maxwell
87ee0e2dbc
Merge pull request #6986
6bc9e40 Chainparams: Explicit CChainParams arg for miner: (Jorge Timón)
598e494 Chainparams: Explicit CChainParams arg for main (pre miner): (Jorge Timón)
2015-11-16 17:00:11 -08:00
Gregory Maxwell
972bf9c529
Merge pull request #6999
f6d9d5e add (max)uploadtarget infos to getnettotals RPC help (Jonas Schnelli)
2015-11-16 16:39:33 -08:00
Gregory Maxwell
0a547d2d55
Merge pull request #7023
4d29032 Fixed integer comparison warning. (Eric Lombrozo)
2015-11-16 16:34:51 -08:00
Alex Morcos
56106a3300 Expose RPC calls for estimatesmart functions
Also add testing for estimatesmartfee in smartfees.py
2015-11-16 15:42:31 -05:00
Alex Morcos
e93a236d7a add estimateSmartFee to the unit test 2015-11-16 15:33:06 -05:00
Alex Morcos
6303051470 EstimateSmart functions consider mempool min fee 2015-11-16 15:33:06 -05:00
Alex Morcos
f22ac4a22c Increase success threshold for fee estimation to 95%
This provides more conservative estimates and reacts more quickly to a backlog.
Unfortunately the unit test for fee estimation depends on the success threshold (and the decay) chosen; also modify the unit test for the new default success thresholds.
2015-11-16 15:33:06 -05:00
Alex Morcos
4fe28236c0 Change wallet and GUI code to use new smart fee estimation calls. 2015-11-16 15:33:06 -05:00
Alex Morcos
22eca7da22 Add smart fee estimation functions
These are more useful fee and priority estimation functions. If there is no fee/pri high enough for the target you are aiming for, it will give you the estimate for the lowest target that you can reliably obtain.  This is better than defaulting to the minimum.  It will also pass back the target for which it returned an answer.
2015-11-16 15:33:06 -05:00
Wladimir J. van der Laan
2e31d74b71 gitian: use trusty for building 2015-11-16 16:39:24 +01:00
Wladimir J. van der Laan
0b416c6e9c depends: qt PIDLIST_ABSOLUTE patch
Remove sed-based qt PIDLIST_ABSOLUTE workaround, replace by a patch that
works for both old (such as used by Travis and Ubuntu Precise) and new
mingw (Ubuntu Trusty).
2015-11-16 16:39:24 +01:00
Wladimir J. van der Laan
9f251b7a9d devtools: add libraries for bitcoin-qt to symbol check
Forgot to add these.
Also add a short description for each required library.
2015-11-16 16:39:23 +01:00
Suhas Daftuar
c800c95997 Remove unmaintained example test script_test.py 2015-11-16 09:50:50 -05:00
Wladimir J. van der Laan
e54ebbf600
Merge pull request #6954
6e18268 Switch to libsecp256k1-based validation for ECDSA (Pieter Wuille)
2015-11-16 13:25:18 +01:00
MarcoFalke
a6d5a6502a [trivial] contrib: Fix echos in verify.sh 2015-11-16 12:59:42 +01:00
MarcoFalke
141c44ed65 [contrib] Update versionprefix to "bitcoin-core" in verify.sh 2015-11-16 12:39:44 +01:00
Wladimir J. van der Laan
dafefb7924
Merge pull request #7016
aee22bf Avoid a compile error on hosts with libevent too old for EVENT_LOG_WARN. (Gregory Maxwell)
2015-11-16 12:03:19 +01:00
MarcoFalke
4ea1790553 [qa] keypool: DRY: Use test framework 2015-11-16 12:01:32 +01:00
MarcoFalke
c6973ca03b [qa] keypool: Fix white space to prepare transition to test framework 2015-11-16 12:01:32 +01:00
Jonas Schnelli
d16d1b72d1
[Qt] refactor and optimize proxy settings behavior 2015-11-16 11:05:26 +01:00
Gregory Maxwell
aee22bf288 Avoid a compile error on hosts with libevent too old for EVENT_LOG_WARN.
This uses _EVENT_LOG_WARN instead, which appears to be defined in the
 old versions of libevent that I have on some systems.
2015-11-16 09:21:54 +00:00
Gregory Maxwell
6876a78b86
Merge pull request #6991
9bd3f03 Clarify 'fee' field in fundrawtransaction help text (Peter Todd)
2015-11-16 00:38:08 -08:00
Jonas Schnelli
814697c556
Merge pull request #7000
773ae46 [Qt] add shortcurts for debug-/console-window (Jonas Schnelli)
2015-11-16 08:39:42 +01:00
Eric Lombrozo
4d29032a64 Fixed integer comparison warning. 2015-11-15 20:13:30 -05:00
Pieter Wuille
6e18268616 Switch to libsecp256k1-based validation for ECDSA 2015-11-15 16:06:57 +01:00
MarcoFalke
33b7f83c59 [qa] travis: cover *receivedby* rpcs 2015-11-14 22:33:13 +01:00
Gregory Maxwell
b632145ede
Merge pull request #6993
bbf49da Fix comment for blocksonly parameter interactions (Patick Strateman)
6a4982f Fix fRelayTxs comment (Patick Strateman)
59441a0 Display DEFAULT_WHITELISTALWAYSRELAY in help text (Patick Strateman)
71a2683 Use DEFAULT_BLOCKSONLY and DEFAULT_WHITELISTALWAYSRELAY constants (Patick Strateman)
762b13b Add help text for blocksonly and whitelistalwaysrelay (Patick Strateman)
3a96497 Add whitelistalwaysrelay option (Patick Strateman)
420fa81 Do not process tx inv's in blocksonly mode (Patick Strateman)
4044f07 Add blocksonly mode (Patick Strateman)
2015-11-14 05:23:00 -08:00
Patick Strateman
bbf49da408 Fix comment for blocksonly parameter interactions 2015-11-14 05:14:01 -08:00
Patick Strateman
6a4982fb83 Fix fRelayTxs comment 2015-11-14 05:12:31 -08:00
Patick Strateman
59441a0445 Display DEFAULT_WHITELISTALWAYSRELAY in help text 2015-11-14 05:12:05 -08:00
Patick Strateman
71a2683f4b Use DEFAULT_BLOCKSONLY and DEFAULT_WHITELISTALWAYSRELAY constants 2015-11-14 05:10:59 -08:00
Patick Strateman
762b13b4d8 Add help text for blocksonly and whitelistalwaysrelay 2015-11-14 04:54:01 -08:00
Patick Strateman
3a964973fe Add whitelistalwaysrelay option 2015-11-14 04:52:21 -08:00
Patick Strateman
420fa8143a Do not process tx inv's in blocksonly mode 2015-11-14 04:52:21 -08:00
Patick Strateman
4044f07d1c Add blocksonly mode 2015-11-14 04:52:21 -08:00
Gregory Maxwell
9ffc687288
Merge pull request #6984
e495ed5 add documentation for exluding whitelistes peer from maxuploadtarget (Jonas Schnelli)
5760749 [docs] rename reducetraffic.md to reduce-traffic.md (Jonas Schnelli)
d61fcff don't enforce maxuploadtargets disconnect for whitelisted peers (Jonas Schnelli)
2015-11-13 23:54:36 -08:00
Jonas Schnelli
e495ed5f08
add documentation for exluding whitelistes peer from maxuploadtarget 2015-11-14 08:42:59 +01:00
Wladimir J. van der Laan
44ac42e50d
Merge pull request #7004
a5bc8de add jonasschnellis key to git-verify-commits trusted-keys (Jonas Schnelli)
160c72a update jonasschnellis gpg key (Jonas Schnelli)
2015-11-14 08:26:07 +01:00
Wladimir J. van der Laan
36baa9f475
Merge pull request #7013
b3ae384 Remove LOCK(cs_main) from decodescript (Peter Todd)
2015-11-14 08:24:44 +01:00
Gregory Maxwell
e0a5ef8427
Merge pull request #7010
10953a7 Better error message for fundrawtransaction w/ empty vout (Peter Todd)
61e1eb2 Actually use includeWatching value in fundrawtransaction (Peter Todd)
2015-11-13 21:17:20 -08:00
Peter Todd
b3ae384a8d
Remove LOCK(cs_main) from decodescript
Completely static RPC call that doesn't change or even look at mutable
state anywhere.
2015-11-13 17:19:33 -05:00
Peter Todd
6531f17a78
Add mediantime field to getblock and getblockheader 2015-11-13 16:57:10 -05:00
Peter Todd
7259769d7f Document new mediantime field in getblockchaininfo 2015-11-13 16:49:47 -05:00
Peter Todd
c277a63ed7
Clarify nLockTime-by-time comment in CheckFinalTx() 2015-11-13 16:36:54 -05:00
Peter Todd
10953a7d32
Better error message for fundrawtransaction w/ empty vout
Previously this case failed deep in Cwallet::CreateTransaction() with
the error message "Transaction amounts must be positive"
2015-11-13 15:53:46 -05:00
Peter Todd
61e1eb2e1c
Actually use includeWatching value in fundrawtransaction
Previously if you called fundrawtransaction and set includeWatching to
false it'd act as through you set it to true.
2015-11-13 15:45:29 -05:00
Peter Todd
748321eb5b
Add mediantime field to getblockchaininfo RPC call
Useful now that BIP113 is enforced for transactions entering the
mempool. Was previously only (indirectly) available by calling
getblocktemplate, a relatively expensive RPC call.
2015-11-13 15:35:04 -05:00
Jonas Schnelli
5760749ed8
[docs] rename reducetraffic.md to reduce-traffic.md 2015-11-13 21:10:51 +01:00
Jonas Schnelli
d61fcff071
don't enforce maxuploadtargets disconnect for whitelisted peers 2015-11-13 21:04:12 +01:00
Gregory Maxwell
dbd2c135dd
Merge pull request #6990
a264c32 http: speed up shutdown (Wladimir J. van der Laan)
2015-11-13 11:30:00 -08:00
Wladimir J. van der Laan
d3565604e3
Merge pull request #7007
a78e6ea Fix bug in mempool_tests unit test (Alex Morcos)
2015-11-13 18:37:46 +01:00
Pieter Wuille
114b5812f6 Prevector type 2015-11-13 18:15:20 +01:00
Pieter Wuille
4f09b77c7f
Merge pull request #6983
48edf57 Update key.cpp to new secp256k1 API (Pieter Wuille)
1d84107 Squashed 'src/secp256k1/' changes from 22f60a6..2bfb82b (Pieter Wuille)
2015-11-13 16:51:44 +01:00
Alex Morcos
a78e6eaf5c Fix bug in mempool_tests unit test 2015-11-13 10:50:49 -05:00
Jonas Schnelli
ae98388b22
[Qt] add startup option to reset Qt settings 2015-11-13 16:27:42 +01:00
Jonas Schnelli
a5bc8de1ba
add jonasschnellis key to git-verify-commits trusted-keys 2015-11-13 14:52:17 +01:00
Wladimir J. van der Laan
d2e987aa19
Merge pull request #6958
9c3ee3b [doc] Add -maxuploadtarget release notes (MarcoFalke)
b27e81f [net] Cleanup maxuploadtarget (MarcoFalke)
2015-11-13 13:27:33 +01:00
Jonas Schnelli
160c72ac3d
update jonasschnellis gpg key 2015-11-13 12:26:09 +01:00
Wladimir J. van der Laan
b8c06ef409 doc: Add non-style-related development guidelines
I've collected these over time, mostly adding notes after
troubleshooting obscure bugs. As I hope to get the community more
involved in the whole process, I think it is useful to add to the
developer-notes.
2015-11-13 12:02:39 +01:00
Wladimir J. van der Laan
a264c32e33
http: speed up shutdown
This continues/fixes #6719.

`event_base_loopbreak` was not doing what I expected it to, at least in
libevent 2.0.21.
What I expected was that it sets a timeout, given that no other pending
events it would exit in N seconds. However, what it does was delay the
event loop exit with 10 seconds, even if nothing is pending.

Solve it in a different way: give the event loop thread time to exit
out of itself, and if it doesn't, send loopbreak.

This speeds up the RPC tests a lot, each exit incurred a 10 second
overhead, with this change there should be no shutdown overhead in the
common case and up to two seconds if the event loop is blocking.

As a bonus this breaks dependency on boost::thread_group, as the HTTP
server minds its own offspring.
2015-11-13 11:10:48 +01:00
Wladimir J. van der Laan
24c4841d16
Merge pull request #6998
01afa80 doc: Remove mention of pulltester from README.md (Wladimir J. van der Laan)
2015-11-13 10:11:22 +01:00
Pieter Wuille
48edf5746a Update key.cpp to new secp256k1 API 2015-11-13 00:12:53 +01:00
Pieter Wuille
1d84107924 Squashed 'src/secp256k1/' changes from 22f60a6..2bfb82b
2bfb82b Merge pull request #351
06aeea5 Turn secp256k1_ec_pubkey_serialize outlen to in/out
970164d Merge pull request #348
6466625 Improvements for coordinate decompression
e2100ad Merge pull request #347
8e48787 Change secp256k1_ec_pubkey_combine's count argument to size_t.
c69dea0 Clear output in more cases for pubkey_combine, adds tests.
269d422 Comment copyediting.
b4d17da Merge pull request #344
4709265 Merge pull request #345
26abce7 Adds 32 static test vectors for scalar mul, sqr, inv.
5b71a3f Better error case handling for pubkey_create & pubkey_serialize, more tests.
3b7bc69 Merge pull request #343
eed87af Change contrib/laxder from headers-only to files compilable as standalone C
d7eb1ae Merge pull request #342
7914a6e Make lax_der_privatekey_parsing.h not depend on internal code
73f64ff Merge pull request #339
9234391 Overhaul flags handling
1a36898 Make flags more explicit, add runtime checks.
1a3e03a Merge pull request #340
96be204 Add additional tests for eckey and arg-checks.
bb5aa4d Make the tweak function zeroize-output-on-fail behavior consistent.
4a243da Move secp256k1_ec_privkey_import/export to contrib.
1b3efc1 Move secp256k1_ecdsa_sig_recover into the recovery module.
e3cd679 Eliminate all side-effects from VERIFY_CHECK() usage.
b30fc85 Avoid nonce_function_rfc6979 algo16 argument emulation.
70d4640 Make secp256k1_ec_pubkey_create skip processing invalid secret keys.
6c476a8 Minor comment improvements.
131afe5 Merge pull request #334
0c6ab2f Introduce explicit lower-S normalization
fea19e7 Add contrib/lax_der_parsing.h
3bb9c44 Rewrite ECDSA signature parsing code
fa57f1b Use secp256k1_rand_int and secp256k1_rand_bits more
49b3749 Add new tests for the extra testrand functions
f684d7d Faster secp256k1_rand_int implementation
251b1a6 Improve testrand: add extra random functions
31994c8 Merge pull request #338
f79aa88 Bugfix: swap arguments to noncefp
c98df26 Merge pull request #319
67f7da4 Extensive interface and operations tests for secp256k1_ec_pubkey_parse.
ee2cb40 Add ARG_CHECKs to secp256k1_ec_pubkey_parse/secp256k1_ec_pubkey_serialize
7450ef1 Merge pull request #328
68a3c76 Merge pull request #329
98135ee Merge pull request #332
37100d7 improve ECDH header-doc
b13d749 Fix couple of typos in API comments
7c823e3 travis: fixup module configs
cc3141a Merge pull request #325
ee58fae Merge pull request #326
213aa67 Do not force benchmarks to be statically linked.
338fc8b Add API exports to secp256k1_nonce_function_default and secp256k1_nonce_function_rfc6979.
52fd03f Merge pull request #320
9f6993f Remove some dead code.
357f8cd Merge pull request #314
118cd82 Use explicit symbol visibility.
4e64608 Include public module headers when compiling modules.
1f41437 Merge pull request #316
fe0d463 Merge pull request #317
cfe0ed9 Fix miscellaneous style nits that irritate overactive static analysis.
2b199de Use the explicit NULL macro for pointer comparisons.
9e90516 Merge pull request #294
dd891e0 Get rid of _t as it is POSIX reserved
201819b Merge pull request #313
912f203 Eliminate a few unbraced statements that crept into the code.
eeab823 Merge pull request #299
486b9bb Use a flags bitfield for compressed option to secp256k1_ec_pubkey_serialize and secp256k1_ec_privkey_export
05732c5 Callback data: Accept pointers to either const or non-const data
1973c73 Bugfix: Reinitialise buffer lengths that have been used as outputs
788038d Use size_t for lengths (at least in external API)
c9d7c2a secp256k1_context_set_{error,illegal}_callback: Restore default handler by passing NULL as function argument
9aac008 secp256k1_context_destroy: Allow NULL argument as a no-op
64b730b secp256k1_context_create: Use unsigned type for flags bitfield
cb04ab5 Merge pull request #309
a551669 Merge pull request #295
81e45ff Update group_impl.h
85e3a2c Merge pull request #112
b2eb63b Merge pull request #293
dc0ce9f [API BREAK] Change argument order to out/outin/in
6d947ca Merge pull request #298
c822693 Merge pull request #301
6d04350 Merge pull request #303
7ab311c Merge pull request #304
5fb3229 Fixes a bug where bench_sign would fail due to passing in too small a buffer.
263dcbc remove unused assignment
b183b41 bugfix: "ARG_CHECK(ctx != NULL)" makes no sense
6da1446 build: fix parallel build
5eb4356 Merge pull request #291
c996d53 Print success
9f443be Move pubkey recovery code to separate module
d49abbd Separate ECDSA recovery tests
439d34a Separate recoverable and normal signatures
a7b046e Merge pull request #289
f66907f Improve/reformat API documentation secp256k1.h
2f77487 Add context building benchmarks
cc623d5 Merge pull request #287
de7e398 small typo fix
9d96e36 Merge pull request #280
432e1ce Merge pull request #283
14727fd Use correct name in gitignore
356b0e9 Actually test static precomputation in Travis
ff3a5df Merge pull request #284
2587208 Merge pull request #212
a5a66c7 Add support for custom EC-Schnorr-SHA256 signatures
d84a378 Merge pull request #252
72ae443 Improve perf. of cmov-based table lookup
92e53fc Implement endomorphism optimization for secp256k1_ecmult_const
ed35d43 Make `secp256k1_scalar_add_bit` conditional; make `secp256k1_scalar_split_lambda_var` constant time
91c0ce9 Add benchmarks for ECDH and const-time multiplication
0739bbb Add ECDH module which works by hashing the output of ecmult_const
4401500 Add constant-time multiply `secp256k1_ecmult_const` for ECDH
e4ce393 build: fix hard-coded usage of "gen_context"
b8e39ac build: don't use BUILT_SOURCES for the static context header
baa75da tests: add a couple tests
ae4f0c6 Merge pull request #278
995c548 Introduce callback functions for dealing with errors.
c333074 Merge pull request #282
18c329c Remove the internal secp256k1_ecdsa_sig_t type
74a2acd Add a secp256k1_ecdsa_signature_t type
23cfa91 Introduce secp256k1_pubkey_t type
4c63780 Merge pull request #269
3e6f1e2 Change rfc6979 implementation to be a generic PRNG
ed5334a Update configure.ac to make it build on OpenBSD
1b68366 Merge pull request #274
a83bb48 Make ecmult static precomputation default
166b32f Merge pull request #276
c37812f Add gen_context src/ecmult_static_context.h to CLEANFILES to fix distclean.
125c15d Merge pull request #275
76f6769 Fix build with static ecmult altroot and make dist.
5133f78 Merge pull request #254
b0a60e6 Merge pull request #258
733c1e6 Add travis build to test the static context.
fbecc38 Add ability to use a statically generated ecmult context.
4fb174d Merge pull request #263
4ab8990 Merge pull request #270
bdf0e0c Merge pull request #271
31d0c1f Merge pull request #273
eb2c8ff Add missing casts to SECP256K1_FE_CONST_INNER
55399c2 Further performance improvements to _ecmult_wnaf
99fd963 Add secp256k1_ec_pubkey_compress(), with test similar to the related decompress() function.
145cc6e Improve performance of _ecmult_wnaf
36b305a Verify the result of GMP modular inverse using non-GMP code
0cbc860 Merge pull request #266
06ff7fe Merge pull request #267
5a43124 Save 1 _fe_negate since s1 == -s2
a5d796e Update code comments
3f3964e Add specific VERIFY tests for _fe_cmov
7d054cd Refactor to save a _fe_negate
b28d02a Refactor to remove a local var
55e7fc3 Perf. improvement in _gej_add_ge
a0601cd Fix VERIFY calculations in _fe_cmov methods
17f7148 Merge pull request #261
7657420 Add tests for adding P+Q with P.x!=Q.x and P.y=-Q.y
8c5d5f7 tests: Add failing unit test for #257 (bad addition formula)
5de4c5d gej_add_ge: fix degenerate case when computing P + (-lambda)P
bcf2fcf gej_add_ge: rearrange algebra
e2a07c7 Fix compilation with C++
873a453 Merge pull request #250
91eb0da Merge pull request #247
210ffed Use separate in and out pointers in `secp256k1_ec_pubkey_decompress`
a1d5ae1 Tiny optimization
729badf Merge pull request #210
2d5a186 Apply effective-affine trick to precomp
4f9791a Effective affine addition in EC multiplication
2b4cf41 Use pkg-config always when possible, with failover to manual checks for libcrypto

git-subtree-dir: src/secp256k1
git-subtree-split: 2bfb82b10edf0f0b0e366a12f94c8b21a914159d
2015-11-13 00:12:43 +01:00
Pieter Wuille
9e475d5a4d Update libsecp256k1 2015-11-13 00:12:43 +01:00
Jeff Garzik
38ed190eef
Merge #6771 from branch 'lowerLimits' of git://github.com/morcos/bitcoin 2015-11-12 15:38:59 -05:00
MarcoFalke
9c3ee3bf77 [doc] Add -maxuploadtarget release notes 2015-11-12 21:12:35 +01:00
MarcoFalke
b27e81f115 [net] Cleanup maxuploadtarget
* log: nMaxOutboundLimit is in bytes
* log: Hide misleading -maxuploadtarget=0 warning
* qa : Minor cleanup to maxuploadtarget rpc tests
* net: Use DEFAULT_MAX_UPLOAD_TARGET = 0
2015-11-12 20:45:57 +01:00
Wladimir J. van der Laan
bd629d77ed
Merge pull request #6639
58ef0ff doc: update docs for Tor listening (Wladimir J. van der Laan)
68ccdc4 doc: Mention Tor listening in release notes (Wladimir J. van der Laan)
09c1ae1 torcontrol improvements and fixes (Wladimir J. van der Laan)
2f796e5 Better error message if Tor version too old (Peter Todd)
8f4e67f net: Automatically create hidden service, listen on Tor (Wladimir J. van der Laan)
2015-11-12 19:24:59 +01:00
Wladimir J. van der Laan
58ef0ffa9e doc: update docs for Tor listening
- add new data directory files for 0.12 to doc/files.md
- mention torcontrol in doc/tor.md
2015-11-12 18:08:50 +01:00
Wladimir J. van der Laan
68ccdc4696 doc: Mention Tor listening in release notes 2015-11-12 17:58:15 +01:00
Wladimir J. van der Laan
09c1ae1c01 torcontrol improvements and fixes
- Force AUTHCOOKIE size to be 32 bytes: This provides protection against
  an attack where a process pretends to be Tor and uses the cookie
  authentication method to nab arbitrary files such as the
  wallet
- torcontrol logging
- fix cookie auth
- add HASHEDPASSWORD auth, fix fd leak when fwrite() fails
- better error reporting when cookie file is not ok
- better init/shutdown flow
- stop advertizing service when disconnected from tor control port
- COOKIE->SAFECOOKIE auth
2015-11-12 17:58:15 +01:00
Wladimir J. van der Laan
eb6172a8ca
Merge pull request #6918
69d373f Don't wipe the sigcache in TestBlockValidity (Pieter Wuille)
0b9e9dc Evict sigcache entries that are seen in a block (Pieter Wuille)
830e3f3 Make sigcache faster and more efficient (Pieter Wuille)
2015-11-12 17:37:52 +01:00
Alex Morcos
1cf3dd80a6 Add unit test for UpdateCoins 2015-11-12 09:55:12 -05:00
Wladimir J. van der Laan
01afa809ce doc: Remove mention of pulltester from README.md
We've switched to Travis CI a long time ago.
2015-11-12 15:02:48 +01:00
Jonas Schnelli
f6d9d5ee75
add (max)uploadtarget infos to getnettotals RPC help 2015-11-12 15:01:30 +01:00
Pieter Wuille
54e8bfec83
Merge pull request #6931
33c90cf Make skipping BIP30 check chain agnostic (Alex Morcos)
06d81ad Skip BIP30 check after BIP34 activation (Alex Morcos)
2015-11-12 14:37:10 +01:00
Jonas Schnelli
773ae4654e
[Qt] add shortcurts for debug-/console-window 2015-11-12 13:54:06 +01:00
Wladimir J. van der Laan
5fcc14ee05
Merge pull request #6804
b5cbd39 Add basic coverage reporting for RPC tests (James O'Beirne)
2015-11-12 08:22:36 +01:00
Alex Morcos
03c82826f9 Make CCoinsViewTest behave like CCoinsViewDB 2015-11-11 21:19:19 -05:00
Peter Todd
9bd3f035f0
Clarify 'fee' field in fundrawtransaction help text
Previous text could be interpreted as the the _additional_ fee paid by
the result on top of the fee the original version paid, rather than the
correct interpretation: the absolute fee the resulting tx pays.
2015-11-11 13:52:03 -05:00
James O'Beirne
b5cbd396ca Add basic coverage reporting for RPC tests
Thanks to @MarcoFalke @dexX7 @laanwj for review.
2015-11-11 10:33:43 -08:00
Wladimir J. van der Laan
cbf9609c71
Merge pull request #6969
7085728 doc: there is no libboost-base-dev, add missing sudo (Wladimir J. van der Laan)
2015-11-11 18:44:28 +01:00
Wladimir J. van der Laan
2f71b07d5e
Merge pull request #6974
40b77d4 Always allow getheaders from whitelisted peers (Wladimir J. van der Laan)
2015-11-11 18:30:17 +01:00
Wladimir J. van der Laan
c9743062a3
Merge pull request #6987
42bae94 [doc] Improve lanaguge in reducetraffic.md (fanquake)
6a776fa [doc] add documentation how to reduce traffic (Jonas Schnelli)
2015-11-11 18:27:46 +01:00
Wladimir J. van der Laan
44d7b561bc
Merge pull request #6988
0817bf7 [doc] Fix FIXME for libblkmaker in release-notes.md (MarcoFalke)
2015-11-11 18:14:43 +01:00
fanquake
42bae94e34
[doc] Improve lanaguge in reducetraffic.md 2015-11-11 15:26:16 +01:00
MarcoFalke
0817bf7094 [doc] Fix FIXME for libblkmaker in release-notes.md 2015-11-11 15:03:29 +01:00
Jonas Schnelli
6a776faff9
[doc] add documentation how to reduce traffic 2015-11-11 13:28:08 +01:00
Jorge Timón
6bc9e4056b Chainparams: Explicit CChainParams arg for miner:
-BitcoinMiner
-CreateNewBlock
-GenerateBitcoins
-ProcessBlockFound
2015-11-11 13:21:17 +01:00
Jorge Timón
598e494587 Chainparams: Explicit CChainParams arg for main (pre miner):
-ProcessNewBlock
-TestBlockValidity
2015-11-11 13:21:17 +01:00
Wladimir J. van der Laan
3ac7060934
Merge pull request #6978
69d0513 build: Use fPIC rather than fPIE for qt objects. (Cory Fields)
17c4d9d build: Split hardening/fPIE options out (Cory Fields)
2015-11-11 12:54:57 +01:00
Wladimir J. van der Laan
cb841e7513
Merge pull request #6982
7267843 Globals: Make AcceptBlockHeader static (Fix #6163) (Jorge Timón)
2015-11-11 12:23:33 +01:00
Wladimir J. van der Laan
38a4f267e8
Merge pull request #6985
7791395 [gitian] Use vm-builder_0.12.4+bzr494 on Debian (Michael)
2015-11-11 12:20:38 +01:00
Michael
779139549d [gitian] Use vm-builder_0.12.4+bzr494 on Debian 2015-11-11 18:45:57 +08:00
fanquake
23a3c47f95 [depends] zeromq 4.0.7 2015-11-11 17:53:34 +08:00
fanquake
10d3c77644 [depends] Fix miniupnpc compilation on osx 2015-11-11 14:33:52 +08:00
Jorge Timón
7267843745 Globals: Make AcceptBlockHeader static (Fix #6163)
..and at the same time prevent AcceptBlockHeader() from calling global function Params()
2015-11-11 01:33:39 +01:00
Peter Todd
16a2f93629
Fix incorrect locking of mempool during RBF replacement
Previously RemoveStaged() was called without pool.cs held.
2015-11-10 18:00:24 -05:00
Suhas Daftuar
97203f5606
Port test to rpc-test framework 2015-11-10 14:14:46 -05:00
Suhas Daftuar
20367d831f Add test for max replacement limit 2015-11-10 14:14:07 -05:00
Suhas Daftuar
73d904009d Improve RBF replacement criteria
Fix the calculation of conflicting size/conflicting fees.
2015-11-10 14:14:07 -05:00
Peter Todd
b272ecfdb3 Reject replacements that add new unconfirmed inputs 2015-11-10 14:14:07 -05:00
Peter Todd
fc8c19a07c Prevent low feerate txs from (directly) replacing high feerate txs
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.
2015-11-10 14:14:07 -05:00
Peter Todd
0137e6fafd Add tests for transaction replacement 2015-11-10 14:14:07 -05:00
Peter Todd
5891f870d6 Add opt-in full-RBF to mempool
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)
2015-11-10 14:14:06 -05:00
Wladimir J. van der Laan
de7d4591a7
Merge pull request #6965
77f1f59 Benchmark sanity checks and fork checks in ConnectBlock (Matt Corallo)
2015-11-10 19:18:51 +01:00
Peter Todd
2f796e5fe7 Better error message if Tor version too old 2015-11-10 17:29:56 +01:00
Wladimir J. van der Laan
8f4e67f152 net: Automatically create hidden service, listen on Tor
Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket
API, to create and destroy 'ephemeral' hidden services programmatically.
https://stem.torproject.org/api/control.html#stem.control.Controller.create_ephemeral_hidden_service

This means that if Tor is running (and proper authorization is available),
bitcoin automatically creates a hidden service to listen on, without user
manual configuration. This will positively affect the number of available
.onion nodes.

- When the node is started, connect to Tor through control socket
- Send `ADD_ONION` command
- First time:
    - Make it create a hidden service key
    - Save the key in the data directory for later usage
- Make it redirect port 8333 to the local port 8333 (or whatever port we're listening on).
- Keep control socket connection open for as long node is running. The hidden service will
  (by default) automatically go away when the connection is closed.
2015-11-10 17:29:56 +01:00
Wladimir J. van der Laan
b56953e9bb
qt: Periodic translations update 2015-11-10 16:44:53 +01:00
Wladimir J. van der Laan
32d8b1570c
Merge pull request #6940
7ca73dc Improving labels for Sent / Received "Bytes" (Jonathan Cross)
2015-11-10 16:39:12 +01:00
fanquake
26f8ea5342 [depends] native ccache 3.2.4 2015-11-10 23:24:08 +08:00
fanquake
17ad964c2f [depends] miniupnpc 1.9.20151026 2015-11-10 23:23:56 +08:00
fanquake
9e940fa4c6 [depends] Boost 1.59.0 2015-11-10 23:23:33 +08:00
Wladimir J. van der Laan
9fa54a1b0c
Merge pull request #6822
e20d924 [trivial] init: Use defaults MIN_RELAY_TX_FEE & TRANSACTION_MAXFEE (MarcoFalke)
536766c [trivial] New DEFAULT_MIN_RELAY_TX_FEE = 1000 (MarcoFalke)
5f46a7d transaction_tests: Be more strict checking dust (MarcoFalke)
2015-11-10 15:58:00 +01:00
Wladimir J. van der Laan
755b4ba848
Merge pull request #5574
fd55571 wallet: Expose GUI labels in RPC (Luke Dashjr)
2015-11-10 15:48:23 +01:00
Wladimir J. van der Laan
77beab70de
Merge pull request #6163
87cbdb8 Globals: Explicit Consensus::Params arg for main: (Jorge Timón)
2015-11-10 15:32:03 +01:00
Cory Fields
69d0513436 build: Use fPIC rather than fPIE for qt objects.
But only if qt was built with reduced relocations.
2015-11-09 22:50:31 -05:00
Cory Fields
17c4d9d164 build: Split hardening/fPIE options out
This allows for fPIE to be used selectively.
2015-11-09 22:50:31 -05:00
MarcoFalke
e20d9245e5 [trivial] init: Use defaults MIN_RELAY_TX_FEE & TRANSACTION_MAXFEE 2015-11-09 21:12:55 +01:00
MarcoFalke
536766c903 [trivial] New DEFAULT_MIN_RELAY_TX_FEE = 1000 2015-11-09 21:00:16 +01:00
MarcoFalke
5f46a7d068 transaction_tests: Be more strict checking dust
* Don't allow off-by-one or more
* Make clear dust is coupled with minRelayTxFee
* Check rounding for odd values
2015-11-09 21:00:16 +01:00
Wladimir J. van der Laan
503ff6e1ae
Merge pull request #6967
9ea7762 Use Pieter's signing subkey instead of his primary key (Matt Corallo)
2015-11-09 15:47:51 +01:00
Wladimir J. van der Laan
40b77d450d Always allow getheaders from whitelisted peers
Process `getheaders` messages from whitelisted peers even if we are in
initial block download. Whitelisted peers can always use a node as a
block source.

Also log a debug message when the request is ignored, for
troubleshooting.

Fixes #6971.
2015-11-09 14:28:49 +01:00
Wladimir J. van der Laan
f24880b132
Merge pull request #6908
c53d48a BIP70: Chainparams: DRY: Make qt/guiutil.cpp fit BIP70 chain name strings (Jorge Timón)
2015-11-09 14:19:05 +01:00
Wladimir J. van der Laan
6176e9bf3d
Merge pull request #6962
6dd3a44 translations: Don't translate markdown or force English grammar (MarcoFalke)
2015-11-09 12:09:33 +01:00
Wladimir J. van der Laan
92701b3b89
Merge pull request #6970
2980a18 Fix crash in validateaddress with -disablewallet (Wladimir J. van der Laan)
2015-11-09 11:57:31 +01:00
MarcoFalke
6dd3a44ce2 translations: Don't translate markdown or force English grammar 2015-11-09 11:40:52 +01:00
Wladimir J. van der Laan
2980a18572 Fix crash in validateaddress with -disablewallet
Fix a null pointer dereference in validateaddress with -disablewallet. Also add a regression testcase.
2015-11-09 08:44:19 +01:00
Wladimir J. van der Laan
7085728786 doc: there is no libboost-base-dev, add missing sudo
- There is no libboost-base-dev, no idea how I ended up with this
    - Without that, installing separate boost packages works fine on both
      Ubuntu 14.04 and Debian 7 (tested on VMs), this did not use to be
      the case, AFAIK.
- Add a missing 'sudo' for consistency
- Need `bsdmainutils` for `hexdump` (for the tests)
2015-11-08 20:01:08 +01:00
Matt Corallo
77f1f59d12 Benchmark sanity checks and fork checks in ConnectBlock 2015-11-06 15:21:14 -08:00
Matt Corallo
9ea7762e2c Use Pieter's signing subkey instead of his primary key
This commit is signed.
2015-11-06 15:19:31 -08:00
Wladimir J. van der Laan
4ee149a6db
Merge pull request #6955
e167af2 [doc] Remove excessive white space (MarcoFalke)
e0eeb67 [trivial] clang-format: Set AlignAfterOpenBracket: false (MarcoFalke)
0af8fe4 devtools: Update README.md (MarcoFalke)
2015-11-05 23:39:48 +01:00
MarcoFalke
e167af2acd [doc] Remove excessive white space 2015-11-05 23:29:29 +01:00
MarcoFalke
e0eeb672f2 [trivial] clang-format: Set AlignAfterOpenBracket: false 2015-11-05 23:28:02 +01:00
Wladimir J. van der Laan
849a7e6453
Merge pull request #6948
22e7807 Always flush block and undo when switching to new file (Pieter Wuille)
2015-11-05 23:06:34 +01:00
MarcoFalke
513686dd43 [qt] Use maxTxFee instead of 10000000 2015-11-05 19:16:29 +01:00
Wladimir J. van der Laan
3038eb63e8
Merge pull request #6934
d1c3762 Revert "Revert "Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints"" (Gregory Maxwell)
e4e5334 Restore MedianTimePast for locktime. (Gregory Maxwell)
2015-11-05 12:13:04 +01:00
Wladimir J. van der Laan
3694b74fa9
Merge pull request #6887
53238ff Clarify what minrelaytxfee does (MarcoFalke)
abd8b76 [qt] Properly display required fee instead of minTxFee (MarcoFalke)
2015-11-05 12:11:11 +01:00
Wladimir J. van der Laan
79456524f8
Merge pull request #6944
fb9857b Squashed 'src/leveldb/' changes from 7d41e6f..20ca81f (Pieter Wuille)
2015-11-05 10:49:59 +01:00
Pieter Wuille
22e780737d Always flush block and undo when switching to new file
Previously, the undo weren't being flushed during a reindex because
fKnown was set to true in FindBlockPos. That is the correct behaviour
for block files as they aren't being touched, but undo files are
touched.

This changes the behaviour to always flush when switching to a new file
(even for block files, though that isn't really necessary).
2015-11-05 00:43:49 +01:00
Pieter Wuille
f0343e9370 Update LevelDB 2015-11-04 23:46:47 +01:00
Pieter Wuille
fb9857bfd6 Squashed 'src/leveldb/' changes from 7d41e6f..20ca81f
20ca81f Merge pull request #9
7aa105e leveldb: Win32WritableFile without memory mapping

git-subtree-dir: src/leveldb
git-subtree-split: 20ca81f08fb7fa108923a091668e447dcf5c6b9d
2015-11-04 23:46:47 +01:00
Peter Josling
e482a7fe6b Fix CCoins serialization documentation
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.
2015-11-04 20:15:54 +00:00
Jonathan Cross
7ca73dcf6b Improving labels for Sent / Received "Bytes"
The labels for Sent & Received data in the "Peers" debug panel should not be defined as "Bytes" because the units (B, KB, MB) appear after the number.  I decided to simply use "Sent" and "Received" (rather than "Data Sent" and "Data Received") because we already have translations for the former:
https://www.transifex.com/bitcoin/bitcoin/viewstrings/#ja/qt-translation-011x/47533089?q=sent
https://www.transifex.com/bitcoin/bitcoin/viewstrings/#ja/qt-translation-011x/47533089?q=received

Demo of changes:

Current UI:
    Bytes Sent      12 KB
    Bytes Received  26 MB

With this pull request:
    Sent       12 KB
    Received   26 MB
2015-11-04 20:14:16 +01:00
Wladimir J. van der Laan
193f7b553e
Merge pull request #6938
dbacc69 build: If both Qt4 and Qt5 are installed, use Qt5 (Wladimir J. van der Laan)
2015-11-04 16:43:12 +01:00
Wladimir J. van der Laan
dbacc69b4f build: If both Qt4 and Qt5 are installed, use Qt5
If both Qt4 and Qt5 development headers are installed, use Qt5. Building
against Qt5 should be encouraged as that is where active development
happens.
2015-11-04 16:19:28 +01:00
Jorge Timón
c53d48a6b3 BIP70: Chainparams: DRY: Make qt/guiutil.cpp fit BIP70 chain name strings
As a side effect, the qt user will see "test" instead of "testnet"
2015-11-04 14:02:10 +01:00
Wladimir J. van der Laan
c702521a85
Merge pull request #6864
268b79e [qt] rpcconsole: Scale monospace font to 95% (MarcoFalke)
28313b8 [qt] Use fixed pitch font for the rpc console (MarcoFalke)
2015-11-04 13:06:14 +01:00
MarcoFalke
0af8fe45ae devtools: Update README.md 2015-11-04 13:05:25 +01:00
Wladimir J. van der Laan
8a95a18562
Merge pull request #6669
6342a48 Init: Use DEFAULT_TRANSACTION_MINFEE in help message (MarcoFalke)
a9c73a1 [wallet] Add comments for doxygen (MarcoFalke)
6b0e622 [wallet] Refactor to use new MIN_CHANGE (MarcoFalke)
2015-11-04 12:30:50 +01:00
Wladimir J. van der Laan
aa03fb35c4
Merge pull request #6927
de0499d Fix ZMQ Notification initialization and shutdown (João Barbosa)
2015-11-04 12:10:46 +01:00
Wladimir J. van der Laan
29c3c43e19
Merge pull request #6933
35bb381 build: Improve build instructions (Wladimir J. van der Laan)
2015-11-04 12:08:20 +01:00
Wladimir J. van der Laan
35bb381435 build: Improve build instructions
- Add package instructions for Ubuntu 15.10
- Clarify BerkeleyDB/wallet situation for unix
- Add basic build instructions for Windows (closes #1401)
2015-11-04 11:57:30 +01:00
Wladimir J. van der Laan
aca0c00ae1
Merge pull request #6905
a6efc01 Bugfix: Omit wallet-related options from -help when wallet is disabled (Luke Dashjr)
5f9260f Bugfix: If genproclimit is omitted to RPC setgenerate, don't change it; also show correct default in getmininginfo (Luke Dashjr)
420a82f Bugfix: Describe dblogsize option correctly (it refers to the wallet database, not memory pool) (Luke Dashjr)
caa3d42 Bugfix: RPC: blockchain: Display correct defaults in help for verifychain method (Luke Dashjr)
2015-11-04 11:45:33 +01:00
João Barbosa
de0499d3b8 Fix ZMQ Notification initialization and shutdown
Moves the call Initialize() from init.cpp to CreateWithArguments() and handles the
return value. Moves the call Shutdown() from init.cpp to destructor.
Changes Initialize() and Shutdown() to protected members.
2015-11-04 10:36:00 +00:00
Gregory Maxwell
d1c3762ae8 Revert "Revert "Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints""
This reverts commit 8537ecdfc4.
2015-11-03 17:14:09 +00:00
Gregory Maxwell
e4e5334ef8 Restore MedianTimePast for locktime.
Revert "Revert "Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations""
This reverts commit 40cd32e835.

After careful analysis it was determined that the change was, in fact, safe and several people were suffering
momentary confusion about locktime semantics.
2015-11-03 17:12:36 +00:00
MarcoFalke
268b79ef0c [qt] rpcconsole: Scale monospace font to 95% 2015-11-03 12:34:51 +01:00
Wladimir J. van der Laan
42f339ef78
Merge pull request #6930
ff2a2af build: don't distribute tests_config.py (Wladimir J. van der Laan)
2015-11-03 10:09:09 +01:00
MarcoFalke
53238ff0b1 Clarify what minrelaytxfee does 2015-11-03 08:53:37 +01:00
MarcoFalke
abd8b768ee [qt] Properly display required fee instead of minTxFee 2015-11-03 08:53:37 +01:00
Alex Morcos
14470f9aa6 ModifyNewCoins saves database lookups
When processing a new transaction, in addition to spending the Coins of its txin's it creates a new Coins for its outputs.  The existing ModifyCoins function will first make sure this Coins does not already exist.  It can not exist due to BIP 30, but because of that the lookup can't be cached and always has to go to the database.  Since we are creating the coins to match the new tx anyway, there is no point in checking if they exist first anyway.  However this should not be used for coinbase tx's in order to preserve the historical behavior of overwriting the two existing duplicate tx pairs.
2015-11-02 21:27:15 -05:00
Alex Morcos
33c90cf197 Make skipping BIP30 check chain agnostic 2015-11-02 20:11:55 -05:00
Alex Morcos
06d81ad516 Skip BIP30 check after BIP34 activation 2015-11-02 20:10:24 -05:00
Wladimir J. van der Laan
8fe30fb4d1
Merge pull request #6928
40cd32e Revert "Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations" (Gregory Maxwell)
8537ecd Revert "Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints" (Gregory Maxwell)
2015-11-02 04:44:47 +01:00
Wladimir J. van der Laan
a6d0d623fc
Merge pull request #6926
7497e80 tests: Initialize networking on windows (Wladimir J. van der Laan)
2015-11-02 04:29:45 +01:00
Wladimir J. van der Laan
ff2a2af64c build: don't distribute tests_config.py
This file is dynamically generated by configure based on the platform,
it doesn't belong in the distribution archive.

Fixes #6929.
2015-11-02 04:15:58 +01:00
Pieter Wuille
69d373ff66 Don't wipe the sigcache in TestBlockValidity 2015-11-02 02:01:45 +01:00
Gregory Maxwell
40cd32e835 Revert "Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations"
This reverts commit 9d55050773.

As noted by Luke-Jr, under some conditions this will accept transactions which are invalid by the network
 rules.  This happens when the current block time is head of the median time past and a transaction's
 locktime is in the middle.

This could be addressed by changing the rule to MAX(this_block_time, MTP+offset) but this solution and
 the particular offset used deserve some consideration.
2015-11-01 20:05:18 +00:00
Gregory Maxwell
8537ecdfc4 Revert "Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints"
This reverts commit dea8d21fc6.
2015-11-01 20:05:16 +00:00
Wladimir J. van der Laan
02a95be977
qt: translation update prior to opening 0.12 translations
Also update transifex slug for new version.
2015-11-01 16:11:50 +01:00
Wladimir J. van der Laan
7497e805bd tests: Initialize networking on windows 2015-11-01 11:45:06 +01:00
Wladimir J. van der Laan
a6e80e4017
Merge pull request #6883
c939792 Add BIP65 CHECKLOCKTIMEVERIFY to release notes (Peter Todd)
2015-10-31 11:07:24 +01:00
Pieter Wuille
0b9e9dca4e Evict sigcache entries that are seen in a block 2015-10-31 01:15:11 +01:00
Pieter Wuille
830e3f3d02 Make sigcache faster and more efficient 2015-10-31 01:15:11 +01:00
Wladimir J. van der Laan
48b5b84ee5
Merge pull request #6906
30d9662 Reject invalid pubkeys when reading ckey items from the wallet. (Gregory Maxwell)
2015-10-31 00:39:50 +01:00
Wladimir J. van der Laan
d482c0a7b2
Merge pull request #6896
e9e6163 Make -checkmempool=1 not fail through int32 overflow (Pieter Wuille)
2015-10-31 00:38:31 +01:00
Jorge Timón
87cbdb8b41 Globals: Explicit Consensus::Params arg for main:
-CheckBlockIndex
-DisconnectTip
-GetTransaction
-InvalidateBlock
-ProcessGetData
-ReadBlockFromDisk
2015-10-30 14:07:30 +01:00
Jimmy Kiselak
ffdbecb287 change initial reward to 350000000, claimtrie_tests uses regtest 2015-10-29 23:27:50 -04:00
Luke Dashjr
a6efc01908 Bugfix: Omit wallet-related options from -help when wallet is disabled 2015-10-30 00:32:08 +01:00
Gregory Maxwell
30d9662bd7 Reject invalid pubkeys when reading ckey items from the wallet.
This makes the behavior more consistent with key objects and will
 reject some corrupted pubkeys (e.g. zero length).
2015-10-29 18:24:49 +00:00
MarcoFalke
28313b83fc [qt] Use fixed pitch font for the rpc console
Also:
* Preserve white space
* Make fixed font as large as default font
2015-10-29 18:01:39 +01:00
MarcoFalke
6342a4889b Init: Use DEFAULT_TRANSACTION_MINFEE in help message 2015-10-29 16:52:40 +01:00
Wladimir J. van der Laan
725539ea03
Merge pull request #6863
0be387a unittest: fix test for null tx input (Daniel Kraft)
2015-10-29 13:40:33 +01:00
Wladimir J. van der Laan
b28c229324
Merge pull request #6899
a83f3c2 Add explicit shared_ptr constructor due to C++11 error (Bob McElrath)
2015-10-29 13:39:56 +01:00
Wladimir J. van der Laan
b2ce2c1f0f
Merge pull request #6870
040c0ea Init: Cleanup error and warning strings (MarcoFalke)
6782f58 [trivial] Latest config.guess (MarcoFalke)
bf68191 [trivial] rpcnet: fix typo (MarcoFalke)
95f4291 [trivial] Rewrite help text for feature enabled by default (MarcoFalke)
2015-10-29 13:30:42 +01:00
Wladimir J. van der Laan
26752767df
Merge pull request #6894
3e187f2 Fix BIP65 p2p test (Suhas Daftuar)
2015-10-29 13:12:47 +01:00
Jimmy Kiselak
bf45e835fb remove unnecessary non-const function, make other function const 2015-10-29 00:17:21 -04:00
Jimmy Kiselak
55207d9767 change subsidy formula and change initial block reward 2015-10-28 23:05:30 -04:00
Bob McElrath
a83f3c2426 Add explicit shared_ptr constructor due to C++11 error 2015-10-28 22:25:32 -04:00
MarcoFalke
040c0ea093 Init: Cleanup error and warning strings
Also update doc/translation_strings_policy.md
2015-10-28 22:11:43 +01:00
MarcoFalke
a9c73a130e [wallet] Add comments for doxygen 2015-10-28 11:15:48 +01:00
MarcoFalke
6b0e622c25 [wallet] Refactor to use new MIN_CHANGE
* Introduce new constant MIN_CHANGE and use it instead of the
hardcoded "CENT"
* Add test case for MIN_CHANGE
* Introduce new constant for -mintxfee default:
  DEFAULT_TRANSACTION_MINFEE = 1000
2015-10-28 10:52:46 +01:00
Alex Morcos
971a4e6b86 Lower default policy limits
Reduce the default limits on maximum number of transactions and the cumulative size of those transactions in both ancestor and descendant packages to 25 txs and 101kb total size.
2015-10-27 23:59:19 -04:00
Jimmy Kiselak
cda9f1f0ff extend getclaimsfortx to also handle supports 2015-10-27 22:14:04 -04:00
Pieter Wuille
e9e616323b Make -checkmempool=1 not fail through int32 overflow 2015-10-28 03:07:59 +01:00
Pieter Wuille
8daffe227b
Merge pull request #6891
ad5aae1 constify missing catch cases (Philip Kaufmann)
2015-10-28 02:34:09 +01:00
Pieter Wuille
4764f5db9d
Merge pull request #6892
214de7e [Trivial] ensure minimal header conventions (Philip Kaufmann)
2015-10-28 02:30:31 +01:00
Pieter Wuille
e06c14fb59
Merge pull request #6776
ab1f560 Support -checkmempool=N, which runs checks on average once every N transactions (Pieter Wuille)
2015-10-28 02:25:06 +01:00
Pieter Wuille
8756c98642
Merge pull request #6895
4252cd0 Update to my new key (Pieter Wuille)
2015-10-28 02:23:20 +01:00
Pieter Wuille
93521a4f56
Merge pull request #6875
6e800c2 Add Pieter's new PGP key to verify-commits/trusted-keys (Matt Corallo)
1d94b72 Whitelist commits signed with Pieter's now-revoked key (Matt Corallo)
27252b7 Fix pre-push-hook regexes (Matt Corallo)
2015-10-28 02:21:47 +01:00
Gregory Maxwell
d0badb916e
Merge pull request #6865
298e040 Fix chainstate serialized_size computation (Pieter Wuille)
2015-10-27 18:07:03 -07:00
Pieter Wuille
4252cd09fd Update to my new key 2015-10-28 02:03:15 +01:00
Matt Corallo
6e800c2b41
Add Pieter's new PGP key to verify-commits/trusted-keys 2015-10-27 17:06:13 -07:00
Pieter Wuille
298e040bca Fix chainstate serialized_size computation 2015-10-28 01:05:32 +01:00
Jimmy Kiselak
3862e2f809 merge in rpc command for getting claims for transaction 2015-10-27 17:55:33 -04:00
Suhas Daftuar
3e187f2acd Fix BIP65 p2p test
create_coinbase() was being called with the wrong arguments
2015-10-27 15:36:06 -04:00
Daniel Kraft
0be387a536 unittest: fix test for null tx input
Update the unittest that is meant to catch a transaction that is invalid
because it has a null input.  The old test failed not because of that
but because it was considered a coinbase with too large script.  This is
already checked with a different test, though.

The new test is *not* a coinbase since it has two inputs, but one of
them is null.  This really checks the corresponding code path in
CheckTransaction.
2015-10-27 20:11:56 +01:00
Philip Kaufmann
214de7e54c [Trivial] ensure minimal header conventions
- ensure header namespaces and end comments are correct
- add missing header end comments
- ensure minimal formatting (add newlines etc.)
2015-10-27 17:44:13 +01:00
Philip Kaufmann
ad5aae15b4 constify missing catch cases
- ensure all missing catch cases are constant where possible
2015-10-27 17:39:42 +01:00
Wladimir J. van der Laan
8f3b3cdee4
Merge pull request #6464
2d8c49d Clean up tx prioritization when conflict mined (Casey Rodarmor)
2015-10-27 11:58:35 +01:00
Wladimir J. van der Laan
38369dda32
Merge pull request #6889
0d699fc fix locking issue with new mempool limiting (Jonas Schnelli)
2015-10-27 08:48:12 +01:00
Jimmy Kiselak
d117a97a41 merge in combining getvalueforname and gettxidforname 2015-10-27 01:54:47 -04:00
Wladimir J. van der Laan
2b625510d3
Merge pull request #6881
7bbc7c3 Add option for microsecond precision in debug.log (Suhas Daftuar)
2015-10-26 21:04:41 +01:00
Suhas Daftuar
7bbc7c314f Add option for microsecond precision in debug.log 2015-10-26 15:05:37 -04:00
Wladimir J. van der Laan
7939164d89
Merge pull request #6622
17a073a Add RPC test for -maxuploadtarget (Suhas Daftuar)
872fee3 Introduce -maxuploadtarget (Jonas Schnelli)
2015-10-26 17:54:00 +01:00
Wladimir J. van der Laan
dbc5ee821e
Merge pull request #6621
e04b0b6 added OS X documentation to doc/init.md (Kevin Cooper)
d4aa54c added org.bitcoin.bitcoind.plist for launchd (OS X) (Kevin Cooper)
2015-10-26 17:42:00 +01:00
Wladimir J. van der Laan
c8322ff7f7
Merge pull request #6888
143d173 Use BOOST_CHECK_MESSAGE() rather than BOOST_CHECK() in alerts_tests.cpp and initialize strMiscWarning before calling PartitionCheck()." (Eric Lombrozo)
2015-10-26 17:25:19 +01:00
Suhas Daftuar
17a073ae06
Add RPC test for -maxuploadtarget 2015-10-26 15:40:38 +01:00
Jonas Schnelli
872fee3fcc
Introduce -maxuploadtarget
* -maxuploadtarget can be set in MiB
* if <limit> - ( time-left-in-24h-cycle / 600 * MAX_BLOCK_SIZE ) has reach, stop serve blocks older than one week and filtered blocks
* no action if limit has reached, no guarantee that the target will not be  surpassed
* add outbound limit informations to rpc getnettotals
2015-10-26 15:37:30 +01:00
Jonas Schnelli
0d699fc821
fix locking issue with new mempool limiting
Current master crashes on OSX with an exception: "boost: mutex lock failed in pthread_mutex_lock: Invalid argument"
2015-10-26 14:58:17 +01:00
Wladimir J. van der Laan
ff057f41aa
Merge pull request #6566
dea8d21 Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints (Mark Friedenbach)
9d55050 Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations (Mark Friedenbach)
2015-10-26 11:32:46 +01:00
Wladimir J. van der Laan
26f5b34e88
Merge pull request #6877
10e2eae rpc: Add maxmempool and effective min fee to getmempoolinfo (Wladimir J. van der Laan)
2015-10-26 10:07:04 +01:00
Wladimir J. van der Laan
10e2eae35c rpc: Add maxmempool and effective min fee to getmempoolinfo 2015-10-26 09:59:07 +01:00
Wladimir J. van der Laan
5242bb32c7
Merge pull request #6813
d80e3cb Support gathering of code coverage data for RPC tests (dexX7)
e3b5e6c Run extended BitcoinJ tests for coverage based on config (dexX7)
45d4ff0 Add config option to enable extended RPC tests for code coverage (dexX7)
8e3a27b Require Python for RPC tests, when using lcov (dexX7)
d425877 Remove coverage and test related files, when cleaning up (dexX7)
4d2a926 Ignore coverage data related and temporary test files (dexX7)
2015-10-26 09:09:33 +01:00
Wladimir J. van der Laan
867d6c90b8
Merge pull request #6878
dca7bd3 doc: Add developer notes about gitignore (Wladimir J. van der Laan)
2015-10-26 08:21:03 +01:00
Wladimir J. van der Laan
450893769f
Merge pull request #6879
ceb2a9c doc: mention BIP65 softfork in bips.md (Wladimir J. van der Laan)
2015-10-26 08:06:19 +01:00
Wladimir J. van der Laan
ceb2a9c3e1 doc: mention BIP65 softfork in bips.md 2015-10-26 08:05:43 +01:00
Eric Lombrozo
143d173969 Use BOOST_CHECK_MESSAGE() rather than BOOST_CHECK() in alerts_tests.cpp and initialize strMiscWarning before calling PartitionCheck()." 2015-10-25 05:47:02 -04:00
Kevin Cooper
e04b0b6b83 added OS X documentation to doc/init.md 2015-10-24 18:28:02 -07:00
Peter Todd
c939792baa
Add BIP65 CHECKLOCKTIMEVERIFY to release notes 2015-10-23 16:19:49 -04:00
dexX7
d80e3cbece
Support gathering of code coverage data for RPC tests
The RPC tests (via `qa/pull-tester/rpc-tests.py`) are now executed,
when gathering code coverage data, for example with `make cov`.

Generating coverage data requires `lcov`, which can installed with:

    sudo apt-get install lcov

To also use the BitcoinJ tests, get the test tool:

    TOOL_URL=https://github.com/theuni/bitcoind-comparisontool/raw/master/pull-tests-8c6666f.jar
    TOOL_HASH=a865332b3827abcde684ab79f5f43c083b0b6a4c97ff5508c79f29fee24f11cd
    wget $TOOL_URL -O ./share/BitcoindComparisonTool.jar
    echo "$TOOL_HASH  ./share/BitcoindComparisonTool.jar" | shasum --algorithm 256 --check

The coverage data can be generated with:

    ./autogen.sh
    ./configure --enable-lcov --with-comparison-tool=./share/BitcoindComparisonTool.jar
    make
    make cov

Optionally the options `--enable-extended-rpc-tests` and
`--enable-comparison-tool-reorg-tests` may be used to enable more time
consuming tests.

It then runs the tests and generates two HTML reports:

 - test_bitcoin.coverage/index.html
 - total.coverage/index.html
2015-10-23 22:09:24 +02:00
dexX7
e3b5e6c39c
Run extended BitcoinJ tests for coverage based on config
The configuration option `--enable-comparison-tool-reorg-tests` may be
used to enable extended tests via BitcoinJ also for coverage testing.
2015-10-23 22:09:20 +02:00
dexX7
45d4ff0c20
Add config option to enable extended RPC tests for code coverage
When using lcov to gather code coverage data, the configuration option
`--enable-extended-rpc-tests` may be used to enable extended RPC tests.
2015-10-23 22:09:19 +02:00
dexX7
8e3a27bbbf
Require Python for RPC tests, when using lcov
Because Python is (going to be) used to run the RPC tests, when
gathering coverage data with lcov, it is explicitly checked, whether
Python is really available.
2015-10-23 22:09:17 +02:00
dexX7
d425877557
Remove coverage and test related files, when cleaning up
Until now there were quite a few leftovers, and only the coverage
related files in `src/` were cleaned, while the ones in the other dirs
remained. `qa/tmp/` is related to the BitcoinJ tests, and `cache/` is
related to RPC tests.
2015-10-23 22:09:14 +02:00
dexX7
4d2a926cb4
Ignore coverage data related and temporary test files 2015-10-23 22:08:07 +02:00
Mark Friedenbach
dea8d21fc6 Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints
Transactions are not allowed in the memory pool or selected for inclusion in a block until their lock times exceed chainActive.Tip()->GetMedianTimePast(). However blocks including transactions which are only mature under the old rules are still accepted; this is *not* the soft-fork required to actually rely on the new constraint in production.
2015-10-23 09:02:24 -07:00
Mark Friedenbach
9d55050773 Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations
The lock-time code currently uses CBlock::nTime as the cutoff point for time based locked transactions. This has the unfortunate outcome of creating a perverse incentive for miners to lie about the time of a block in order to collect more fees by including transactions that by wall clock determination have not yet matured. By using CBlockIndex::GetMedianTimePast from the prior block instead, the self-interested miner no longer gains from generating blocks with fraudulent timestamps. Users can compensate for this change by simply adding an hour (3600 seconds) to their time-based lock times.

If enforced, this would be a soft-fork change. This commit only adds the functionality on an unexecuted code path, without changing the behaviour of Bitcoin Core.
2015-10-23 09:02:24 -07:00
Jeff Garzik
46f74379b8
Merge pull request #6873 2015-10-23 09:01:22 -04:00
Wladimir J. van der Laan
c719cefc41
Merge pull request #6856
d3b09f6 Do not allow blockfile pruning during reindex. (Alex Morcos)
2015-10-23 14:41:30 +02:00
Wladimir J. van der Laan
dca7bd3152 doc: Add developer notes about gitignore
- Add developer notes about `.gitignore.`
- Remove qt creator specific files from gitignore, to be consistent.
2015-10-23 14:24:08 +02:00
Wladimir J. van der Laan
2a1090d4f5
Merge pull request #6351
65ef372 Add BIP65 to getblockchaininfo softforks list (Peter Todd)
cde7ab2 Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork (Peter Todd)
287f54f Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic (Peter Todd)
2015-10-23 13:33:13 +02:00
Wladimir J. van der Laan
bf7c1958d1
Merge pull request #5936
212bcca Add optional locktime to createrawtransaction (Tom Harding)
2015-10-23 12:47:19 +02:00
Wladimir J. van der Laan
923c5e93a9
Merge pull request #6818
b48da5c script:  Remove magic numbers (David Hill)
2015-10-23 11:50:10 +02:00
Matt Corallo
1d94b72019 Whitelist commits signed with Pieter's now-revoked key 2015-10-23 02:05:42 -07:00
Wladimir J. van der Laan
fa1d252e82
Merge pull request #6790
8c15f33 [trivial] Update contrib/devtools/README.md (MarcoFalke)
338f62f [devtools] add clang-format.py (MarcoFalke)
2015-10-23 10:45:50 +02:00
Wladimir J. van der Laan
b2b173acab
Merge pull request #6867
a4e28b3 Set TCP_NODELAY on P2P sockets. (Gregory Maxwell)
2015-10-23 09:29:49 +02:00
MarcoFalke
6782f58368 [trivial] Latest config.guess
upstream commit 1e80063123b47b97d25dfeded8dd92a19dafab66
2015-10-23 08:35:05 +02:00
MarcoFalke
bf681918d7 [trivial] rpcnet: fix typo 2015-10-23 08:35:05 +02:00
Matt Corallo
27252b7389 Fix pre-push-hook regexes 2015-10-22 19:50:01 -07:00
Jeff Garzik
3795e8152b leveldbwrapper file rename to dbwrapper.* 2015-10-22 21:33:06 -04:00
Jeff Garzik
8587b23038 leveldbwrapper symbol rename: Remove "Level" from class, etc. names 2015-10-22 21:02:20 -04:00
Jeff Garzik
6ec4b7eb20 leveldbwrapper: Remove unused .Prev(), .SeekToLast() methods
Also, trim trailing whitespace.
2015-10-22 20:49:02 -04:00
Gregory Maxwell
a4e28b3d1e Set TCP_NODELAY on P2P sockets.
Nagle appears to be a significant contributor to latency now that the static
 sleeps are gone.  Most of our messages are relatively large compared to
 IP + TCP so I do not expect this to create enormous overhead.

This may also reduce traffic burstyness somewhat.
2015-10-22 17:57:48 +00:00
Wladimir J. van der Laan
f2c869aef2
Merge pull request #6848
c6824f8 Add DERSIG transaction test cases (J Ross Nicoll)
2015-10-22 18:02:17 +02:00
Wladimir J. van der Laan
2cd020d054
Merge pull request #6846
3cb56f3 *: alias -h for --help (Daniel Cousens)
2015-10-22 17:53:07 +02:00
MarcoFalke
95f4291185 [trivial] Rewrite help text for feature enabled by default
c.f #6748
2015-10-22 17:01:53 +02:00
Wladimir J. van der Laan
a09297010e
Merge pull request #6854
579b863 devtools: Add security-check.py (Wladimir J. van der Laan)
2015-10-22 10:23:42 +02:00
Jimmy Kiselak
7af9e6dc93 fix null pointer dereference 2015-10-21 23:35:30 -04:00
Jimmy Kiselak
f976d965c7 merge upstream changes, set up testnet and regtestnet 2015-10-21 22:30:56 -04:00
Wladimir J. van der Laan
579b863cd7 devtools: Add security-check.py
Perform the following ELF security checks:

- PIE: Check for position independent executable (PIE), allowing for address space randomization
- NX: Check that no sections are writable and executable (including the stack)
- RELRO: Check for read-only relocations, binding at startup
- Canary: Check for use of stack canary

Also add a check to symbol-check.py that checks that only the subset of
allowed libraries is imported (to avoid incompatibilities).
2015-10-22 03:35:38 +02:00
Daniel Cousens
3cb56f3778 *: alias -h for --help 2015-10-22 00:07:30 +11:00
Wladimir J. van der Laan
0fbfc5106c
Merge pull request #6859
41db8c4 http: Restrict maximum size of request line + headers (Wladimir J. van der Laan)
2015-10-21 11:19:25 +02:00
Wladimir J. van der Laan
3b20e239c6
Merge pull request #6722
58254aa Fix stale comment in CTxMemPool::TrimToSize. (Matt Corallo)
2bc5018 Fix comment formatting tabs (Matt Corallo)
8abe0f5 Undo GetMinFee-requires-extra-call-to-hit-0 (Matt Corallo)
9e93640 Drop minRelayTxFee to 1000 (Matt Corallo)
074cb15 Add reasonable test case for mempool trimming (Matt Corallo)
d355cf4 Only call TrimToSize once per reorg/blocks disconnect (Matt Corallo)
794a8ce Implement on-the-fly mempool size limitation. (Matt Corallo)
e6c7b36 Print mempool size in KB when adding txn (Matt Corallo)
241d607 Add CFeeRate += operator (Matt Corallo)
e8bcdce Track (and define) ::minRelayTxFee in CTxMemPool (Matt Corallo)
9c9b66f Fix calling mempool directly, instead of pool, in ATMP (Matt Corallo)
49b6fd5 Add Mempool Expire function to remove old transactions (Pieter Wuille)
78b82f4 Reverse the sort on the mempool's feerate index (Suhas Daftuar)
2015-10-21 08:50:16 +02:00
Pieter Wuille
ab1f56072a Support -checkmempool=N, which runs checks on average once every N transactions 2015-10-20 18:59:08 +02:00
Wladimir J. van der Laan
c6de5cc886
Merge pull request #6796
c7b36cc Change URLs to https in debian/control (Matt Corallo)
e253e83 Update debian/changelog and slight tweak to debian/control (Matt Corallo)
2015-10-20 17:09:22 +02:00
Wladimir J. van der Laan
e26a3f6713
Merge pull request #6235
55a8975 Chainparams: Translations: DRY: options and error strings (Jorge Timón)
f3525e2 Chainparams: Replace CBaseChainParams::Network enum with string constants (suggested by Wladimir) (Jorge Timón)
2015-10-20 17:06:28 +02:00
Wladimir J. van der Laan
41db8c4733 http: Restrict maximum size of request line + headers
Prevent memory exhaustion by sending lots of data.
Also add a test to `httpbasics.py`.

Closes #6425
2015-10-20 14:31:40 +02:00
Jorge Timón
55a89751fa Chainparams: Translations: DRY: options and error strings
Also remove SelectBaseParamsFromCommandLine and SelectParamsFromCommandLine
2015-10-20 14:28:43 +02:00
Jorge Timón
f3525e24e3 Chainparams: Replace CBaseChainParams::Network enum with string constants (suggested by Wladimir) 2015-10-20 14:22:44 +02:00
Wladimir J. van der Laan
020c4073a0
Merge pull request #6841
b6d5e32 Make fee aware of min relay in pruning.py RPC test (Alex Morcos)
2015-10-20 12:53:45 +02:00
Wladimir J. van der Laan
ae69a75c55
Merge pull request #6801
e76d9e4 [depends] Latest config.guess and config.sub (fanquake)
2015-10-20 12:35:54 +02:00
Wladimir J. van der Laan
87e5539e9c
Merge pull request #6827
bd4c22e [rpc-tests] Check return code (MarcoFalke)
0d8b175 [rpc-tests] fundrawtransaction: Update fee after minRelayTxFee increase (MarcoFalke)
2015-10-20 12:21:25 +02:00
Wladimir J. van der Laan
c834f56869
Merge pull request #6853
7801f43 Added fPowNoRetargeting field to Consensus::Params that disables nBits recalculation. (Eric Lombrozo)
2015-10-20 12:07:44 +02:00
Wladimir J. van der Laan
488f8517a1
Merge pull request #6829
53b86d0 doc: add comment explaining initial header request (Daniel Kraft)
2015-10-20 12:06:44 +02:00
MarcoFalke
bd4c22ed56 [rpc-tests] Check return code 2015-10-20 10:28:42 +02:00
MarcoFalke
0d8b1759d2 [rpc-tests] fundrawtransaction: Update fee after minRelayTxFee increase 2015-10-20 10:25:45 +02:00
Alex Morcos
d3b09f6bac Do not allow blockfile pruning during reindex.
Also clarify startup message.
2015-10-19 14:43:04 -04:00
Eric Lombrozo
7801f4387d Added fPowNoRetargeting field to Consensus::Params that disables nBits recalculation. 2015-10-19 14:25:21 -04:00
Wladimir J. van der Laan
da7d57fb95
Merge pull request #6852
bfcdc21 build: make sure OpenSSL heeds noexecstack (Wladimir J. van der Laan)
2015-10-19 15:02:57 +02:00
Wladimir J. van der Laan
5f5ee0f3ce
Merge pull request #6837
0658d0b temporarily comment out rpcbind.py (Alex Morcos)
2015-10-19 12:15:26 +02:00
Wladimir J. van der Laan
bfcdc21a5d build: make sure OpenSSL heeds noexecstack
This passes `-Wa,--noexecstack` to the assembler when building
platform-specific assembly files, to signal that a non-executable stack
can be used. This is the same approach as used by Debian
(see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=430583)
2015-10-19 12:03:29 +02:00
Wladimir J. van der Laan
fc41278e96
Merge pull request #6843
99963b9 Correct spelling mistakes in doc folder (Mitchell Cash)
2015-10-19 12:01:07 +02:00
Matt Corallo
58254aa3bc Fix stale comment in CTxMemPool::TrimToSize. 2015-10-19 02:41:52 -07:00
Wladimir J. van der Laan
5888046323
Merge pull request #6849
d2e3fbc Mention PHP bindings to libbitcoinconsensus (Thomas Kerin)
2015-10-19 11:29:25 +02:00
Thomas Kerin
d2e3fbc620
Mention PHP bindings to libbitcoinconsensus 2015-10-18 19:04:14 +01:00
J Ross Nicoll
c6824f8a90 Add DERSIG transaction test cases
Add test cases for DERSIG flag enforcement against transactions.
2015-10-18 17:27:41 +01:00
Mitchell Cash
99963b938f Correct spelling mistakes in doc folder
- OSX —> OS X
- XCode —> Xcode
- github —> GitHub
- homebrew —> Homebrew
- gitian —> Gitian
- Other miscellaneous obvious spelling fixes and whitespace removal
2015-10-18 06:25:43 +10:00
Alex Morcos
b6d5e32e0e Make fee aware of min relay in pruning.py RPC test 2015-10-17 15:52:40 -04:00
Alex Morcos
0658d0ba82 temporarily comment out rpcbind.py
until libevent is fixed.  also remove duplicate commented-out forknotify.py.
2015-10-16 10:27:03 -04:00
MarcoFalke
8c15f33d15 [trivial] Update contrib/devtools/README.md 2015-10-15 20:28:29 +02:00
MarcoFalke
338f62f701 [devtools] add clang-format.py 2015-10-15 19:43:16 +02:00
David Hill
b48da5c189 script: Remove magic numbers
This adds two new constants, MAX_OPS_PER_SCRIPT and
MAX_PUBKEYS_PER_MULTISIG.
2015-10-15 09:48:15 -04:00
Wladimir J. van der Laan
d78a880900
Merge pull request #6820
60af755 build: univalue subdir build fixups (Cory Fields)
2015-10-15 12:55:25 +02:00
Wladimir J. van der Laan
8ce9920635
Merge pull request #6817
a0d5e0d [doc] Cleanup release-process documentation (Michael)
2015-10-15 12:54:13 +02:00
Wladimir J. van der Laan
fa6b405f05
Merge pull request #6823
f8f2ace trivial: use constants for db keys (Daniel Kraft)
2015-10-15 12:52:34 +02:00
Wladimir J. van der Laan
34f200d140
Merge pull request #6830
d57586f Add historical release notes for October 2015 bugfix releases (Micha)
2015-10-15 12:46:01 +02:00
Micha
d57586f91c
Add historical release notes for October 2015 bugfix releases
[skip ci]
2015-10-14 23:14:13 +03:00
Matt Corallo
2bc50187ee Fix comment formatting tabs 2015-10-14 12:46:20 -07:00
Matt Corallo
8abe0f5658 Undo GetMinFee-requires-extra-call-to-hit-0 2015-10-14 12:44:18 -07:00
Daniel Kraft
53b86d0de5 doc: add comment explaining initial header request
Add a comment that explains why the initial "getheader" requests are
made starting from the block preceding the currently best one.

Thanks to sdaftuar for the explanation!
2015-10-14 20:42:49 +02:00
Michael
a0d5e0d2f4 [doc] Cleanup release-process documentation 2015-10-14 07:54:29 +08:00
Daniel Kraft
f8f2aceadd trivial: use constants for db keys
Replace literal occurances of the key "prefixes" 'c' and 'b' in txdb.cpp
by the respective constants.
2015-10-13 20:25:57 +02:00
Cory Fields
60af755e56 build: univalue subdir build fixups
- Force a rebuild if the headers change
- Only build the lib target
- Clean univalue on 'make clean'
2015-10-13 13:40:49 -04:00
Wladimir J. van der Laan
a1d623da3e
Merge pull request #6810
7d325b9 zmq: point API link to 4.0 as that is what we are conforming to [Trivial] (Johnathan Corgan)
2015-10-13 12:31:50 +02:00
Wladimir J. van der Laan
9caaf6ed22
Merge pull request #6777
dcd8e27 Refer to obfuscate_key via pointer in peripheral CLevelDB classes (James O'Beirne)
1488506 Add tests for gettxoutsetinfo, CLevelDBBatch, CLevelDBIterator (James O'Beirne)
0fdf8c8 Handle obfuscation in CLevelDBIterator (James O'Beirne)
3499ce1 Encapsulate CLevelDB iterators cleanly (Pieter Wuille)
2015-10-13 12:23:45 +02:00
Wladimir J. van der Laan
16faccb736
Merge pull request #6791
d0321a4 [doc] trivial: fix markdown syntax in qa/rpc-tests/README.md (MarcoFalke)
60a8b70 [doc] trivial: developer-notes.md covers more than just coding standards (MarcoFalke)
3507992 [trivial] Make optimize-pngs.py also cover share/pixmaps (MarcoFalke)
8a320c7 [trivial] Remove obsolete share/qt/make_windows_icon.sh (MarcoFalke)
2015-10-13 11:50:26 +02:00
Wladimir J. van der Laan
01f74999e3
Merge pull request #6798
700f52e Clarification of unit test build instructions. (Eric Lombrozo)
2015-10-13 11:35:24 +02:00
Wladimir J. van der Laan
feea3057df
Merge pull request #6812
3a4a458 Update bluematt-key, the old one is long-since revoked (Matt Corallo)
2015-10-13 10:57:03 +02:00
Wladimir J. van der Laan
97bee37d4c
Merge pull request #6788
3b1279f build: match upstream build change (Cory Fields)
313e7f5 Squashed 'src/univalue/' changes from 87d9045..5839ac3 (MarcoFalke)
2015-10-13 10:54:31 +02:00
Matt Corallo
9e93640be6 Drop minRelayTxFee to 1000
There is no exact science to setting this parameter, but 5000
(just over 1 US cent at the time of writing) is higher than the
cost to relay a transaction around the network (the new benchmark
due to mempool limiting).
2015-10-13 01:39:38 -07:00
Matt Corallo
074cb155c2 Add reasonable test case for mempool trimming 2015-10-13 01:39:38 -07:00
Matt Corallo
d355cf4420 Only call TrimToSize once per reorg/blocks disconnect 2015-10-13 01:39:38 -07:00
Matt Corallo
794a8cec5d Implement on-the-fly mempool size limitation.
After each transaction which is added to mempool, we first call
Expire() to remove old transactions, then throwing away the
lowest-feerate transactions.

After throwing away transactions by feerate, we set the minimum
relay fee to the maximum fee transaction-and-dependant-set we
removed, plus the default minimum relay fee.

After the next block is received, the minimum relay fee is allowed
to decrease exponentially. Its halflife defaults to 12 hours, but
is decreased to 6 hours if the mempool is smaller than half its
maximum size, and 3 hours if the mempool is smaller than a quarter
its maximum size.

The minimum -maxmempool size is 40*-limitdescendantsize, as it is
easy for an attacker to play games with the cheapest
-limitdescendantsize transactions. -maxmempool defaults to 300MB.

This disables high-priority transaction relay when the min relay
fee adjustment is >0 (ie when the mempool is full). When the relay
fee adjustment drops below the default minimum relay fee / 2 it is
set to 0 (re-enabling priority-based free relay).
2015-10-13 01:39:27 -07:00
Matt Corallo
e6c7b362ab Print mempool size in KB when adding txn 2015-10-13 01:05:43 -07:00
Wladimir J. van der Laan
cd57f344a5
Merge pull request #6807
3b363df Updated Prab's PGP Key -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 (Paul Rabahy)
2015-10-13 10:04:51 +02:00
Matt Corallo
241d6078ba Add CFeeRate += operator 2015-10-13 01:04:39 -07:00
Wladimir J. van der Laan
1fc5ca05ca
Merge pull request #6805
2c4ffbc Create btcdrak-key.pgp (BtcDrak)
2015-10-13 10:04:04 +02:00
Matt Corallo
e8bcdce8a2 Track (and define) ::minRelayTxFee in CTxMemPool 2015-10-13 01:00:19 -07:00
Matt Corallo
9c9b66f771 Fix calling mempool directly, instead of pool, in ATMP 2015-10-13 00:44:03 -07:00
Pieter Wuille
49b6fd5663 Add Mempool Expire function to remove old transactions
(note the 9x multiplier on (void*)'s for CTxMemPool::DynamicMemoryUsage
 was accidentally introduced in 5add7a7 but should have waited for this
 commit which adds the extra index)
2015-10-13 00:44:03 -07:00
Suhas Daftuar
78b82f4a16 Reverse the sort on the mempool's feerate index 2015-10-13 00:44:03 -07:00
Matt Corallo
3a4a458fe5 Update bluematt-key, the old one is long-since revoked 2015-10-12 14:25:51 -07:00
Johnathan Corgan
7d325b9de7
zmq: point API link to 4.0 as that is what we are conforming to [Trivial]
Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
2015-10-12 13:40:13 -07:00
Paul Rabahy
3b363dfe88
Updated Prab's PGP Key
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

This message is to inform you that I, Paul Rabahy have rolled over GPG
keys.

My old key = EA695E0CE2D0DCB0D65167A8D1CBA2A21BCD88F6
My new key = D62A803E27E7F43486035ADBBCD04D8E9CCCAC2A

My new key now has an offline primary key with an online subkey that I
will be
using for normal communications.

I have signed this message with both the old and new key so it should show
up
as validly signed. Please add my new key to your keyring so that future
communication will be properly verified.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJWB3/LAAoJENHLoqIbzYj2LBwQAMgH5u2KDuxK2gmpRjEpVXe8
XPOon+SRL5zXfu1dFInXCg8APJEVaXhSeY+/s0GmUq0INRpK4r0tvZVN84X2UoHz
y88P6BeHzQI7dsCStINhW4Hb7DVpFvkHAxsRhy05/geD56/IOXnsG+5SvsH3essJ
O6DuRQOipDWkZ9NQuQPrqzlkcBErMbL4Cs0ED5DOOYccntnt5HM909KDHfKcG8iJ
/qNTVzVFYMGbLn6MVq89reatmIOxuVBkbixsqad5M4P9rQ3iGPnUzIEp4wn7/Ssd
XDiCZypzlHkcs1GKBLtWnYWahlWHItcd/Yz3AiHLfUehcZb52p0mvIaTf4lyAR5p
kQFTXZwrrzJDaomSE2Y2IeMIATZE7/7RInkHD6okUTFSoCFgxOeAxLBI6sxLH5x5
xLIdv45iiv3P5fz1gungfzn2OYy+dHgT74bJ32N18hs+xwZM2G6AYYvVvkTSDqC0
c3AopnjEV4i+4Aq0QfDD9fXpBc0QuDN7c5GkcFCiFlhN+gffjT8hkFliiW3e2X5K
Vsycv1sYXFSS/YYZ7RCixWgTkpi18ABaLu/N1ses7hLNMxx9ovjrMIJ5gC6Nyga9
2BiumvNMh0iE9yhPiN0a4YsZZnW/tc5K1+OJxnKZvxWrXqOgIhnKZA1U1Y83COgA
6pI5uKrggGQWgQFJxTmciQEcBAEBCAAGBQJWB3/LAAoJEDJeXsBcJ6amLBwH/ib+
wiD3wDy+VeTDFvh4AgQqDRCk+CvGEKJlcoBLm3ZDwzi+/26XB/BCFoopW9h67ZmC
yMFhgvCJ3RwPcVGgZBOZ//88E2symcYRBSZJVwMN/n3McmEKBmmEH6/tTqhLeBal
2pynse7qgfZV7P/rSMcqFdhzMYq6Jt25obTl3IqTo939G1oOxRK8ORNT3Hs4/uiF
7xsx+nUBe/L6dvw2Rxr8bWm7WKi/LF7fKN/HZuBfK2qH0S4ctG49fiBw3DTV+erO
lYHdOMA9sjk90Le5sNBw75Hyr4WMLUkGFkh9SvDK1Xe3bUCfCpBTpcPnRUqnHL32
9GbqORFiaUGPRCnaWKQ=
=JR4m
-----END PGP SIGNATURE-----
2015-10-11 19:45:01 -04:00
BtcDrak
2c4ffbc76e
Create btcdrak-key.pgp 2015-10-11 13:17:41 +01:00
Wladimir J. van der Laan
4ca6ddec4d
Merge pull request #6793
4e2efb3 tests: update transaction_tests for new dust threshold (Wladimir J. van der Laan)
28e3249 Bump minrelaytxfee default (Wladimir J. van der Laan)
2015-10-11 10:33:12 +02:00
fanquake
e76d9e4c15 [depends] Latest config.guess and config.sub 2015-10-11 10:17:06 +08:00
Wladimir J. van der Laan
4e2efb3c5f tests: update transaction_tests for new dust threshold 2015-10-10 14:49:38 +02:00
Eric Lombrozo
700f52e0f6 Clarification of unit test build instructions. 2015-10-10 06:46:35 -04:00
Wladimir J. van der Laan
b94ae81576
Merge pull request #6795
21d27eb net: Disable upnp by default (Wladimir J. van der Laan)
2015-10-10 11:38:11 +02:00
Matt Corallo
c7b36ccf4a Change URLs to https in debian/control 2015-10-09 15:32:05 -07:00
Matt Corallo
e253e83c5c Update debian/changelog and slight tweak to debian/control 2015-10-09 13:43:16 -07:00
Wladimir J. van der Laan
21d27ebad5 net: Disable upnp by default
Common sentiment is that the miniupnpc codebase likely contains further
vulnerabilities.

I'd prefer to get rid of the dependency completely, but a compromise for
now is to at least disable it by default.
2015-10-09 21:09:44 +02:00
James O'Beirne
dcd8e27c65 Refer to obfuscate_key via pointer in peripheral CLevelDB classes
cc @sipa
2015-10-09 10:56:48 -07:00
James O'Beirne
1488506872 Add tests for gettxoutsetinfo, CLevelDBBatch, CLevelDBIterator
Thanks @dexX7.
2015-10-09 10:56:39 -07:00
Wladimir J. van der Laan
28e3249e53 Bump minrelaytxfee default
To bridge the time until a dynamic method for determining this fee is
merged.

This is especially aimed at the stable releases (0.10, 0.11) because
full mempool limiting, as will be in 0.12, is too invasive and risky to
backport.
2015-10-09 19:36:32 +02:00
MarcoFalke
d0321a4cfd [doc] trivial: fix markdown syntax in qa/rpc-tests/README.md 2015-10-09 17:09:29 +02:00
MarcoFalke
60a8b70585 [doc] trivial: developer-notes.md covers more than just coding standards 2015-10-09 17:09:29 +02:00
MarcoFalke
3507992bcf [trivial] Make optimize-pngs.py also cover share/pixmaps
Also fix:
"Exception: tostring() has been removed. Please call tobytes() instead."
2015-10-09 17:09:05 +02:00
MarcoFalke
8a320c7956 [trivial] Remove obsolete share/qt/make_windows_icon.sh 2015-10-09 16:57:28 +02:00
Wladimir J. van der Laan
8c7e6138db
Merge pull request #6789
0cca024 Update miniupnpc to 1.9.20151008 (Wladimir J. van der Laan)
2015-10-09 14:51:09 +02:00
Wladimir J. van der Laan
0cca0248f0 Update miniupnpc to 1.9.20151008
This version of miniupnpc fixes a buffer overflow in the XML (ugh)
parser during initial network discovery.

http://talosintel.com/reports/TALOS-2015-0035/

The commit fixing the vulnerability is:
79cca974a4

Reported by timothy on IRC.
2015-10-09 13:16:44 +02:00
Cory Fields
3b1279fdb2 build: match upstream build change 2015-10-09 11:38:05 +02:00
MarcoFalke
31f4ba97b7 Merge commit '313e7f5c89d6e72e06efe9255089765b4c5815fe' into HEAD 2015-10-09 11:37:00 +02:00
MarcoFalke
313e7f5c89 Squashed 'src/univalue/' changes from 87d9045..5839ac3
5839ac3 Merge pull request #13 from theuni/move-lib
3f248e0 build: move libunivalue.la to the root dir
a68aed5 Merge pull request #12 from jmcorgan/add-ignores
81cafe3 Update and consolidate git ignores

git-subtree-dir: src/univalue
git-subtree-split: 5839ac3311792f80b9cd5070440c2256e0e69e13
2015-10-09 11:36:59 +02:00
Wladimir J. van der Laan
6cf73b0cd4
Merge pull request #6779
b22692c build: Make use of ZMQ_CFLAGS (Cory Fields)
2015-10-09 10:26:48 +02:00
Wladimir J. van der Laan
c82ea8b271
Merge pull request #6783
34754ce [Trivial] Fixed typo when referring to a previous section in depends/README.md [skip ci] (Chris Kleeschulte)
2015-10-09 10:21:27 +02:00
Wladimir J. van der Laan
a99b6cb19e
Merge pull request #6770
b2af29b Ignore bench_bitcoin binary. (Pavel Janík)
2015-10-09 10:15:48 +02:00
Chris Kleeschulte
34754ce3bc [Trivial] Fixed typo when referring to a previous section in
depends/README.md [skip ci]
2015-10-08 15:27:12 -04:00
James O'Beirne
0fdf8c80ee Handle obfuscation in CLevelDBIterator 2015-10-08 09:32:27 -07:00
Pieter Wuille
3499ce1e1a Encapsulate CLevelDB iterators cleanly
Conflicts:
	src/leveldb.cpp
	src/leveldb.h
	src/txdb.cpp
2015-10-08 09:32:27 -07:00
Peter Todd
65ef372302
Add BIP65 to getblockchaininfo softforks list 2015-10-08 17:37:10 +02:00
Peter Todd
cde7ab2d4e Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork
bip65-cltv.py is based on the earlier BIP66 soft-fork RPC test
implemented by Pieter Wuille's 819bcf9b99

bip65-cltv-p2p.py is based on the earlier BIP66 P2P test by Suhas
Daftuar's d76412b068
2015-10-08 17:25:25 +02:00
Peter Todd
287f54fc90 Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
Based on the earlier BIP66 soft-fork logic implemented by Pieter
Wuille's 5a47811da5
2015-10-08 17:23:22 +02:00
Cory Fields
b22692ce3e build: Make use of ZMQ_CFLAGS 2015-10-08 00:00:55 -04:00
Wladimir J. van der Laan
d479311dba
Merge pull request #6720
1534d9a Creates unittests for addrman, makes addrman testable. Adds several unittests for addrman to verify it works as expected. Makes small modifications to addrman to allow deterministic and targeted tests. (EthanHeilman)
2015-10-07 14:59:58 +02:00
Wladimir J. van der Laan
49dd5c629d
Merge pull request #6769
b196b68 Test LowS in standardness, removes nuisance malleability vector. (Gregory Maxwell)
2015-10-07 10:58:37 +02:00
Wladimir J. van der Laan
4fac576c61
Merge pull request #6650
42cb388 Add chainstate obfuscation to avoid spurious antivirus detection (James O'Beirne)
2015-10-06 17:50:46 +02:00
Pavel Janík
b2af29b806 Ignore bench_bitcoin binary. 2015-10-06 17:46:12 +02:00
James O'Beirne
42cb388167 Add chainstate obfuscation to avoid spurious antivirus detection
Adds an `obfuscate` parameter to `CLevelDBWrapper` and makes use of it
for all new chainstate stores built via `CCoinsViewDB`. Also adds an
`Xor` method to `CDataStream`.

Thanks to @sipa @laanwj @pstratem @dexX7 @KyrosKrane @gmaxwell.
2015-10-06 07:46:10 -07:00
Wladimir J. van der Laan
b7d78fd0bd
Merge pull request #6733
7072c54 Support very-fast-running benchmarks (Gavin Andresen)
535ed92 Simple benchmarking framework (Gavin Andresen)
2015-10-06 16:34:23 +02:00
Wladimir J. van der Laan
66a86a3edb
Merge pull request #6762
a19504b tests-config.sh is superseded by tests_config.py (Pavel Janík)
2015-10-06 10:07:04 +02:00
Wladimir J. van der Laan
bdece5068b
Merge pull request #6743
dd28089 autotools: move checking for zmq library to common area in configure.ac (Johnathan Corgan)
2015-10-06 10:04:55 +02:00
Wladimir J. van der Laan
0a5385b23f
Merge pull request #6760
efb37d4 Changed run-bitcoind-for-test.sh.in to non-executable mode. Consistency with other *.in input files. (randy-waterhouse)
2015-10-06 10:03:25 +02:00
Wladimir J. van der Laan
79529e50db
Merge pull request #6763
202f612 The Bitcoin Core project is releasing Bitcoin Core, not Bitcoin. (Pavel Janík)
2015-10-06 10:02:18 +02:00
Wladimir J. van der Laan
b6f3a4eb19
Merge pull request #6751
9204930 Document pull-req #6424 in release-notes (Peter Todd)
2015-10-06 10:01:42 +02:00
Wladimir J. van der Laan
5d98e0fa14
Merge pull request #6768
9f5c641 zmq: update docs to reflect feature is compiled in automatically if possible (Johnathan Corgan)
2015-10-06 10:00:51 +02:00
Wladimir J. van der Laan
3b2d37c619
Merge pull request #6742
58981d4 Changed logging to make -logtimestamps to work also for -printtoconsole (Arne Brutschy)
2015-10-06 09:59:19 +02:00
Gregory Maxwell
b196b685c9 Test LowS in standardness, removes nuisance malleability vector.
This adds SCRIPT_VERIFY_LOW_S to STANDARD_SCRIPT_VERIFY_FLAGS which
 will make the node require the canonical 'low-s' encoding for
 ECDSA signatures when relaying or mining.

Consensus behavior is unchanged.

The rational is explained in a81cd96805:
 Absent this kind of test ECDSA is not a strong signature as given
 a valid signature {r, s} both that value and {r, -s mod n} are valid.
 These two encodings have different hashes allowing third parties a
 vector to change users txids.  These attacks are avoided by picking
 a particular form as canonical and rejecting the other form(s); in
 the of the LOW_S rule, the smaller of the two possible S values is
 used.

If widely deployed this change would eliminate the last remaining
 known vector for nuisance malleability on boring SIGHASH_ALL
 p2pkh transactions.  On the down-side it will block most
 transactions made by sufficiently out of date software.

Unlike the other avenues to change txids on boring transactions this
 one was randomly violated by all deployed bitcoin software prior to
 its discovery.  So, while other malleability vectors where made
 non-standard as soon as they were discovered, this one has remained
 permitted.  Even BIP62 did not propose applying this rule to
 old version transactions, but conforming implementations have become
 much more common since BIP62 was initially written.

Bitcoin Core has produced compatible signatures since a28fb70e in
 September 2013, but this didn't make it into a release until 0.9
 in March 2014; Bitcoinj has done so for a similar span of time.
 Bitcoinjs and electrum have been more recently updated.

This does not replace the need for BIP62 or similar, as miners can
 still cooperate to break transactions.  Nor does it replace the
 need for wallet software to handle malleability sanely[1]. This
 only eliminates the cheap and irritating DOS attack.

[1] On the Malleability of Bitcoin Transactions
Marcin Andrychowicz, Stefan Dziembowski, Daniel Malinowski, Łukasz Mazurek
http://fc15.ifca.ai/preproceedings/bitcoin/paper_9.pdf
2015-10-06 03:50:38 +00:00
Johnathan Corgan
9f5c641a40 zmq: update docs to reflect feature is compiled in automatically if possible
Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
2015-10-05 20:09:04 -07:00
Peter Todd
9204930101
Document pull-req #6424 in release-notes
Mention now allowed sequence of pushdatas in OP_RETURN outputs in
release notes.
2015-10-06 00:12:57 +02:00
Pavel Janík
202f612a41 The Bitcoin Core project is releasing Bitcoin Core, not Bitcoin. 2015-10-05 21:20:43 +02:00
Pavel Janík
a19504b9ab tests-config.sh is superseded by tests_config.py 2015-10-05 20:15:18 +02:00
randy-waterhouse
efb37d4fda Changed run-bitcoind-for-test.sh.in to non-executable mode.
Consistency with other *.in input files.
2015-10-05 13:25:13 +01:00
Wladimir J. van der Laan
a75c67364d
Merge pull request #6744
bb24835 build: disable -Wself-assign (Wladimir J. van der Laan)
2015-10-05 13:43:16 +02:00
Wladimir J. van der Laan
e10a4ab904
Merge pull request #6748
9ee5ac8 Rewrite help texts for features enabled by default. (Pavel Janík)
2015-10-05 13:41:04 +02:00
ptschip
5f34a2510f
Changed rpc-tests.sh to rpc-tests.py in README.md
Github-Pull: #6752
2015-10-05 13:38:31 +02:00
Wladimir J. van der Laan
2844b9e90e
Merge pull request #6759
ea70997 build: Remove unnecessary chmods after #6616 (Wladimir J. van der Laan)
2015-10-05 13:35:07 +02:00
Wladimir J. van der Laan
ea709970e0 build: Remove unnecessary chmods after #6616
Don't chmod a repository-included file in the configure script, and
`tests_config.py` is a module that doesn't need to be executable.
2015-10-05 13:32:51 +02:00
Jeff Garzik
3ab3de8ba1
qa/pull-tester/rpc-tests.py: chmod 0755
Fix file mode to be executable.

Include dummy whitespace change to force git to change mode.
2015-10-04 15:08:18 -04:00
Johnathan Corgan
dd28089fa2 autotools: move checking for zmq library to common area in configure.ac
* Fixes #6679

* Tested with --disable-zmq
* Tested with and without pkgconfig
* Tested with and without zmq installed

Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
2015-10-03 12:21:55 -07:00
Philip Kaufmann
e8600c924d banlist (bugfix): allow CNode::SweepBanned() to run on interval
- allows CNode::SweepBanned() to run, even if !CNode::BannedSetIsDirty(),
  because if nBanUntil is over we want the ban to be disabled for these
  nodes
2015-10-02 11:38:16 +02:00
Philip Kaufmann
2977c243ef banlist: add more banlist infos to log / add GUI signal
- to match the peers.dat handling also supply a debug.log entry for how
  many entries were loaded from banlist.dat and how long it took
- add a GUI init message for loading the banlist (same as with peers.dat)

- move the same message for peers.dat upwards in the code, to be able to
  reuse the timing variable nStart and also just log, if our read from
  peers.dat didn't fail
2015-10-02 11:38:16 +02:00
Philip Kaufmann
ce479aaada banlist: better handling of banlist in StartNode()
- only start working on/with banlist data, if reading in the banlist from
  disk didn't fail
- as CNode::setBannedIsDirty is false (default) when reading fails, we
  don't need to explicitly set it to false to prevent writing
  banlist.dat in that case either
2015-10-02 11:38:15 +02:00
Philip Kaufmann
57c77fe4d3 banlist: update set dirty to be more fine grained
- move the SetBannedSetDirty(false) call from DumpData() into DumpBanlist()
- ensure we only set false, if the write succeeded
2015-10-02 11:38:14 +02:00
Jimmy Kiselak
a287dbfd65 fix how transactions are shown 2015-10-02 01:51:50 -04:00
Pavel Janík
9ee5ac82f6 Rewrite help texts for features enabled by default. 2015-10-02 07:44:36 +02:00
Luke Dashjr
fd55571f06 wallet: Expose GUI labels in RPC 2015-10-02 00:21:38 +00:00
Luke Dashjr
5f9260f458 Bugfix: If genproclimit is omitted to RPC setgenerate, don't change it; also show correct default in getmininginfo 2015-10-01 23:16:42 +00:00
Luke Dashjr
420a82f1ae Bugfix: Describe dblogsize option correctly (it refers to the wallet database, not memory pool) 2015-10-01 23:16:42 +00:00
Luke Dashjr
caa3d42f06 Bugfix: RPC: blockchain: Display correct defaults in help for verifychain method 2015-10-01 23:16:42 +00:00
Wladimir J. van der Laan
5ab5dca6f1
Merge pull request #6616
5467820 Migrated rpc-tests.sh to all python rpc-tests.py (ptschip)
2015-10-01 23:06:02 +02:00
Wladimir J. van der Laan
19c7186425
Merge pull request #6739
96106f0 [Trivial] start the help texts with lowercase (paveljanik)
2015-10-01 22:47:05 +02:00
Wladimir J. van der Laan
cd78c2a421
Merge pull request #6424
da894ab Accept any sequence of PUSHDATAs in OP_RETURN outputs (Peter Todd)
5d8709c Add IsPushOnly(const_iterator pc) (Peter Todd)
6a07eb6 Make TX_SCRIPTHASH clear vSolutionsRet first (Peter Todd)
2015-10-01 21:28:45 +02:00
ptschip
5467820be5 Migrated rpc-tests.sh to all python rpc-tests.py
1) created rpc-tests.py
2) deleted rpc-tests.sh
3) travis.yml points to rpc-tests.py
4) Modified Makefile.am
5) Updated README.md
6) Added tests_config.py and deleted tests-config.sh
7) Modified configure.ac with script to set correct path in tests_config.py
2015-10-01 11:28:11 -07:00
Wladimir J. van der Laan
bb24835aed build: disable -Wself-assign
Prevent these warnings in clang 3.6:

    ./serialize.h:96:9: warning: explicitly assigning value of variable of type 'uint64_t' (aka 'unsigned long') to itself [-Wself-assign]
        obj = (obj);
        ~~~ ^  ~~~
2015-10-01 18:38:54 +02:00
Peter Todd
da894ab5da Accept any sequence of PUSHDATAs in OP_RETURN outputs
Previously only one PUSHDATA was allowed, needlessly limiting
applications such as matching OP_RETURN contents with bloom filters that
operate on a per-PUSHDATA level. Now any combination that passes
IsPushOnly() is allowed, so long as the total size of the scriptPubKey
is less than 42 bytes. (unchanged modulo non-minimal PUSHDATA encodings)

Also, this fixes the odd bug where previously the PUSHDATA could be
replaced by any single opcode, even sigops consuming opcodes such as
CHECKMULTISIG. (20 sigops!)
2015-10-01 18:28:13 +02:00
Peter Todd
5d8709c3b7 Add IsPushOnly(const_iterator pc)
Allows IsPushOnly() to be applied to just part of the script for
OP_RETURN outputs.
2015-10-01 18:28:11 +02:00
Peter Todd
6a07eb676a Make TX_SCRIPTHASH clear vSolutionsRet first
Previously unlike other transaction types the TX_SCRIPTHASH would not
clear vSolutionsRet, which means that unlike other transaction types if
it was called twice in a row you would get the result of the previous
invocation as well.
2015-10-01 18:27:22 +02:00
Wladimir J. van der Laan
bb882d04e8
Merge pull request #6732
a3874c7 doc: no longer require use of openssl in OpenBSD build guide (Wladimir J. van der Laan)
5978388 build: remove libressl check (Wladimir J. van der Laan)
2015-10-01 18:12:36 +02:00
Wladimir J. van der Laan
f297042cae
Merge pull request #6637
95acf3c remove $(@F) and subdirs from univalue make (Jonas Schnelli)
9623e93 [Univalue] add univalue over subtree (Jonas Schnelli)
2f9f082 Squashed 'src/univalue/' content from commit 87d9045 (Jonas Schnelli)
0917306 remove univalue, prepare for subtree (Jonas Schnelli)
2015-10-01 16:36:15 +02:00
Wladimir J. van der Laan
17d0e638b6
Merge pull request #6686
745f909 travis: install a recent libzmq and pyzmq for tests (Cory Fields)
a9c27cd [travis] add zmq python module (Jonas Schnelli)
110a1fd enable zmq-test in rpc-tests.sh (Jonas Schnelli)
2015-10-01 16:22:26 +02:00
Cory Fields
745f909925 travis: install a recent libzmq and pyzmq for tests 2015-10-01 15:40:57 +02:00
Wladimir J. van der Laan
a3874c7c3a doc: no longer require use of openssl in OpenBSD build guide 2015-10-01 14:55:57 +02:00
Wladimir J. van der Laan
5978388476 build: remove libressl check
Now that BIP66 passed, OpenSSL is no longer directly part of the
consensus. What matters is that DER signatures are correctly parsed, and
secp256k1 crypto is implemented correctly (as well as the other
functions we use from OpenSSL, such as random number generation)

This means that effectively, using LibreSSL is not a larger risk than
using another version of OpenSSL.

Remove the specific check for LibreSSL.

Includes the still-relevant part of #6729: make sure CHECK_HEADER is
called using the right CXXFLAGS, not CFLAGS (as AC_LANG is c++).
2015-10-01 14:44:27 +02:00
Jonas Schnelli
95acf3cc6d remove $(@F) and subdirs from univalue make 2015-10-01 14:28:44 +02:00
Wladimir J. van der Laan
4899a04c24
Merge pull request #5987
e761d7a Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) (Luke Dashjr)
2015-10-01 14:11:56 +02:00
Jonas Schnelli
a9c27cdf55 [travis] add zmq python module 2015-10-01 14:02:26 +02:00
Jeff Garzik
8a86d53bd5
Merge pull request #6731 2015-10-01 06:02:14 -04:00
Jeff Garzik
cf9bb11f97
Merge pull request #6588 2015-10-01 05:58:51 -04:00
Wladimir J. van der Laan
12a7712abd
Merge pull request #5924
835c122 Clean up change computation in CreateTransaction. (Daniel Kraft)
2015-10-01 11:20:08 +02:00
Jonas Schnelli
9623e93473 [Univalue] add univalue over subtree
similar to secp256k1 include and compile univalue over a subtree
2015-10-01 10:49:57 +02:00
Jonas Schnelli
2f9f082b5e Squashed 'src/univalue/' content from commit 87d9045
git-subtree-dir: src/univalue
git-subtree-split: 87d90455ff5e87dedc304353aa23ace47ffb6c1c
2015-10-01 10:37:19 +02:00
Jonas Schnelli
6e16a41313 Merge commit '2f9f082b5ef3c495c70598ef23383effef675f9a' as 'src/univalue' 2015-10-01 10:37:19 +02:00
Jonas Schnelli
0917306fdf remove univalue, prepare for subtree 2015-10-01 10:36:50 +02:00
Jimmy Kiselak
f0b2c46d68 change structure of claim supports, implement rpc commands for supports 2015-10-01 02:37:47 -04:00
Arne Brutschy
58981d4f7d Changed logging to make -logtimestamps to work also for -printtoconsole 2015-09-30 17:57:28 +02:00
Wladimir J. van der Laan
1119cc3f59
Merge pull request #6741
5424d41 doc: Change #bitcoin-dev IRC channel to #bitcoin-core-dev (Wladimir J. van der Laan)
2015-09-30 17:13:34 +02:00
Wladimir J. van der Laan
5424d416c2 doc: Change #bitcoin-dev IRC channel to #bitcoin-core-dev
Split off Bitcoin Core project development discussion from the general
Bitcoin development channel.
2015-09-30 17:09:35 +02:00
Gavin Andresen
7072c544b5
Support very-fast-running benchmarks
Avoid calling gettimeofday every time through the benchmarking loop, by keeping
track of how long each loop takes and doubling the number of iterations done
between time checks when they take less than 1/16'th of the total elapsed time.
2015-09-30 09:24:42 -04:00
Gavin Andresen
535ed9223d
Simple benchmarking framework
Benchmarking framework, loosely based on google's micro-benchmarking
library (https://github.com/google/benchmark)

Wny not use the Google Benchmark framework? Because adding Even More Dependencies
isn't worth it. If we get a dozen or three benchmarks and need nanosecond-accurate
timings of threaded code then switching to the full-blown Google Benchmark library
should be considered.

The benchmark framework is hard-coded to run each benchmark for one wall-clock second,
and then spits out .csv-format timing information to stdout. It is left as an
exercise for later (or maybe never) to add command-line arguments to specify which
benchmark(s) to run, how long to run them for, how to format results, etc etc etc.
Again, see the Google Benchmark framework for where that might end up.

See src/bench/MilliSleep.cpp for a sanity-test benchmark that just benchmarks
'sleep 100 milliseconds.'

To compile and run benchmarks:
  cd src; make bench

Sample output:

Benchmark,count,min,max,average
Sleep100ms,10,0.101854,0.105059,0.103881
2015-09-30 09:24:42 -04:00
Wladimir J. van der Laan
4f44530bc3
Merge pull request #6680
d76a8ac use CBlockIndex* insted of uint256 for UpdatedBlockTip signal (Jonas Schnelli)
2015-09-30 11:08:30 +02:00
Wladimir J. van der Laan
3f74cd2361
Merge pull request #6740
05b5831 Add PR title prefix for trivial changes [skip ci] (paveljanik)
2015-09-30 10:28:24 +02:00
paveljanik
05b5831aa0 Add PR title prefix for trivial changes [skip ci] 2015-09-30 08:44:51 +02:00
paveljanik
96106f0f30 [Trivial] start the help texts with lowercase 2015-09-30 08:40:20 +02:00
Jimmy Kiselak
d66ea74521 finish tests for supporting claims 2015-09-29 21:03:02 -04:00
Wladimir J. van der Laan
c138cf9769
Merge pull request #6736
ab0b8be zmq: update and cleanup build-unix, release-notes, and zmq docs (Johnathan Corgan)
6cebd5d zmq: require version 4.x or newer of libzmq (Johnathan Corgan)
2015-09-30 00:55:25 +02:00
Wladimir J. van der Laan
f6ce59cd3c
Merge pull request #6713
43edd51 SanitizeString: Allow hypen char (MarcoFalke)
2015-09-30 00:23:26 +02:00
Luke Dashjr
e761d7a94f Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) 2015-09-29 19:46:34 +00:00
Johnathan Corgan
ab0b8be857 zmq: update and cleanup build-unix, release-notes, and zmq docs
Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
2015-09-29 10:48:45 -07:00
Johnathan Corgan
6cebd5d854 zmq: require version 4.x or newer of libzmq
Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
2015-09-29 10:18:07 -07:00
Wladimir J. van der Laan
0bec36f3bb
Merge pull request #6661
551d7ed doc: Fix dead link in gitian-building (unsystemizer)
2015-09-29 14:55:39 +02:00
unsystemizer
551d7edb1b doc: Fix dead link in gitian-building
- Link to Debian 8.1 netinstall ISO is dead, changed to valid 8.2
- Changed checksum to 8.2 netinstall ISO checksum (http://cdimage.debian.org/debian-cd/8.2.0/amd64/iso-cd/SHA256SUMS)
- Verified CD checksum, checksum file's signing key
2015-09-29 14:51:52 +02:00
Wladimir J. van der Laan
cb4d6d0569
Merge pull request #6730
a5b78c2 build: Remove dependency of bitcoin-cli on secp256k1 (Wladimir J. van der Laan)
2015-09-29 14:17:21 +02:00
Wladimir J. van der Laan
a91eea6e3e
qt: periodic translations update 2015-09-29 13:36:33 +02:00
Jimmy Kiselak
b2b69b4e26 add more tests, refactor some 2015-09-29 02:51:44 -04:00
Wladimir J. van der Laan
2b0567b002
Merge pull request #6728
9fea833 timedata: Prevent warning overkill (Wladimir J. van der Laan)
2015-09-29 08:44:15 +02:00
Jimmy Kiselak
3e85228387 add more tests for supports and one additional test for claims 2015-09-28 17:57:17 -04:00
Wladimir J. van der Laan
1a9f19a78d
Merge pull request #6719
ec908d5 http: Force-exit event loop after predefined time (Wladimir J. van der Laan)
de9de2d http: Wait for worker threads to exit (Wladimir J. van der Laan)
5e0c221 Make HTTP server shutdown more graceful (Wladimir J. van der Laan)
2015-09-28 16:03:51 +02:00
Wladimir J. van der Laan
ec908d5f7a http: Force-exit event loop after predefined time
This makes sure that the event loop eventually terminates, even if an
event (like an open timeout, or a hanging connection) happens to be
holding it up.
2015-09-28 15:06:20 +02:00
Wladimir J. van der Laan
de9de2de36 http: Wait for worker threads to exit
Add a WaitExit() call to http's WorkQueue to make it delete the work
queue only when all worker threads stopped.

This fixes a problem that was reproducable by pressing Ctrl-C during
AppInit2:
```
/usr/include/boost/thread/pthread/condition_variable_fwd.hpp:81: boost::condition_variable::~condition_variable(): Assertion `!ret' failed.
/usr/include/boost/thread/pthread/mutex.hpp:108: boost::mutex::~mutex(): Assertion `!posix::pthread_mutex_destroy(&m)' failed.
```

I was assuming that `threadGroup->join_all();` would always have been
called when entering the Shutdown(). However this is not the case in
bitcoind's AppInit2-non-zero-exit case "was left out intentionally
here".
2015-09-28 15:06:20 +02:00
Wladimir J. van der Laan
5e0c221356 Make HTTP server shutdown more graceful
Shutting down the HTTP server currently breaks off all current requests.
This can create a race condition with RPC `stop` command, where the calling
process never receives confirmation.

This change removes the listening sockets on shutdown so that no new
requests can come in, but no longer breaks off requests in progress.

Meant to fix #6717.
2015-09-28 15:06:20 +02:00
Wladimir J. van der Laan
9639eadd93 doc: Add build guide for OpenBSD 5.7
Add a specific build guide for OpenBSD. This is slightly different than
building for Linux due to different dependencies, and a compiler issue.
2015-09-28 13:46:09 +02:00
Wladimir J. van der Laan
a5b78c2fa8 build: Remove dependency of bitcoin-cli on secp256k1
bitcoin-cli (in contrast to bitcoin-tx, which does signing ops)
shouldn't need secp256k1, and indeed it doesn't.
2015-09-28 10:36:33 +02:00
Jimmy Kiselak
6557635e16 finish implementing supports in the claim trie 2015-09-27 18:24:46 -04:00
Wladimir J. van der Laan
9fea833a12 timedata: Prevent warning overkill
The "please check your computer's data and time" message when the clock
deviates from the network currently generates an overkill of messages:

    orion@lethe:~/bitcoin$ src/bitcoind
    Warning: Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.

In the log:

    2015-09-27 16:24:13 *** Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.
    2015-09-27 16:24:13 Warning: Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.

Remove one level of 'Warning:' and reduce to one log message.
2015-09-27 16:40:16 +02:00
Wladimir J. van der Laan
ad57b310ba
Merge pull request #6724
023919b Fix debian/copyright list to be non-comma-separated. (Matt Corallo)
71afc68 Update debian/copyright format version to 1.0 (Matt Corallo)
d4ca868 Use standard license names in contrib/debian/copyright (Matt Corallo)
2015-09-26 11:34:14 +02:00
Wladimir J. van der Laan
2fa417f829
Merge pull request #6718
06d92d7 Add CONTRIBUTING.md (BtcDrak)
2015-09-26 10:10:35 +02:00
BtcDrak
06d92d71a2 Add CONTRIBUTING.md 2015-09-26 09:03:47 +01:00
Matt Corallo
023919b8c2 Fix debian/copyright list to be non-comma-separated. 2015-09-25 16:00:07 -07:00
Jimmy Kiselak
2dcc6a989e start implementing supporting claims 2015-09-25 17:09:21 -04:00
Matt Corallo
71afc687e6 Update debian/copyright format version to 1.0 2015-09-25 13:35:23 -07:00
Matt Corallo
d4ca868dfe Use standard license names in contrib/debian/copyright 2015-09-25 13:10:45 -07:00
Wladimir J. van der Laan
48efbdbe98
Merge pull request #5264
af3208b Resolve issue 3166. These changes decode valid SIGHASH types on signatures in assembly (asm) representations of scriptSig scripts. This squashed commit incorporates substantial helpful feedback from jtimon, laanwj, and sipa. (mruddy)
2015-09-25 19:19:07 +02:00
Wladimir J. van der Laan
486270854e
Merge pull request #6619
42cf089 depends: bump ccache to 3.2.3 (fanquake)
888c595 depends: bump miniupnpc to 1.9.20150730 (fanquake)
2015-09-25 16:29:24 +02:00
Wladimir J. van der Laan
35365321f3
Merge pull request #6721
da47fe0 Add java-libbitcoinconsensus as example to documentation (dexX7)
2015-09-25 15:53:52 +02:00
EthanHeilman
1534d9a83c Creates unittests for addrman, makes addrman testable.
Adds several unittests for addrman to verify it works as expected.
Makes small modifications to addrman to allow deterministic and targeted tests.
2015-09-24 15:20:48 -04:00
dexX7
da47fe0166
Add java-libbitcoinconsensus as example to documentation
java-libbitcoinconsensus is a wrapper around libbitcoinconsensus, which
uses JNA to demonstrate a potential integration in Java.
2015-09-24 19:12:36 +02:00
Wladimir J. van der Laan
34dc03d8e0
Merge pull request #6664
51ff777 [trivial] Fix rpc message "help generate" (MarcoFalke)
4c3cab1 [trivial] init cleanup (MarcoFalke)
2015-09-24 18:21:18 +02:00
Wladimir J. van der Laan
ef4945f221
Merge pull request #6600
b0beae8 Drop "with minimal dependencies" from description (Zak Wilcox)
5e5e00b Split bitcoin-tx into its own package (Zak Wilcox)
05179f7 Include bitcoin-tx binary on Debian/Ubuntu (Zak Wilcox)
2015-09-24 15:03:52 +02:00
Wladimir J. van der Laan
82d2aef7b3
Merge pull request #6715
60de0d5 Fix mempool package tracking edge case (Suhas Daftuar)
598b25d Add test showing bug in mempool packages (Suhas Daftuar)
2015-09-24 12:24:41 +02:00
Jimmy Kiselak
eb25177f5e do some rebranding and change default ports 2015-09-24 01:15:28 -04:00
Jimmy Kiselak
abbd4f64bf update op codes, start writing tests for OP_SUPPORT_CLAIM 2015-09-23 16:19:59 -04:00
Suhas Daftuar
60de0d5826 Fix mempool package tracking edge case
CalculateMemPoolAncestors was always looping over a transaction's inputs
to find in-mempool parents.  When adding a new transaction, this is the
correct behavior, but when removing a transaction, we want to use the
ancestor set that would be calculated by walking mapLinks (which should
in general be the same set, except during a reorg when the mempool is
in an inconsistent state, and the mapLinks-based calculation would be the
correct one).
2015-09-23 15:30:41 -04:00
Suhas Daftuar
598b25d5ee Add test showing bug in mempool packages 2015-09-23 15:12:19 -04:00
Wladimir J. van der Laan
5b77244c60
Merge pull request #6550
3b33ec8 Avoid duplicate CheckBlock checks (Pieter Wuille)
391dff1 Do not store Merkle branches in the wallet. (Pieter Wuille)
2015-09-23 19:37:51 +02:00
Wladimir J. van der Laan
e04b2fa9ba
Merge pull request #6653
4dee609 Rename rpcconsole.ui => debugwindow.ui (MarcoFalke)
0d0a2d6 [Qt] Raise debug window when requested (MarcoFalke)
2015-09-23 17:45:10 +02:00
Wladimir J. van der Laan
4dbd43ed0a
Merge pull request #6645
77c6072 Enable wallet key imports without rescan in pruned mode. (Gregory Maxwell)
2015-09-23 17:02:04 +02:00
Wladimir J. van der Laan
4939eabb75
Merge pull request #6688
131c23d Fix locking in GetTransaction. (Alex Morcos)
2015-09-23 16:53:40 +02:00
Wladimir J. van der Laan
999c8be81a
Merge pull request #6148
ae6f957 Enable block relay when pruning (Suhas Daftuar)
0da6ae2 Do not inv old or missing blocks when pruning (Suhas Daftuar)
2015-09-23 14:04:08 +02:00
MarcoFalke
43edd515e5 SanitizeString: Allow hypen char 2015-09-23 12:06:00 +02:00
Wladimir J. van der Laan
6264e5b378
Merge pull request #6646
6ecaec3 [Trivial] [logging] Rm extraneous cleansubver in serveral debug messages. (Gregory Maxwell)
2015-09-23 12:05:05 +02:00
MarcoFalke
4dee609e10 Rename rpcconsole.ui => debugwindow.ui 2015-09-23 10:27:39 +02:00
MarcoFalke
0d0a2d6bf9 [Qt] Raise debug window when requested
* Raise the debug window when hidden behind other windows
* Switch to the debug window when on another virtual desktop
* Show the debug window when minimized

This change is a conceptual copy of 5ffaaba and 382e9e2
2015-09-23 10:27:39 +02:00
Pieter Wuille
3b33ec85ed Avoid duplicate CheckBlock checks 2015-09-22 18:51:08 +02:00
Pieter Wuille
391dff16fe Do not store Merkle branches in the wallet.
Assume that when a wallet transaction has a valid block hash and transaction position
in it, the transaction is actually there. We're already trusting wallet data in a
much more fundamental way anyway.

To prevent backward compatibility issues, a new record is used for storing the
block locator in the wallet. Old wallets will see a wallet file synchronized up
to the genesis block, and rescan automatically.
2015-09-22 18:51:07 +02:00
Wladimir J. van der Laan
e59d2a80f9
Merge pull request #6315
7aac6db [QT] dump banlist to disk in case of ban/unban over QT (Jonas Schnelli)
7f90ea7 [QA] adabt QT_NO_KEYWORDS for QT ban implementation (Jonas Schnelli)
07f70b2 [QA] fix netbase tests because of new CSubNet::ToString() output (Jonas Schnelli)
4ed0510 [Qt] call DumpBanlist() when baning unbaning nodes (Philip Kaufmann)
be89292 [Qt] reenabling hotkeys for ban context menu, use different words (Jonas Schnelli)
b1189cf [Qt] adapt QT ban option to banlist.dat changes (Jonas Schnelli)
65abe91 [Qt] add sorting for bantable (Philip Kaufmann)
51654de [Qt] bantable polish (Philip Kaufmann)
cdd72cd [Qt] simplify ban list signal handling (Philip Kaufmann)
43c1f5b [Qt] remove unused timer-code from banlistmodel.cpp (Jonas Schnelli)
e2b8028 net: Fix CIDR notation in ToString() (Wladimir J. van der Laan)
9e521c1 [Qt] polish ban table (Philip Kaufmann)
607809f net: use CIDR notation in CSubNet::ToString() (Jonas Schnelli)
53caec6 [Qt] bantable overhaul (Jonas Schnelli)
f0bcbc4 [Qt] bantable fix timestamp 64bit issue (Jonas Schnelli)
6135309 [Qt] banlist, UI optimizing and better signal handling (Jonas Schnelli)
770ca79 [Qt] add context menu with unban option to ban table (Jonas Schnelli)
5f42132 [Qt] add ui signal for banlist changes (Jonas Schnelli)
ad204df [Qt] add banlist table below peers table (Jonas Schnelli)
50f0908 [Qt] add ban functions to peers window (Jonas Schnelli)
2015-09-22 13:39:38 +02:00
Wladimir J. van der Laan
28d0b3ec65
Merge pull request #6652
a09db7c [trivial] Minor format fixes (MarcoFalke)
0574ede doc: update release-notes and bips.md for BIP111 (Wladimir J. van der Laan)
2015-09-22 11:55:56 +02:00
MarcoFalke
a09db7c19a [trivial] Minor format fixes 2015-09-22 11:52:13 +02:00
Wladimir J. van der Laan
a3babc826d
Merge pull request #6647
1c1b1b3 [uacomment] Sanitize per BIP-0014 (MarcoFalke)
2015-09-22 11:36:50 +02:00
Wladimir J. van der Laan
d3b0d8c0e6
Merge pull request #6694
24cb7c7 [QT] fix thin space word wrap line brake issue (Jonas Schnelli)
2015-09-22 10:48:06 +02:00
Wladimir J. van der Laan
34bac4aedc
Merge pull request #6709
99ee4a6 Fix spelling of Qt (Diego Viola)
2015-09-22 10:32:44 +02:00
Diego Viola
99ee4a656b Fix spelling of Qt 2015-09-22 05:00:10 -03:00
Wladimir J. van der Laan
229fb974ab
Merge pull request #6667
2eb3183 [doc] Merge doc/assets-attribution.md into contrib/debian/copyright (MarcoFalke)
9be08b7 Update contrib/debian/copyright (MarcoFalke)
2015-09-21 18:17:48 +02:00
Wladimir J. van der Laan
10fc4fb368
Merge pull request #6668
9b1cdd7 [trivial] Remove obsolete pixmaps (MarcoFalke)
d1acf93 [qt] [trivial] share/qt/make_spinner.py => src/qt/res/movies/makespinner.sh (MarcoFalke)
2015-09-21 18:05:54 +02:00
Wladimir J. van der Laan
ed55a1f5f9
Merge pull request #6671
0186228 Update trusted-git-root to the most recent unsigned commit (Matt Corallo)
2015-09-21 17:21:18 +02:00
Wladimir J. van der Laan
5e21388c48
Merge pull request #6695
ddf98d1 Make RPC tests cope with server-side timeout between requests (Wladimir J. van der Laan)
2190ea6 rpc: Split option -rpctimeout into -rpcservertimeout and -rpcclienttimeout (Wladimir J. van der Laan)
8b2d6ed http: Disable libevent debug logging, if not explicitly enabled (Wladimir J. van der Laan)
5ce43da init: Ignore SIGPIPE (Wladimir J. van der Laan)
2015-09-21 17:16:40 +02:00
Wladimir J. van der Laan
ddf98d1d84 Make RPC tests cope with server-side timeout between requests
Python's httplib does not graciously handle disconnections from the http server, resulting in BadStatusLine errors.
See https://bugs.python.org/issue3566 "httplib persistent connections violate MUST in RFC2616 sec 8.1.4."

This was fixed in Python 3.5.

Work around it for now.
2015-09-21 17:15:37 +02:00
Wladimir J. van der Laan
2190ea6c4e rpc: Split option -rpctimeout into -rpcservertimeout and -rpcclienttimeout
The two timeouts for the server and client, are essentially different:

- In the case of the server it should be a lower value to avoid clients
clogging up connection slots

- In the case of the client it should be a high value to accomedate slow
  responses from the server, for example for slow queries or when the
  lock is contended

Split the options into `-rpcservertimeout` and `-rpcclienttimeout` with
respective defaults of 30 and 900.
2015-09-21 17:15:36 +02:00
Wladimir J. van der Laan
b0ce4508b0
Merge pull request #6654
5add7a7 Track transaction packages in CTxMemPoolEntry (Suhas Daftuar)
34628a1 TxMemPool: Change mapTx to a boost::multi_index_container (Ashley Holman)
2015-09-21 14:34:47 +02:00
Wladimir J. van der Laan
8b2d6edaa9 http: Disable libevent debug logging, if not explicitly enabled
Add a option "-debug=libevent" to enable libevent debugging for troubleshooting.
Libevent logging is redirected to our own log.
2015-09-21 13:24:34 +02:00
Jonas Schnelli
7aac6db6eb [QT] dump banlist to disk in case of ban/unban over QT 2015-09-20 10:42:35 +02:00
Suhas Daftuar
5add7a74a6 Track transaction packages in CTxMemPoolEntry
Associate with each CTxMemPoolEntry all the size/fees of descendant
mempool transactions.  Sort mempool by max(feerate of entry, feerate
of descendants).  Update statistics on-the-fly as transactions enter
or leave the mempool.

Also add ancestor and descendant limiting, so that transactions can
be rejected if the number or size of unconfirmed ancestors exceeds
a target, or if adding a transaction would cause some other mempool
entry to have too many (or too large) a set of unconfirmed in-
mempool descendants.
2015-09-19 13:25:48 -04:00
Ashley Holman
34628a1807 TxMemPool: Change mapTx to a boost::multi_index_container
Indexes on:
- Tx Hash
- Fee Rate (fee-per-kb)
2015-09-19 13:22:40 -04:00
MarcoFalke
2eb3183ca4 [doc] Merge doc/assets-attribution.md into contrib/debian/copyright
Even though the SVG source files are never used in the QT client,
their authors are mentioned in contrib/debian/copyright due to
simplicity.
2015-09-18 18:14:42 +02:00
Wladimir J. van der Laan
d5d1d2e65a
Merge pull request #6692
3802ae7 devtools: don't push if signing fails in github-merge (Wladimir J. van der Laan)
2015-09-18 16:02:01 +02:00
Wladimir J. van der Laan
5ce43da03d init: Ignore SIGPIPE
Ignore SIGPIPE on all non-win32 OSes, otherwise an unexpectedly disconnecting
RPC client will terminate the application. This problem was introduced
with the libhttp-based RPC server.

Fixes #6660.
2015-09-18 15:38:52 +02:00
Jonas Schnelli
24cb7c7bbb [QT] fix thin space word wrap line brake issue
The thin space QT html hack results in cut-off chars/nums after a line break.

Avoid word wrap line breaks by using a smaller font and a line break before each alternative value)
2015-09-18 13:52:36 +02:00
Wladimir J. van der Laan
3802ae7267 devtools: don't push if signing fails in github-merge
If a problem happens with gpg, exit prematurely so that it doesn't push
the branch upstream.
2015-09-18 06:03:17 +02:00
Wladimir J. van der Laan
8bc1b3a1f3
Merge pull request #6422
c73a8ea Clarifying offline build process using gbuild --url and noting it is not done automatically. (Midnight Magic)
2015-09-18 05:46:40 +02:00
Alex Morcos
131c23d027 Fix locking in GetTransaction.
GetTransaction needs to lock cs_main until ReadBlockFromDisk completes, the data inside CBlockIndex's can change since pruning.  This lock was held by all calls to GetTransaction except rest_tx.
2015-09-17 20:26:28 -04:00
Midnight Magic
c73a8ea271
Clarifying offline build process using gbuild --url and noting it is not
done automatically.

At some point along the line, fully offline builds were no longer happening
when strictly following the release-process.md instructions.

We should ensure that users who might want to torify or build offline need
to take extra steps to remain offline.

Also, corrections to build process: including gverify examples for new builders.
2015-09-17 14:25:41 -07:00
Jonas Schnelli
110a1fd727 enable zmq-test in rpc-tests.sh 2015-09-17 20:04:34 +02:00
Jeff Garzik
83f0e22497
Temporarily disable ZMQ tests in bitcoin test suite 2015-09-17 11:44:55 -04:00
Jeff Garzik
9da3de80ae
Merge pull request #6685 2015-09-17 09:52:51 -04:00
Jonas Schnelli
312cfe63a3 fix rpc-tests.sh
`${testScripts[@]}` now does split up `testscript --agument` in two elements pushed to the array (`testscript` and `--agument`).
2015-09-17 15:45:14 +02:00
Jeff Garzik
cb71316a1b
Merge pull request #6684
Fixes #6682
2015-09-17 09:45:02 -04:00
Jonas Schnelli
93254172ce depends: fix platform specific packages variable
prefix instead of postfix
2015-09-17 14:30:46 +02:00
Zak Wilcox
b0beae8b82 Drop "with minimal dependencies" from description
Five boost libs plus libcrypto are needed; I don't think that quite passes for minimal.
2015-09-17 10:17:24 +01:00
Zak Wilcox
5e5e00bf4c Split bitcoin-tx into its own package
Reverts the change putting it in the bitcoind deb.
2015-09-17 07:23:04 +01:00
Jonas Schnelli
d76a8acb9b use CBlockIndex* insted of uint256 for UpdatedBlockTip signal
- removes mapBlockIndex find operation
- theoretically allows removing the cs_main lock during zqm notification while introducing a new file position lock
2015-09-16 16:51:21 +02:00
Jonas Schnelli
7f90ea78cb [QA] adabt QT_NO_KEYWORDS for QT ban implementation 2015-09-16 16:50:20 +02:00
Jonas Schnelli
07f70b2dde [QA] fix netbase tests because of new CSubNet::ToString() output 2015-09-16 16:50:20 +02:00
Philip Kaufmann
4ed05101f3 [Qt] call DumpBanlist() when baning unbaning nodes
- this matches RPC call behaviour
2015-09-16 16:50:20 +02:00
Jonas Schnelli
be8929265f [Qt] reenabling hotkeys for ban context menu, use different words
- 1 (h)our
- 1 (d)ay
- 1 (w)eek
- 1 (y)ear
2015-09-16 16:50:20 +02:00
Jonas Schnelli
b1189cfa10 [Qt] adapt QT ban option to banlist.dat changes 2015-09-16 16:50:20 +02:00
Philip Kaufmann
65abe91ce4 [Qt] add sorting for bantable 2015-09-16 16:50:19 +02:00
Philip Kaufmann
51654deff2 [Qt] bantable polish
- add missing NULL pointer checks
- add better comments and reorder some code in rpcconsole.cpp
- remove unneeded leftovers in bantable.cpp
- update bantable column sizes to prevent cutting of banned until
2015-09-16 16:50:19 +02:00
Philip Kaufmann
cdd72cd5fb [Qt] simplify ban list signal handling
- remove banListChanged signal from client model
- directly call clientModel->getBanTableModel()->refresh() without the way
  over clientModel->updateBanlist()

- also fix clearing peer detail window, when selecting (clicking)
  peers in the ban list
2015-09-16 16:50:19 +02:00
Jonas Schnelli
43c1f5b8d7 [Qt] remove unused timer-code from banlistmodel.cpp 2015-09-16 16:50:19 +02:00
Wladimir J. van der Laan
e2b8028e4c net: Fix CIDR notation in ToString()
Only use CIDR notation if the netmask can be represented as such.
2015-09-16 16:50:19 +02:00
Philip Kaufmann
9e521c1735 [Qt] polish ban table 2015-09-16 16:50:19 +02:00
Jonas Schnelli
607809f037 net: use CIDR notation in CSubNet::ToString() 2015-09-16 16:50:19 +02:00
Jonas Schnelli
53caec66cc [Qt] bantable overhaul
- some code cleanups
- fix date formatting
- reduce header includes
2015-09-16 16:50:19 +02:00
Jonas Schnelli
f0bcbc4c8a [Qt] bantable fix timestamp 64bit issue 2015-09-16 16:50:19 +02:00
Jonas Schnelli
6135309816 [Qt] banlist, UI optimizing and better signal handling 2015-09-16 16:50:19 +02:00
Jonas Schnelli
770ca79aa0 [Qt] add context menu with unban option to ban table 2015-09-16 16:50:19 +02:00
Jonas Schnelli
5f42132950 [Qt] add ui signal for banlist changes 2015-09-16 16:50:19 +02:00
Jonas Schnelli
ad204df1a9 [Qt] add banlist table below peers table 2015-09-16 16:50:19 +02:00
Jonas Schnelli
50f090884c [Qt] add ban functions to peers window
add ban option for peer context menu (1h, 24h, 7d, 1y).
2015-09-16 16:50:19 +02:00
Jeff Garzik
0143a1f228
configure.ac: Revert autotools-auto-updated 2.69 autoconf requirement
Also, autotools reformatted the AC_ARG_ENABLE erroneously as well.
2015-09-16 10:25:51 -04:00
Jeff Garzik
ca5e2a1864
Merge pull request #6317 2015-09-16 09:40:53 -04:00
MarcoFalke
1c1b1b315f [uacomment] Sanitize per BIP-0014
* SanitizeString() can be requested to be more strict
* Throw error when SanitizeString() changes uacomments
* Fix tests
2015-09-16 15:23:29 +02:00
Jeff Garzik
13b828270a
Merge pull request #6103 2015-09-16 09:12:07 -04:00
Jonas Schnelli
029e278286 QA: Add ZeroMQ RPC test 2015-09-16 11:01:35 +01:00
Jeff Garzik
e6a14b64d6 Add ZeroMQ support. Notify blocks and transactions via ZeroMQ
Continues Johnathan Corgan's work.
Publishing multipart messages

Bugfix: Add missing zmq header includes

Bugfix: Adjust build system to link ZeroMQ code for Qt binaries
2015-09-16 11:01:35 +01:00
Cory Fields
1136879df8 Depends: Add ZeroMQ package 2015-09-16 10:59:32 +01:00
João Barbosa
5624e055b3 Add UpdatedBlockTip signal to CMainSignals and CValidationInterface 2015-09-16 10:59:32 +01:00
Jeff Garzik
9733bc99a0
Merge pull request #6663 2015-09-15 19:29:14 -04:00
Jeff Garzik
6f55cddf6b
Merge pull request #5665 2015-09-15 12:30:32 -04:00
MarcoFalke
9be08b7fe2 Update contrib/debian/copyright 2015-09-15 16:38:08 +02:00
Matt Corallo
0186228d61 Update trusted-git-root to the most recent unsigned commit 2015-09-14 12:54:25 -04:00
MarcoFalke
9b1cdd7eeb [trivial] Remove obsolete pixmaps 2015-09-13 17:57:25 +02:00
MarcoFalke
d1acf938e6 [qt] [trivial] share/qt/make_spinner.py => src/qt/res/movies/makespinner.sh
* Merge make_spinner.py into makespinner.sh
* Also delete now unused imgs
* Actually use all 36 frames for the spinner animation
2015-09-13 17:57:12 +02:00
MarcoFalke
51ff777357 [trivial] Fix rpc message "help generate" 2015-09-12 18:19:53 +02:00
MarcoFalke
4c3cab14b7 [trivial] init cleanup 2015-09-12 13:28:00 +02:00
Irving Ruan
5d7a16d073 Fixes typo in build-osx.md. 2015-09-12 00:35:36 -07:00
Gregory Maxwell
6ecaec395c [Trivial] [logging] Rm extraneous cleansubver in serveral debug messages.
We log the cleanSubVer as part of connect.  It is not uniquely more informative
 than any of the other data we have about a peer, often less.  It's also often
 long now as well.  There is no need to output it as part of mempoolrej,
 AcceptToMemoryPool, or pong entries.  Leaving it out makes our log entries
 more uniform and consistent.
2015-09-08 23:11:10 +00:00
Wladimir J. van der Laan
3224936bed
Merge pull request #6635
a1df1e8 [docs] add libevent dependency to build-osx.md (Jonas Schnelli)
d6a92dd [release notes] mention apache reverse proxy to re-enable SSL (Jonas Schnelli)
2015-09-08 17:38:25 +02:00
Wladimir J. van der Laan
0574ede595 doc: update release-notes and bips.md for BIP111 2015-09-08 17:19:08 +02:00
Wladimir J. van der Laan
0c27795140
Merge pull request #6579
afb0cca Add NODE_BLOOM service bit and bump protocol version (Matt Corallo)
2015-09-08 17:10:36 +02:00
Wladimir J. van der Laan
878ea69491
Merge pull request #6594
5ffaaba Disallow duplicate windows. (Casey Rodarmor)
2015-09-08 17:02:00 +02:00
Wladimir J. van der Laan
1d133d9573
Merge pull request #6640
eb3002b [TRIVIAL] Fix typo: exactmath -> exactmatch (paveljanik)
2015-09-08 16:43:26 +02:00
Wladimir J. van der Laan
6f6fb188b5
Merge pull request #6644
7a7e68d Prune the -prune help to reflect that the wallet is no longer disabled. (Gregory Maxwell)
2015-09-08 16:24:08 +02:00
Wladimir J. van der Laan
e8bb8ad85a
Merge pull request #6643
238851b [doc] [tor] Clarify when to use bind (MarcoFalke)
2015-09-08 15:50:02 +02:00
Wladimir J. van der Laan
cd381d7719
Merge pull request #6648
9cdc335 Simplify logic of REST request suffix parsing. (Daniel Kraft)
2015-09-08 14:51:22 +02:00
Gregory Maxwell
7a7e68d1e2 Prune the -prune help to reflect that the wallet is no longer disabled.
The wallet hasn't been disabled since 3201035f22.
2015-09-07 18:49:12 +00:00
Daniel Kraft
9cdc3353c5 Simplify logic of REST request suffix parsing.
This patch changes the way the suffix (giving the requested data format) is
parsed for REST requests.  Before, the string was split at '.'
characters and it was assumed that the second part was the suffix.

Now, we look for the last dot and use that to determine the suffix.
This allows for strings that contain dots (not used now, though), and
seems, in general, to be clearer and more intuitive.
2015-09-07 20:38:03 +02:00
Jonas Schnelli
a1df1e870b [docs] add libevent dependency to build-osx.md 2015-09-07 13:31:16 +02:00
Gregory Maxwell
77c6072473 Enable wallet key imports without rescan in pruned mode.
Complete rescan is incompatible with pruning, but rescan is optional on
 our wallet key import RPCs.  Import on use is very useful in some common
 situations in conjunction with pruning, e.g. merchant payment tracking.

This reenables importprivkey/importaddress/importpubkey when rescan
 is not used.

In the future we should consider changing the rescan argument to allow depth
 or date to allow limited rescanning when compatible with the retained
 block depth.
2015-09-07 01:28:32 +00:00
MarcoFalke
238851bf64 [doc] [tor] Clarify when to use bind
c.f. #6585
2015-09-06 18:17:35 +02:00
Matt Corallo
afb0ccaf9c Add NODE_BLOOM service bit and bump protocol version
Lets nodes advertise that they offer bloom filter support explicitly.
The protocol version bump allows SPV nodes to assume that NODE_BLOOM is
set if NODE_NETWORK is set for pre-70011 nodes.

Also adds an option to turn bloom filter support off for nodes which
advertise a version number >= 70011. Nodes attempting to use bloom
filters on such protocol versions are banned, and a later upgade
should drop nodes of an older version which attempt to use bloom
filters.

Much code stolen from Peter Todd.

Implements BIP 111
2015-09-05 23:29:13 -07:00
Casey Rodarmor
5ffaaba3a1 Disallow duplicate windows. 2015-09-04 15:25:42 -04:00
paveljanik
eb3002bb71 [TRIVIAL] Fix typo: exactmath -> exactmatch
... but not yet in trivial tree
2015-09-04 19:22:48 +02:00
Wladimir J. van der Laan
536207f316
Merge pull request #6636
93ff1b9 net: correctly initialize nMinPingUsecTime (Wladimir J. van der Laan)
2015-09-04 17:06:48 +02:00
Wladimir J. van der Laan
2aee4d268d
Merge pull request #6626
f4b9132 Update gitian build guide for Debian 8.1 (fanquake)
2015-09-04 16:31:58 +02:00
Wladimir J. van der Laan
93ff1b9041 net: correctly initialize nMinPingUsecTime
`nMinPingUsecTime` was left uninitialized in CNode.
The correct initialization for a minimum-until-now is int64_t's max value, so initialize it to that.
Thanks @MarcoFalke for noticing.
2015-09-04 16:27:38 +02:00
Jonas Schnelli
d6a92dd0ea [release notes] mention apache reverse proxy to re-enable SSL 2015-09-04 15:39:49 +02:00
Wladimir J. van der Laan
bbc2b39860
Merge pull request #6633
a6eb4ba Report minimum ping time in getpeerinfo (Matt Corallo)
2015-09-04 15:32:03 +02:00
Wladimir J. van der Laan
9aa90994ee
Merge pull request #5677
d528025 Revert "rpc-tests: re-enable rpc-tests for Windows" (Wladimir J. van der Laan)
1e700c9 doc: update deps in build-unix.md after libevent (Wladimir J. van der Laan)
26c9b83 Move windows socket init to utility function (Wladimir J. van der Laan)
4be0b08 libevent: Windows reuseaddr workaround in depends (Cory Fields)
3a174cd Fix race condition between starting HTTP server thread and setting EventBase() (Wladimir J. van der Laan)
6d2bc22 Document options for new HTTP/RPC server in --help (Wladimir J. van der Laan)
be33f3f Implement RPCTimerHandler for Qt RPC console (Wladimir J. van der Laan)
57d85d9 doc: mention SSL support dropped for RPC in release notes (Wladimir J. van der Laan)
40b556d evhttpd implementation (Wladimir J. van der Laan)
ee2a42b tests: GET requests cannot have request body, use POST in rest.py (Wladimir J. van der Laan)
6e996d3 tests: fix qt payment test (Cory Fields)
3140ef9 build: build-system changes for libevent (Wladimir J. van der Laan)
a9af234 libevent: add depends (Cory Fields)
6a21dd5 Remove rpc_boostasiotocnetaddr test (Wladimir J. van der Laan)
8f9301c qa: Remove -rpckeepalive tests from httpbasics (Wladimir J. van der Laan)
51fcfc0 doc: remove documentation for rpcssl (Wladimir J. van der Laan)
2015-09-04 13:06:32 +02:00
Wladimir J. van der Laan
d528025517 Revert "rpc-tests: re-enable rpc-tests for Windows"
This reverts commit bd30c3dced.

Disable windows RPC tests for now. These should be re-enabled once a
suitable Wine version is used on Travis.
2015-09-04 11:01:44 +02:00
Wladimir J. van der Laan
1e700c9b60 doc: update deps in build-unix.md after libevent
Add libevent, change usage of libssl from "secure communication" to
"crypto" that's more accurate after RPC SSL support removed.
2015-09-04 10:59:34 +02:00
Wladimir J. van der Laan
4b437b227c
Merge pull request #6631
e83df07 Update RPC generate help for numblocks to include required (Ian T)
2015-09-04 10:45:27 +02:00
Matt Corallo
a6eb4ba38b Report minimum ping time in getpeerinfo 2015-09-03 13:06:13 -07:00
Wladimir J. van der Laan
195942d58e
Merge pull request #6630
86270c8 Replace boost::reverse_lock with our own. (Casey Rodarmor)
2015-09-03 21:46:08 +02:00
Casey Rodarmor
86270c8164 Replace boost::reverse_lock with our own. 2015-09-03 15:13:40 -04:00
Ian T
e83df075f9 Update RPC generate help for numblocks to include required
The `generate` RPC has no default `numblocks` and a numeric value is required.
2015-09-03 13:29:10 -04:00
Tom Harding
9524c4d35c In (strCommand == "tx"), return if AlreadyHave()
The main effect is to exit processing for recently-rejected hashes,
in case they are pushed to us without prior advertisement.  This
behavior was seen in the wild.

An additional effect is to do early checks for mempool or mapOrphan
existence.  No logging or nDoS tracking is needed for failures of
these checks.
2015-09-03 10:16:59 -07:00
Wladimir J. van der Laan
69dc5b51a0
Merge pull request #6374
027de94 Use network group instead of CNetAddr in final pass to select node to disconnect (Patrick Strateman)
000c18a Fix comment (Patrick Strateman)
fed3094 Acquire cs_vNodes before changing refrence counts (Patrick Strateman)
69ee1aa CNodeRef copy constructor and assignment operator (Patrick Strateman)
dc81dd0 Return false early if vEvictionCandidates is empty (Patrick Strateman)
17f3533 Better support for nodes with non-standard nMaxConnections (Patrick Strateman)
1317cd1 RAII wrapper for CNode* (Patrick Strateman)
df23937 Add comments to AttemptToEvictConnection (Patrick Strateman)
a8f6e45 Remove redundant whiteconnections option (Patrick Strateman)
b105ba3 Prefer to disconnect peers in favor of whitelisted peers (Patrick Strateman)
2c70153 AttemptToEvictConnection (Patrick Strateman)
4bac601 Record nMinPingUsecTime (Patrick Strateman)
ae037b7 Refactor: Move failure conditions to the top of AcceptConnection (Patrick Strateman)
1ef4817 Refactor: Bail early in AcceptConnection (Patrick Strateman)
541a1dd Refactor: AcceptConnection (Patrick Strateman)
2015-09-03 18:27:24 +02:00
Wladimir J. van der Laan
5e1ec3b5be
Merge pull request #6611
5b85126 Update build-unix.md (Altoidnerd)
2015-09-03 17:19:50 +02:00
Wladimir J. van der Laan
0c02a75787
Merge pull request #6627
88f856a [doc] Clarify authors in assets-attribution.md (MarcoFalke)
2015-09-03 17:03:46 +02:00
MarcoFalke
88f856a9e7 [doc] Clarify authors in assets-attribution.md 2015-09-03 14:22:57 +02:00
Wladimir J. van der Laan
26c9b83677 Move windows socket init to utility function 2015-09-03 10:59:19 +02:00
Cory Fields
4be0b082b9 libevent: Windows reuseaddr workaround in depends
Make it possible to reuse sockets.
This is necessary to make the RPC tests work in WINE.
2015-09-03 10:59:19 +02:00
Wladimir J. van der Laan
3a174cd400 Fix race condition between starting HTTP server thread and setting EventBase()
Split StartHTTPServer into InitHTTPServer and StartHTTPServer to give
clients a window to register their handlers without race conditions.

Thanks @ajweiss for figuring this out.
2015-09-03 10:59:19 +02:00
Wladimir J. van der Laan
6d2bc22146 Document options for new HTTP/RPC server in --help 2015-09-03 10:59:19 +02:00
Wladimir J. van der Laan
be33f3f50b Implement RPCTimerHandler for Qt RPC console
Implement RPCTimerHandler for Qt RPC console, so that `walletpassphrase`
works with GUI and `-server=0`.

Also simplify HTTPEvent-related code by using boost::function directly.
2015-09-03 10:59:19 +02:00
Wladimir J. van der Laan
57d85d9bee doc: mention SSL support dropped for RPC in release notes 2015-09-03 10:59:19 +02:00
Wladimir J. van der Laan
40b556d374 evhttpd implementation
- *Replace usage of boost::asio with [libevent2](http://libevent.org/)*.
boost::asio is not part of C++11, so unlike other boost there is no
forwards-compatibility reason to stick with it. Together with #4738 (convert
json_spirit to UniValue), this rids Bitcoin Core of the worst offenders with
regard to compile-time slowness.

- *Replace spit-and-duct-tape http server with evhttp*. Front-end http handling
is handled by libevent, a work queue (with configurable depth and parallelism)
is used to handle application requests.

- *Wrap HTTP request in C++ class*; this makes the application code mostly
HTTP-server-neutral

- *Refactor RPC to move all http-specific code to a separate file*.
Theoreticaly this can allow building without HTTP server but with another RPC
backend, e.g. Qt's debug console (currently not implemented) or future RPC
mechanisms people may want to use.

- *HTTP dispatch mechanism*; services (e.g., RPC, REST) register which URL
paths they want to handle.

By using a proven, high-performance asynchronous networking library (also used
by Tor) and HTTP server, problems such as #5674, #5655, #344 should be avoided.

What works? bitcoind, bitcoin-cli, bitcoin-qt. Unit tests and RPC/REST tests
pass. The aim for now is everything but SSL support.

Configuration options:

- `-rpcthreads`: repurposed as "number of  work handler threads". Still
defaults to 4.

- `-rpcworkqueue`: maximum depth of work queue. When this is reached, new
requests will return a 500 Internal Error.

- `-rpctimeout`: inactivity time, in seconds, after which to disconnect a
client.

- `-debug=http`: low-level http activity logging
2015-09-03 10:59:18 +02:00
fanquake
f4b9132d0c Update gitian build guide for Debian 8.1
Signed-off-by: fanquake <fanquake@gmail.com>
2015-09-03 15:51:37 +08:00
Kevin Cooper
d4aa54c5af added org.bitcoin.bitcoind.plist for launchd (OS X) 2015-09-02 09:48:40 -07:00
Wladimir J. van der Laan
ee2a42b447 tests: GET requests cannot have request body, use POST in rest.py
Sending a request body with GET request is not valid in HTTP spec, and
not compatible with evhttpd.
2015-09-02 18:38:42 +02:00
Cory Fields
6e996d39da tests: fix qt payment test
Now that boost no longer automatically initializes openssl, we have to
do it ourselves.
2015-09-02 18:38:41 +02:00
Wladimir J. van der Laan
3140ef9249 build: build-system changes for libevent 2015-09-02 18:38:41 +02:00
Cory Fields
a9af234c1f libevent: add depends 2015-09-02 18:38:41 +02:00
Wladimir J. van der Laan
6a21dd598c Remove rpc_boostasiotocnetaddr test
Dropping all use of boost::asio.
2015-09-02 18:38:41 +02:00
Wladimir J. van der Laan
8f9301cdaa qa: Remove -rpckeepalive tests from httpbasics
This option was a temporary workaround, and is no longer necessary
with the new web server.
2015-09-02 18:38:41 +02:00
Wladimir J. van der Laan
51fcfc022c doc: remove documentation for rpcssl 2015-09-02 18:38:41 +02:00
Wladimir J. van der Laan
3932ff50c5
Merge pull request #6620
10e469a travis: bump wine to 1.7 (Cory Fields)
2015-09-02 18:38:10 +02:00
fanquake
42cf08905f depends: bump ccache to 3.2.3 2015-09-03 00:05:35 +08:00
fanquake
888c595cff depends: bump miniupnpc to 1.9.20150730 2015-09-03 00:05:35 +08:00
Cory Fields
10e469ae37 travis: bump wine to 1.7 2015-09-02 11:42:27 -04:00
Wladimir J. van der Laan
b319f0828e
Merge pull request #6617
bfadae3 travis: for travis generating an extra build (Cory Fields)
2015-09-02 17:14:29 +02:00
Altoidnerd
5b85126863 Update build-unix.md
If a user hasn't ready run autogen.sh, configure doesn't yet exist.  Do the instructions seem to presume you have already built bitcoin?  I don't think they do.

Would stifle beginners.

Update build-unix.md
2015-09-02 05:13:04 -04:00
Cory Fields
bfadae3374 travis: for travis generating an extra build 2015-09-01 21:45:23 -04:00
Wladimir J. van der Laan
10c0e52b68
Merge pull request #6548
060058e Enable python tests for Native Windows (ptschip)
2015-09-01 11:37:13 +02:00
Wladimir J. van der Laan
af9305a7e8
Merge pull request #6583
9f3e48e add support for miniupnpc api version 14 (Pavel Vasin)
2015-08-31 17:38:07 +02:00
Wladimir J. van der Laan
f4d88c4041
Merge pull request #6599
9bebf60 Make sure LogPrint strings are line-terminated (J Ross Nicoll)
2015-08-31 11:56:18 +02:00
Patrick Strateman
027de94e1f
Use network group instead of CNetAddr in final pass to select node to disconnect 2015-08-30 22:09:14 -07:00
Zak Wilcox
05179f7e9d Include bitcoin-tx binary on Debian/Ubuntu
Currently left out of Matt's PPA.  Debian's package for unstable already has it.
2015-08-29 18:52:44 +01:00
J Ross Nicoll
9bebf60698
Make sure LogPrint strings are line-terminated 2015-08-29 17:40:13 +01:00
ptschip
060058e955 Enable python tests for Native Windows
1) Multiplatorm support for devnull
2) Fixed a bug in the handling of cache files
3) Deleted run-bitcoin-cli as no longer needed
2015-08-26 10:59:22 -07:00
Wladimir J. van der Laan
ea19c2bc3f
Merge pull request #6530
c33c11e Improve addrman Select() performance when buckets are nearly empty (Pieter Wuille)
2015-08-26 17:58:40 +02:00
Wladimir J. van der Laan
981fd92bc5
Merge pull request #6590
bd30c3d rpc-tests: re-enable rpc-tests for Windows (Cory Fields)
a193387 net: Set SO_REUSEADDR for Windows too (Cory Fields)
2015-08-26 12:06:08 +02:00
Pieter Wuille
c33c11ebac Improve addrman Select() performance when buckets are nearly empty 2015-08-26 01:59:09 +02:00
Patrick Strateman
000c18aace Fix comment 2015-08-25 16:31:13 -07:00
Patrick Strateman
fed30940ef Acquire cs_vNodes before changing refrence counts 2015-08-25 16:30:02 -07:00
Patrick Strateman
69ee1aab00 CNodeRef copy constructor and assignment operator 2015-08-25 15:33:29 -07:00
Cory Fields
bd30c3dced rpc-tests: re-enable rpc-tests for Windows 2015-08-25 12:03:28 -04:00
Cory Fields
a19338723d net: Set SO_REUSEADDR for Windows too
When running the rpc tests in Wine, nodes often fail to listen on localhost
due to a stale socket from a previous run. This aligns the behavior with other
platforms.
2015-08-25 11:31:06 -04:00
Wladimir J. van der Laan
da9beb288d
Merge pull request #6576
e938122 Stop parsing JSON after first finished construct. (Daniel Kraft)
2015-08-24 13:44:05 +02:00
Wladimir J. van der Laan
561f8af450
Merge pull request #6523
0ce7398 Add p2p-fullblocktest.py (Casey Rodarmor)
2015-08-24 13:25:49 +02:00
Pavel Vasin
9f3e48e521 add support for miniupnpc api version 14
The value of new arg ttl is set to 2 as it's recommended default.
2015-08-23 23:53:49 +03:00
Patrick Strateman
dc81dd02a1 Return false early if vEvictionCandidates is empty 2015-08-22 15:38:24 -07:00
Patrick Strateman
17f3533c84 Better support for nodes with non-standard nMaxConnections 2015-08-22 15:38:24 -07:00
Patrick Strateman
1317cd1928 RAII wrapper for CNode* 2015-08-22 15:38:24 -07:00
Patrick Strateman
df23937422 Add comments to AttemptToEvictConnection 2015-08-22 15:38:24 -07:00
Patrick Strateman
a8f6e45249 Remove redundant whiteconnections option 2015-08-22 15:38:24 -07:00
Patrick Strateman
b105ba398b Prefer to disconnect peers in favor of whitelisted peers 2015-08-22 15:38:24 -07:00
Patrick Strateman
2c701537c8 AttemptToEvictConnection 2015-08-22 15:38:24 -07:00
Patrick Strateman
4bac601610 Record nMinPingUsecTime 2015-08-22 15:38:23 -07:00
Patrick Strateman
ae037b707c Refactor: Move failure conditions to the top of AcceptConnection 2015-08-22 15:38:23 -07:00
Patrick Strateman
1ef4817614 Refactor: Bail early in AcceptConnection 2015-08-22 15:38:23 -07:00
Patrick Strateman
541a1dd9e6 Refactor: AcceptConnection 2015-08-22 15:38:23 -07:00
Casey Rodarmor
0ce73985a8 Add p2p-fullblocktest.py 2015-08-21 15:31:37 -04:00
Wladimir J. van der Laan
49793fbb09
Merge pull request #6541
e0862c0 Reformat validateaddress help, add missing iswatchonly description. (Pavel Janík)
2015-08-21 12:35:20 +02:00
Wladimir J. van der Laan
e3f13ddc54
Merge pull request #6242
17221bf chainparams: don't use std namespace (Cory Fields)
f0deec5 chainparams: move CCheckpointData into chainparams.h (Cory Fields)
2015-08-20 18:26:26 +02:00
Wladimir J. van der Laan
e128464bc5
Merge pull request #6545
8be371d Do not store more than 200 timedata samples. (Pavel Janík)
2015-08-20 17:13:52 +02:00
Wladimir J. van der Laan
70ec975ea6
Merge pull request #6556
1123cdb add unit test for CNetAddr::GetGroup. (Alex Morcos)
bba3db1 Fix masking of irrelevant bits in address groups. (Alex Morcos)
2015-08-20 16:45:46 +02:00
Wladimir J. van der Laan
5e6e0898a1
Merge pull request #6571
1d1073c consensus: cache the openssl EC_GROUP to avoid a race condition for each CECKey instantiation (Cory Fields)
2015-08-20 16:33:50 +02:00
Daniel Kraft
e938122b7b Stop parsing JSON after first finished construct.
Fix https://github.com/bitcoin/bitcoin/issues/6558.  In particular, stop
parsing JSON after the first object or array is finished.  Check that no
other garbage follows, and fail the parser if it does.
2015-08-20 12:48:43 +02:00
Alex Morcos
1123cdbf4d add unit test for CNetAddr::GetGroup. 2015-08-19 17:06:42 -04:00
Cory Fields
1d1073c2d3 consensus: cache the openssl EC_GROUP to avoid a race condition for each CECKey instantiation 2015-08-19 14:25:01 -04:00
Wladimir J. van der Laan
ef30389e2a
Merge pull request #6544
c5c1edf Fix spelling mistake in -> if. (Mark Friedenbach)
e846b2a Correct a possibly intentional pun that is nevertheless hard to read: "two times of nLockTime." What is meant is that there are two kinds, or categories of nLockTime. (Mark Friedenbach)
2015-08-19 17:37:52 +02:00
Wladimir J. van der Laan
80cddbbba9
Merge pull request #6539
9f68ed6 typofixes (found by misspell_fixer) (Veres Lajos)
2015-08-19 17:28:00 +02:00
Wladimir J. van der Laan
a6f2affde8
Merge pull request #6565
fb08d92 Make sure we re-acquire lock if a task throws (Casey Rodarmor)
2015-08-19 16:27:40 +02:00
Wladimir J. van der Laan
e08a7d9d40
Merge pull request #6561
7bd57bb Add limitedmap test (Casey Rodarmor)
8b06894 Disallow unlimited limited maps (Casey Rodarmor)
fd2d862 Make limited map actually respect max size (Casey Rodarmor)
2015-08-19 15:45:14 +02:00
Wladimir J. van der Laan
0f0f323c9a
Merge pull request #6567
2016576 Fix crash when mining with empty keypool. (Daniel Kraft)
2015-08-19 15:07:38 +02:00
Casey Rodarmor
fb08d92312 Make sure we re-acquire lock if a task throws 2015-08-18 10:40:13 -04:00
Daniel Kraft
2016576998 Fix crash when mining with empty keypool.
Since the introduction of the ScriptForMining callback, the mining
functions (setgenerate and generate) crash with an assertion failure
(due to a NULL pointer script returned) if the keypool is empty.  Fix
this by giving a proper error.
2015-08-18 09:07:33 +02:00
Casey Rodarmor
7bd57bb1d7 Add limitedmap test 2015-08-17 12:15:32 -04:00
Casey Rodarmor
8b06894194 Disallow unlimited limited maps 2015-08-17 12:15:32 -04:00
Casey Rodarmor
fd2d862fbc Make limited map actually respect max size 2015-08-17 12:15:32 -04:00
Wladimir J. van der Laan
1e92b27540
Merge pull request #6553
183b8fb Add missing files to files.md (fanquake)
2015-08-17 17:06:24 +02:00
Wladimir J. van der Laan
39ddaeb8fe
Merge pull request #6551
243b80d Handle leveldb::DestroyDB() errors on wipe failure (Adam Weiss)
2015-08-17 16:52:57 +02:00
Wladimir J. van der Laan
bb4faee21e
Merge pull request #6509
45a6cce Fix race condition on test node shutdown (Casey Rodarmor)
2015-08-17 16:45:22 +02:00
Jeff Garzik
6feeec1ec5
Merge pull request #6013 2015-08-15 16:09:06 -04:00
Alex Morcos
bba3db1a40 Fix masking of irrelevant bits in address groups. 2015-08-14 14:25:19 -05:00
Wladimir J. van der Laan
ddd8d80c63
Merge pull request #6415
d042854 SQUASH "Implement watchonly support in fundrawtransaction" (Matt Corallo)
428a898 SQUASH "Add have-pubkey distinction to ISMINE flags" (Matt Corallo)
6bdb474 Implement watchonly support in fundrawtransaction (Matt Corallo)
f5813bd Add logic to track pubkeys as watch-only, not just scripts (Matt Corallo)
d3354c5 Add have-pubkey distinction to ISMINE flags (Matt Corallo)
5c17059 Update importaddress help to push its use to script-only (Matt Corallo)
a1d7df3 Add importpubkey method to import a watch-only pubkey (Matt Corallo)
907a425 Add p2sh option to importaddress to import redeemScripts (Matt Corallo)
983d2d9 Split up importaddress into helper functions (Matt Corallo)
cfc3dd3 Also remove pay-2-pubkey from watch when adding a priv key (Matt Corallo)
2015-08-14 16:28:37 +02:00
Pavel Janík
70180b2e57 Implement REST mempool API, add test and documentation. 2015-08-14 07:01:03 +02:00
fanquake
183b8fbeb0 Add missing files to files.md
typo
2015-08-13 22:54:55 +08:00
Adam Weiss
243b80d292 Handle leveldb::DestroyDB() errors on wipe failure
Add error checking to CLevelDBWrapper for errors from
leveldb::DestroyDB().  Without it, if unlink() or DeleteFileW() fail to
delete files, they will fail silent.  If they fail to delete any files,
CLevelDBWrapper will silently open and read the existing database.

Typically any permissions issues would be caught by leveldb as it churns
through many files as part of its compaction process, but it is
conceivable that this could cause problems on Windows with anti-virus
and indexing software.
2015-08-12 19:40:09 -04:00
Casey Rodarmor
45a6cce971 Fix race condition on test node shutdown 2015-08-12 11:02:43 -04:00
Wladimir J. van der Laan
87f37e259d
Merge pull request #6519
7f1f8f5 Move mempool rejections to new debug category (Wladimir J. van der Laan)
66daed5 Add information to errors in ConnectBlock, CheckBlock (Wladimir J. van der Laan)
6cab808 Remove most logging from transaction validation (Wladimir J. van der Laan)
9003c7c Add function to convert CValidationState to a human-readable message (Wladimir J. van der Laan)
dc58258 Introduce REJECT_INTERNAL codes for local AcceptToMempool errors (Wladimir J. van der Laan)
fbf44e6 Add debug message to CValidationState for optional extra information (Wladimir J. van der Laan)
2015-08-11 17:36:50 +02:00
Wladimir J. van der Laan
7f1f8f5edf Move mempool rejections to new debug category
Move mempool rejections to debug category `mempoolrej`, to make it possible
to show them without enabling the entire category `mempool` which is
high volume.
2015-08-11 17:29:34 +02:00
Wladimir J. van der Laan
66daed5e1b Add information to errors in ConnectBlock, CheckBlock
Add detailed state information to the errors, as it is no longer being
logged downstream.

Also add the state information to mempool rejection debug message in
ProcessMessages.
2015-08-11 17:29:34 +02:00
Wladimir J. van der Laan
6cab808272 Remove most logging from transaction validation
Remove unnecessary direct logging in CheckTransaction,
AcceptToMemoryPool, CheckTxInputs, CScriptCheck::operator()

All status information should be returned in the CValidationState.
Relevant debug information is also added to the CValidationState using
the recently introduced debug message.

Do keep the "BUG! PLEASE REPORT THIS! ConnectInputs failed against MANDATORY but not STANDARD flags"
error as it is meant to appear as bug in the log.
2015-08-11 17:29:34 +02:00
Wladimir J. van der Laan
9003c7cdd8 Add function to convert CValidationState to a human-readable message
It is necessary to be able to concisely log a validation state.
Convert CValidationState to a human-readable message for logging.
2015-08-11 17:29:33 +02:00
Wladimir J. van der Laan
dc58258adf Introduce REJECT_INTERNAL codes for local AcceptToMempool errors
Add status codes specific to AcceptToMempool procession of transactions.
These can never happen due to block validation, and must never be sent
over the P2P network. Add assertions where appropriate.
2015-08-11 17:29:33 +02:00
Pavel Janík
8be371db34 Do not store more than 200 timedata samples. 2015-08-11 15:57:52 +02:00
Mark Friedenbach
c5c1edfe60 Fix spelling mistake in -> if. 2015-08-10 18:09:59 -07:00
Mark Friedenbach
e846b2a1e9 Correct a possibly intentional pun that is nevertheless hard to read: "two times of nLockTime." What is meant is that there are two kinds, or categories of nLockTime. 2015-08-10 18:08:30 -07:00
Veres Lajos
9f68ed6b6d typofixes (found by misspell_fixer) 2015-08-10 22:06:27 +01:00
Pavel Janík
e0862c0933 Reformat validateaddress help, add missing iswatchonly description. 2015-08-10 20:10:56 +02:00
Tom Harding
212bcca920 Add optional locktime to createrawtransaction
A non-zero locktime also causes input sequences to be set to
non-max, activating the locktime.
2015-08-10 10:23:59 -07:00
Wladimir J. van der Laan
3eaaf71fe7
Merge pull request #6532
8778471 Update init doc to mention cookie authentication (fanquake)
2015-08-10 18:02:10 +02:00
fanquake
8778471dce Update init doc to mention cookie authentication 2015-08-10 23:56:37 +08:00
Wladimir J. van der Laan
6bb28058d3
Merge pull request #6346
627468d Add support for data-based outputs (OP_RETURN) to bitcoin-tx. (Pavel Janík)
d707853 Add OP_RETURN support in createrawtransaction RPC call, add tests. (Pavel Janík)
2015-08-10 17:53:07 +02:00
Wladimir J. van der Laan
0201a79299
Merge pull request #6512
fc25a87 Add note on relative paths, improve formatting (unsystemizer)
2015-08-10 17:46:49 +02:00
Wladimir J. van der Laan
6c1c7fdfd6
Merge pull request #6534
9493803 Revert "Revert "Assert on probable deadlocks if the second lock isnt try_lock"" (Cory Fields)
605433f locks: don't lock cs_wallet before making rpc calls (Cory Fields)
2015-08-10 17:38:25 +02:00
Wladimir J. van der Laan
ce37a04ee0
Merge pull request #6538
69c3bde Add some const declarations where they are appropriate. (Daniel Kraft)
2015-08-10 17:34:58 +02:00
Philip Kaufmann
be942def4b [Qt] add verifySize() function to PaymentServer
- add static verifySize() function to PaymentServer and move the logging
  on error into the function
- also use the new function in the unit test
- the function checks if the size is allowed as per BIP70
2015-08-10 14:12:15 +02:00
Philip Kaufmann
92684bb872 [Qt] minor optimisations in peertablemodel
- remove an unneeded include of net.h in peertablemodel.cpp
- add const after size() in PeerTablePriv
- remove 2x unneeded else in functions
- replace a (int) typecast by (QVariant) to use Qt style
- remove unneeded include of peertablemodel.h from rpcconsole.cpp
2015-08-10 14:11:25 +02:00
Matt Corallo
d04285430d SQUASH "Implement watchonly support in fundrawtransaction" 2015-08-08 09:30:53 -07:00
Matt Corallo
428a898acd SQUASH "Add have-pubkey distinction to ISMINE flags" 2015-08-08 09:30:53 -07:00
Daniel Kraft
69c3bde448 Add some const declarations where they are appropriate.
Declare some arguments of functions as "const" pointers where they are
not meant to be modified.
2015-08-08 18:18:41 +02:00
Cory Fields
9493803f4a Revert "Revert "Assert on probable deadlocks if the second lock isnt try_lock""
This reverts commit a4fe57da62.

The issue here should be fixed by the previous commit.
2015-08-07 16:18:16 -04:00
Cory Fields
605433ffb5 locks: don't lock cs_wallet before making rpc calls 2015-08-07 16:17:57 -04:00
Wladimir J. van der Laan
c0f66ce44a
Merge pull request #6529
54bd28f [Qt] show client user agent in debug window (Philip Kaufmann)
2015-08-07 17:37:09 +02:00
Philip Kaufmann
54bd28fa75 [Qt] show client user agent in debug window 2015-08-07 14:01:49 +02:00
Wladimir J. van der Laan
0c465f5e60
Merge pull request #4587
ed166df [Qt] allow users to set -onion via GUI (Philip Kaufmann)
2015-08-07 13:43:13 +02:00
Wladimir J. van der Laan
100c9d3994
Merge pull request #6505
df9c2ee [Qt] replace wifi icon with network symbol (Marco)
9142867 [QT] cleanup icons (Marco)
2015-08-07 12:57:17 +02:00
Wladimir J. van der Laan
e545371b77
Merge pull request #6377
c433828 Handle no chain tip available in InvalidChainFound() (Ross Nicoll)
2015-08-07 09:14:53 +02:00
Wladimir J. van der Laan
41d650ff92
Merge pull request #6527
231c560 Use unique name for AlertNotify tempfile (Casey Rodarmor)
2015-08-07 08:22:11 +02:00
Pavel Janík
627468d2ea Add support for data-based outputs (OP_RETURN) to bitcoin-tx. 2015-08-06 20:27:52 +02:00
Pavel Janík
d7078533eb Add OP_RETURN support in createrawtransaction RPC call, add tests. 2015-08-06 20:27:52 +02:00
Wladimir J. van der Laan
a4fe57da62
Revert "Assert on probable deadlocks if the second lock isnt try_lock"
Disabling this for now - too many intermittent Travis issues.

This reverts commit 0fcc4e1e04
(pull #5515).
2015-08-06 14:15:54 +02:00
Wladimir J. van der Laan
2f746c6e8a
Merge pull request #6177
ef8dfe4 Prevent block.nTime from decreasing (Mark Friedenbach)
2015-08-06 12:01:21 +02:00
Wladimir J. van der Laan
fbf44e6f3e Add debug message to CValidationState for optional extra information
Add a field `strDebugMessage` which can be passed to DoS or Invalid,
and queried using GetDebugMessage() to add extra troubleshooting
information to the validation state.
2015-08-06 09:47:01 +02:00
Casey Rodarmor
231c5601a1 Use unique name for AlertNotify tempfile 2015-08-05 23:12:26 -04:00
Wladimir J. van der Laan
149f96c9b0
Merge pull request #6521
75a8803 Add v0.11.0 release notes (Casey Rodarmor)
2015-08-05 19:15:50 +02:00
Wladimir J. van der Laan
a0625b8085
Merge pull request #5913
5922b67 Add assertion and cast before sending reject code (Wladimir J. van der Laan)
a651403 Add absurdly high fee message to validation state (for RPC propagation) (Shaul Kfir)
2015-08-05 19:12:48 +02:00
Wladimir J. van der Laan
5922b6774e Add assertion and cast before sending reject code
This gets rid of a warning. Add an assertion to make sure that the
reject code is in the correct range for the network protocol
(if it is outside the range it must be a bug)
2015-08-05 19:02:19 +02:00
Casey Rodarmor
75a8803901 Add v0.11.0 release notes 2015-08-05 11:22:14 -04:00
Wladimir J. van der Laan
c384800027
Merge pull request #6462
7b79cbd limit total length of user agent comments (Pavol Rusnak)
557f8ea implement uacomment config parameter which can add comments to user agent as per BIP-0014 (Pavol Rusnak)
2015-08-05 15:43:10 +02:00
Wladimir J. van der Laan
c9c017adf6
Merge pull request #6489
f261f19 Give a better error message if system clock is bad (Casey Rodarmor)
2015-08-05 10:23:01 +02:00
Wladimir J. van der Laan
9bb4dd850f
Merge pull request #6507
9f5edb9 Removed contrib/bitrpc (Casey Rodarmor)
2015-08-05 10:21:16 +02:00
Pavol Rusnak
7b79cbd722 limit total length of user agent comments
Reworked-By: Wladimir J. van der Laan <laanwj@gmail.com>
2015-08-05 09:38:20 +02:00
Pieter Wuille
586a29253d
Merge pull request #6503
19dd40a Consolidate individual references to the current maximum peer connection value of 125 into a single constant declaration. (Matt Quinn)
2015-08-04 19:43:30 +02:00
Marco
df9c2ee1c9 [Qt] replace wifi icon with network symbol 2015-08-04 16:53:30 +02:00
Marco
9142867572 [QT] cleanup icons
* Cleanup SVG code
* Unify design ("Typicons" seem to have round edges)
* Fix transparency issue with clock5.png
2015-08-04 12:06:12 +02:00
unsystemizer
fc25a8748e Add note on relative paths, improve formatting
Added "conf, pid, and wallet accept relative paths which are interpreted as relative to the data directory. wallet only supports relative paths."
2015-08-04 14:10:51 +08:00
Wladimir J. van der Laan
b6fee6b7c7
Merge pull request #6504
9ca7857 Rationalize currency unit to "BTC" (Ross Nicoll)
2015-08-04 01:24:19 +02:00
Ross Nicoll
9ca7857df7 Rationalize currency unit to "BTC"
Previously various user-facing strings have used inconsistent currency units "BTC",
"btc" and "bitcoins". This adds a single constant and uses it for each reference to
the currency unit.

Also adds a description of the unit for --maxtxfee, and adds the missing "amount"
field description to the (deprecated) move RPC command.
2015-08-03 22:58:30 +01:00
Matt Quinn
19dd40a25f Consolidate individual references to the current maximum peer connection
value of 125 into a single constant declaration.
2015-08-03 14:37:00 -07:00
Casey Rodarmor
2d8c49d126 Clean up tx prioritization when conflict mined 2015-08-03 15:49:01 -04:00
Casey Rodarmor
f261f19b4b Give a better error message if system clock is bad
Fixes #2007

This checks to see if the system clock appears to be bad and gives a
helpful error message. If the user's clock is set incorrectly, hopefully
they'll abort, fix it, and then save themselves a fruitless resync.
2015-08-03 15:11:52 -04:00
Wladimir J. van der Laan
219b916545
Merge pull request #6498
a8d0407 Move recentRejects initialization to top of InitBlockIndex (Wladimir J. van der Laan)
0847d9c Keep track of recently rejected transactions (Peter Todd)
d741371 Only use randomly created nonces in CRollingBloomFilter. (Pieter Wuille)
d2d7ee0 Make CRollingBloomFilter set nTweak for you (Peter Todd)
a3d65fe Reuse vector hashing code for uint256 (Pieter Wuille)
bbe4108 Add uint256 support to CRollingBloomFilter (Peter Todd)
2015-08-03 20:13:43 +02:00
Wladimir J. van der Laan
10ac38ed9f
Merge pull request #6284
c6455c7 doc: mention change to option parsing behavior in release notes (Wladimir J. van der Laan)
c38c49d Fix argument parsing oddity with -noX (Wladimir J. van der Laan)
2015-08-03 19:54:52 +02:00
Wladimir J. van der Laan
9e6c33b202
Merge pull request #6356
f0cba6f Delay initial pruning until after wallet init (Adam Weiss)
2015-08-03 19:34:50 +02:00
Casey Rodarmor
9f5edb970a Removed contrib/bitrpc
It's unclear if people are using this and if it's worth maintaining.
2015-08-03 13:02:49 -04:00
Wladimir J. van der Laan
a2bf40dde7
Merge pull request #6497
f18b8ec Make sure LogPrintf strings are line-terminated (Wladimir J. van der Laan)
2015-08-03 17:51:18 +02:00
Wladimir J. van der Laan
f18b8ec7cf Make sure LogPrintf strings are line-terminated
Fix the cases where LogPrint[f] was accidentally called without line
terminator, which resulted in concatenated log lines.

(see e.g. #6492)
2015-08-03 17:40:55 +02:00
Wladimir J. van der Laan
fee6554b52
Merge pull request #6501
31bfc27 build: make sure pkg-config checks are guarded by an m4_ifdef (Cory Fields)
d9add71 build: fix libressl detection (Cory Fields)
2015-08-03 15:30:15 +02:00
Cory Fields
31bfc272c7 build: make sure pkg-config checks are guarded by an m4_ifdef 2015-07-31 23:21:34 -04:00
Cory Fields
d9add71951 build: fix libressl detection
Checking libcrypto for a function after we've already found a (possibly
different) libcrypto is not what we want to do here.

pkg-config might've found a cross lib while AC_CHECK_LIB may find a different
or native one.

Run a link-test against the lib that's already been found instead.
2015-07-31 23:16:13 -04:00
Wladimir J. van der Laan
a8d0407c4f Move recentRejects initialization to top of InitBlockIndex
This avoids that premature return in the condition that a new chain is initialized
results in NULL pointer errors due to recentReject not being constructed.

Also add assertions where it is used.
2015-07-31 17:58:12 +02:00
Pavol Rusnak
557f8eac7a implement uacomment config parameter
which can add comments to user agent as per BIP-0014
2015-07-31 16:19:23 +02:00
Wladimir J. van der Laan
86cfd23f68
Merge pull request #6473
5fb5c9b Clean up chainparams some more. (Daniel Kraft)
2015-07-31 10:10:55 +02:00
Wladimir J. van der Laan
9848d4297b
Merge pull request #6487
eec7757 qt: Introduce PlatformStyle (Wladimir J. van der Laan)
2015-07-31 10:06:49 +02:00
Wladimir J. van der Laan
eec7757445 qt: Introduce PlatformStyle
Introduce a PlatformStyle to handle platform-specific customization of
the UI.

This replaces 'scicon', as well as #ifdefs to determine whether to place
icons on buttons.

The selected PlatformStyle defaults to the platform that the application
was compiled on, but can be overridden from the command line with
`-uiplatform=<x>`.

Also fixes the warning from #6328.
2015-07-31 09:35:18 +02:00
mruddy
af3208bfa6 Resolve issue 3166.
These changes decode valid SIGHASH types on signatures in assembly (asm) representations of scriptSig scripts.
This squashed commit incorporates substantial helpful feedback from jtimon, laanwj, and sipa.
2015-07-30 19:56:00 -04:00
Daniel Kraft
5fb5c9b213 Clean up chainparams some more.
Clean up the code in chainparams a bit more after the recent
refactorings.  In particular, make sure the structure of the "RegTest"
params matches the structure of the other classes.  This makes the code
clearer to read.

Also remove redundant values of the genesis block in always-specified
optional arguments and mark variable/argument as "const".
2015-07-29 21:13:36 +02:00
Wladimir J. van der Laan
675d2feffa
Merge pull request #6224
59b49cd Eliminate signed/unsigned comparison warning (Suhas Daftuar)
04b5d23 Replace sleep with syncing using pings (Suhas Daftuar)
6b1066f Ignore whitelisting during IBD for unrequested blocks. (Suhas Daftuar)
bfc30b3 Ignore unrequested blocks too far ahead of tip (Suhas Daftuar)
2015-07-29 20:04:15 +02:00
Adam Weiss
f0cba6f8eb Delay initial pruning until after wallet init
Don't prune until any wallet rescanning has taken place to avoid
potentially pruning blocks that the wallet rescan may need.
2015-07-29 14:00:25 -04:00
Wladimir J. van der Laan
7cbed7fa28
Merge pull request #6488
17ac0f4 Avoid leaking file descriptors in RegisterLoad (Casey Rodarmor)
2015-07-29 18:59:23 +02:00
Peter Todd
0847d9cb5f
Keep track of recently rejected transactions
Nodes can have divergent policies on which transactions they will accept
and relay.  This can cause you to repeatedly request and reject the same
tx after its inved to you from various peers which have accepted it.
Here we add rolling bloom filter to keep track of such rejections,
clearing the filter every time the chain tip changes.

Credit goes to Alex Morcos, who created the patch that this code is
based on.

Original code by Peter Todd. Refactored to not construct the
filter at startup time by Pieter Wuille.
2015-07-28 15:50:13 -04:00
Cory Fields
17221bf77e chainparams: don't use std namespace 2015-07-28 15:33:33 -04:00
Cory Fields
f0deec572b chainparams: move CCheckpointData into chainparams.h
This unties CChainParams from its dependency on checkpoints. Instead, now it
only depends on the raw checkpoint data.
2015-07-28 15:26:50 -04:00
Pieter Wuille
eddaba7b56
Revert "Cache transaction validation successes"
This reverts commit 17b11428c1.
2015-07-28 20:15:00 +02:00
Casey Rodarmor
17ac0f4025 Avoid leaking file descriptors in RegisterLoad
This is pretty trivial, but if there's an error here we'll leak a file
descriptor. Changed it to always close the file.
2015-07-28 14:01:00 -04:00
Wladimir J. van der Laan
1369d699b6
Merge pull request #6484
5e56ef5 qt: use CHashWriter also in SignVerifyMessageDialog (Pavel Vasin)
2015-07-28 11:05:32 +02:00
Pavel Vasin
5e56ef5152 qt: use CHashWriter also in SignVerifyMessageDialog
This eliminates unnecessary copying of data being hashed.
2015-07-28 10:59:16 +03:00
Pieter Wuille
d741371d7d Only use randomly created nonces in CRollingBloomFilter. 2015-07-27 19:09:39 +02:00
Peter Todd
d2d7ee0e86 Make CRollingBloomFilter set nTweak for you
While CBloomFilter is usually used with an explicitly set nTweak,
CRollingBloomFilter is only used internally. Requiring every caller to
set nTweak is error-prone and redundant; better to have the class handle
that for you with a high-quality randomness source.

Additionally when clearing the filter it makes sense to change nTweak as
well to recover from a bad setting, e.g. due to insufficient randomness
at initialization, so the clear() method is replaced by a reset() method
that sets a new, random, nTweak value.
2015-07-27 18:38:49 +02:00
Pieter Wuille
a3d65fedaa Reuse vector hashing code for uint256 2015-07-27 18:38:45 +02:00
Peter Todd
bbe41088c6 Add uint256 support to CRollingBloomFilter 2015-07-27 18:37:18 +02:00
Wladimir J. van der Laan
08e9c57ba2
Merge pull request #6077
517e6dd Unit test doublespends in new blocks (Gavin Andresen)
17b1142 Cache transaction validation successes (Pieter Wuille)
2015-07-27 16:31:07 +02:00
Gavin Andresen
517e6dd256 Unit test doublespends in new blocks
As suggested by Greg Maxwell-- unit test to make sure a block
with a double-spend in it doesn't pass validation if half of
the double-spend is already in the memory pool (so full-blown
transaction validation is skipped) when the block is received.
2015-07-27 15:50:21 +02:00
Pieter Wuille
17b11428c1 Cache transaction validation successes 2015-07-27 15:28:43 +02:00
Wladimir J. van der Laan
c6455c77ab doc: mention change to option parsing behavior in release notes 2015-07-27 14:55:15 +02:00
Wladimir J. van der Laan
c38c49d0b7 Fix argument parsing oddity with -noX
`bitcoind -X -noX` ends up, unintuitively, with `X` set.
(for all boolean options X)

This result is due to the odd two-pass processing of arguments. This
patch fixes this oddity and simplifies the code at the same time.
2015-07-27 14:47:54 +02:00
Wladimir J. van der Laan
ca37e0f339
Merge pull request #5697
60c8bac Includes: Cleanup around net main and wallet (Jorge Timón)
9dd793f TRIVIAL: Missing includes (Jorge Timón)
2015-07-27 14:40:29 +02:00
Wladimir J. van der Laan
240b30eaf0
Merge pull request #6380
9127e97 doc: Mention RPC strings for monetary amounts in release notes (Wladimir J. van der Laan)
7d226b7 [QA] add testcases for parsing strings as values (Jonas Schnelli)
614601b rpc: Accept strings in AmountFromValue (Wladimir J. van der Laan)
2015-07-27 14:22:42 +02:00
Wladimir J. van der Laan
9127e9766a doc: Mention RPC strings for monetary amounts in release notes
Add a section "low level RPC API changes" so that the changes with
regard to error codes can be added later.
2015-07-27 13:57:24 +02:00
Jonas Schnelli
7d226b7ca0 [QA] add testcases for parsing strings as values 2015-07-27 13:55:46 +02:00
Wladimir J. van der Laan
614601be8f rpc: Accept strings in AmountFromValue
Accept strings containing decimal values, in addition to bare values.

Useful from JSON-RPC implementations where it's not possible to have
direct control over the text of numbers (e.g. where numbers are always
doubles), and it's still desired to send an exact value.

This would allow users to post JSON content with numbers encoded like
`{"value": "0.00000001"}` instead of `{"value": 0.00000001}` which some
php/python encoders wrap into 1e-8, or worse.
2015-07-27 13:55:46 +02:00
Wladimir J. van der Laan
d43297c5ba
Merge pull request #6468
6f8b6d3 don't try to decode invalid encoded ext keys (Jonas Schnelli)
8d2af54 extend bip32 tests to cover Base58c/CExtKey decode (Jonas Schnelli)
7cb1f9f fix and extend CBitcoinExtKeyBase template (Jonas Schnelli)
2015-07-27 13:20:54 +02:00
Wladimir J. van der Laan
f6850d58f7
Merge pull request #6471
060b3d3 fixup: qt 5.5 snuck in another module that needs path hand-holding (Cory Fields)
ecd6a89 depends: make more qt flags explicit (Cory Fields)
ab67dd7 depends: bump to qt 5.5 (Cory Fields)
5189fe3 depends: split qt config options to separate lines (Jacob Welsh)
fe997df build: fix building against qt5.4/5.5 (Cory Fields)
2015-07-27 12:28:42 +02:00
Cory Fields
060b3d377b fixup: qt 5.5 snuck in another module that needs path hand-holding 2015-07-27 12:25:28 +02:00
Cory Fields
ecd6a89381 depends: make more qt flags explicit 2015-07-27 12:25:28 +02:00
Jonas Schnelli
6f8b6d339b don't try to decode invalid encoded ext keys 2015-07-25 09:51:52 +02:00
Philip Kaufmann
ed166dfa82 [Qt] allow users to set -onion via GUI
- also allow users to see, if the default proxy (-proxy) is used for
  reaching peers via IPv6 or Tor
2015-07-24 12:28:06 +02:00
Wladimir J. van der Laan
bfd807ff32
Merge pull request #6456
ec249d4 util: use locale-independent parsing in ParseDouble (Wladimir J. van der Laan)
7650449 univalue: Avoid unnecessary roundtrip through double for numbers (Wladimir J. van der Laan)
e061e27 rpc: Make ValueFromAmount always return 8 decimals (Wladimir J. van der Laan)
2015-07-24 11:08:52 +02:00
Wladimir J. van der Laan
410fd7448a
Merge pull request #6465
56b28fc Don't share objects between TestInstances (Casey Rodarmor)
2015-07-24 10:59:45 +02:00
Cory Fields
ab67dd7818 depends: bump to qt 5.5 2015-07-23 21:10:35 -04:00
Jacob Welsh
5189fe3d88 depends: split qt config options to separate lines
Helps ease of reading and comparison. Removed some duplicates.
2015-07-23 21:10:35 -04:00
Cory Fields
fe997dfd12 build: fix building against qt5.4/5.5 2015-07-23 21:10:35 -04:00
Jorge Timón
60c8bac77c Includes: Cleanup around net main and wallet
-Move from .h to .cpp: in main, net and wallet
-Remove unnecessary #include "main.h"
-Cleanup some wallet files includes
2015-07-23 21:10:26 +02:00
Jorge Timón
9dd793f499 TRIVIAL: Missing includes 2015-07-23 21:10:22 +02:00
Wladimir J. van der Laan
d2464dfee9
Merge pull request #6287
a794284 locking: add a quick example of GUARDED_BY (Cory Fields)
2b890dd locking: fix a few small issues uncovered by -Wthread-safety (Cory Fields)
cd27bba locking: teach Clang's -Wthread-safety to cope with our scoped lock macros (Cory Fields)
2015-07-23 18:45:26 +02:00
Wladimir J. van der Laan
d946e9a848
Merge pull request #5515
0fcc4e1 Assert on probable deadlocks if the second lock isnt try_lock (Matt Corallo)
2015-07-23 18:34:35 +02:00
Jonas Schnelli
8d2af54ecc extend bip32 tests to cover Base58c/CExtKey decode 2015-07-23 16:32:31 +02:00
Jonas Schnelli
7cb1f9f7eb fix and extend CBitcoinExtKeyBase template
- fix Decode call (req. only one param)
- add constructor for base58c->CExtKey
2015-07-23 16:32:21 +02:00
Matt Corallo
0fcc4e1e04 Assert on probable deadlocks if the second lock isnt try_lock 2015-07-22 16:49:54 -07:00
Ross Nicoll
c433828df9 Handle no chain tip available in InvalidChainFound()
Handle the case where no chain tip is available, in InvalidChainFound(). This fixes a null pointer deference when running unit tests, if the genesis block or block validation code is broken.
2015-07-22 21:10:09 +00:00
Wladimir J. van der Laan
633fe10869
Merge pull request #6149
27d7605 Buffer log messages and explicitly open logs (Adam Weiss)
2015-07-22 18:24:20 +02:00
Casey Rodarmor
56b28fca46 Don't share objects between TestInstances 2015-07-22 12:03:16 -04:00
Wladimir J. van der Laan
45d1f5932b
Merge pull request #6381
c4973aa Chainparams: CTestNetParams and CRegTestParams extend directly from CChainParams (Jorge Timón)
d3cf546 Chainparams: Introduce CreateGenesisBlock() static function (Jorge Timón)
2015-07-21 13:29:16 +02:00
Wladimir J. van der Laan
24f6928192
Merge pull request #6400
1327897 Reformat help text of estimatefee and estimatepriority to match other help texts. (Pavel Janík)
2015-07-21 12:49:41 +02:00
Wladimir J. van der Laan
24ce77d775
Merge pull request #6444
0aad1f1 Exempt unspendable transaction outputs from dust checks (zathras-crypto)
2015-07-21 11:47:57 +02:00
Matt Corallo
6bdb474dc9 Implement watchonly support in fundrawtransaction
Some code and test cases stolen from
Bryan Bishop <bryan@ledgerx.com> (pull #5524).
2015-07-20 16:01:38 -07:00
Matt Corallo
f5813bdd3e Add logic to track pubkeys as watch-only, not just scripts 2015-07-20 16:01:37 -07:00
Matt Corallo
d3354c52d7 Add have-pubkey distinction to ISMINE flags
This indicates that, eg, we have a public key for a key which may
be used as a pay-to-pubkey-hash. It generally means that we can
create a valid scriptSig except for missing private key(s) with
which to create signatures.
2015-07-20 16:01:37 -07:00
Matt Corallo
5c17059872 Update importaddress help to push its use to script-only 2015-07-20 16:01:37 -07:00
Matt Corallo
a1d7df3236 Add importpubkey method to import a watch-only pubkey 2015-07-20 16:01:37 -07:00
Matt Corallo
907a425aa5 Add p2sh option to importaddress to import redeemScripts 2015-07-20 16:01:37 -07:00
Matt Corallo
983d2d90af Split up importaddress into helper functions 2015-07-20 16:01:37 -07:00
Matt Corallo
cfc3dd3428 Also remove pay-2-pubkey from watch when adding a priv key 2015-07-20 16:01:37 -07:00
Pavel Janík
1327897aee Reformat help text of estimatefee and estimatepriority to match other help texts. 2015-07-20 19:32:38 +02:00
Wladimir J. van der Laan
6d6b11e793
Merge pull request #6408
dca6040 [Qt] remove std namespace polution from code (Philip Kaufmann)
2015-07-20 18:00:32 +02:00
Wladimir J. van der Laan
8fe5cce3d5
Merge pull request #6453
9e38d0f Separate core memory usage computation in core_memusage.h (Pieter Wuille)
2015-07-20 17:57:37 +02:00
Pieter Wuille
9e38d0f745 Separate core memory usage computation in core_memusage.h 2015-07-20 11:17:53 -04:00
Wladimir J. van der Laan
89289d875d
Fix warning introduced by #6412
SOCKET are defined as unsigned integers, thus always >=0.
2015-07-20 17:10:02 +02:00
Wladimir J. van der Laan
1a2de3237f
Merge pull request #6412
d422f9b Test whether created sockets are select()able (Pieter Wuille)
2015-07-20 16:54:28 +02:00
Wladimir J. van der Laan
dc51608c9c
Merge pull request #6447
2cb8ee9 remove unused inv from ConnectTip() (Pavel Vasin)
2015-07-20 16:43:07 +02:00
Wladimir J. van der Laan
3c923e8975
Merge pull request #6457
0ef9858 Documenting pruned, pruneheight and softforks in getblockchaininfo (Simon Males)
0c89579 Include pruned state in chaininfo.json (Simon Males)
2015-07-20 10:49:02 +02:00
Simon Males
0ef9858707 Documenting pruned, pruneheight and softforks in getblockchaininfo 2015-07-19 14:07:35 +02:00
zathras-crypto
0aad1f13b2
Exempt unspendable transaction outputs from dust checks
Since unspendable outputs can't be spent, there is no threshold at which it would be uneconomic to spend them.

This primarily targets transaction outputs with `OP_RETURN`.

---

Initially based on:

commit 9cf0ae26350033d43d5dd3c95054c0d1b1641eda
Author: zathras-crypto <zathrasc@gmail.com>
Date:   Wed Mar 25 02:04:02 2015 -0700

Changes:

- cherry-picked on top of bitcoin:master
- added RPC test for fundrawtransaction
2015-07-18 17:31:55 +02:00
Simon Males
0c895799c8 Include pruned state in chaininfo.json 2015-07-18 10:32:09 +02:00
Wladimir J. van der Laan
ec249d4a1d util: use locale-independent parsing in ParseDouble
Use locale-indepent C++ based parsing instead of C's strtod,
which checks for different input based on the user's locale.
Fixes #6443.
2015-07-18 09:04:18 +02:00
Wladimir J. van der Laan
7650449a67 univalue: Avoid unnecessary roundtrip through double for numbers
JSON makes no distinction between numbers and reals, and our code
doesn't need to do so either.

This removes VREAL, as well as its specific post-processing in
`UniValue::write`. Non-monetary amounts do not need to be forcibly
formatted with 8 decimals, so the extra roundtrip was unnecessary
(and potentially loses precision).
2015-07-18 09:04:18 +02:00
Wladimir J. van der Laan
e061e2778d rpc: Make ValueFromAmount always return 8 decimals
This is the format that was always returned to JSON clients.
The difference was not noticed before, because VREAL values
are post-processed by univalue.

By implementing the functionality directly it breaks the dependency
of rpcserver on utilmoneystr. FormatMoney is now only used for debugging
purposes.

To test, port over the formatting tests from util_tests.cpp to
rpc_tests.cpp.
2015-07-18 09:03:59 +02:00
Wladimir J. van der Laan
dcc495e011
Merge pull request #6372
e3c4297 Update Linearize tool to support Windows paths (Paul Georgiou)
2015-07-17 22:02:45 +02:00
Wladimir J. van der Laan
fe3fe547f7
Merge pull request #6439
09d4ddf Updated URL location of netinstall for Debian (฿tcDrak)
2015-07-17 09:01:11 +02:00
Wladimir J. van der Laan
7ed3d93294
Merge pull request #6442
6d6cec3 Create centaur1-key.pgp (centaur1)
2015-07-17 08:55:28 +02:00
Wladimir J. van der Laan
059b3525c4
Merge pull request #6434
83b48c8 configure --enable-debug changes (Gavin Andresen)
2015-07-17 08:42:19 +02:00
Wladimir J. van der Laan
b01981e758
Merge pull request #6430
3361edd doc: Add NBitcoin to bitcoinconsensus examples (Braydon Fuller)
b1bac4e Add description for bitcoinconsensus_ERR_OK (Braydon Fuller)
c156ada doc: add documentation for shared library libbitcoinconsensus (Braydon Fuller)
2015-07-17 08:38:42 +02:00
Philip Kaufmann
dca6040a86 [Qt] remove std namespace polution from code 2015-07-16 11:54:28 +02:00
Pavel Vasin
2cb8ee9ac7 remove unused inv from ConnectTip() 2015-07-16 12:31:36 +03:00
Gavin Andresen
83b48c8971
configure --enable-debug changes
Three changes to how configure --enable-debug behaves:

1. Preserve user-passed CXXFLAGS/CFLAGS
2. Compile with -DDEBUG_LOCKORDER
3. Add -DDEBUG -DDEBUG_LOCKORDER to CPPFLAGS (since they are preprocessor options)
2015-07-15 14:05:50 -04:00
centaur1
6d6cec3838 Create centaur1-key.pgp 2015-07-15 13:00:32 -04:00
Wladimir J. van der Laan
ed789ceade
Merge pull request #6438
d4b1d5a openssl: avoid config file load/race (Cory Fields)
2015-07-15 15:49:45 +02:00
Wladimir J. van der Laan
5bdc218ee2
Merge pull request #6440
db42558 Remove bash test note from rpc-tests readme (fanquake)
2015-07-15 15:13:39 +02:00
Wladimir J. van der Laan
ce183dce2e
qt: update forgotten emit to Q_EMIT in macdockiconhandler.mm
Leftover from #6433
2015-07-15 15:09:31 +02:00
Braydon Fuller
3361edd010 doc: Add NBitcoin to bitcoinconsensus examples 2015-07-15 08:40:18 -04:00
Wladimir J. van der Laan
1ae3196c38
Merge pull request #6373
eb4f35d depends: bump qrencode to 3.4.4 (Cory Fields)
142ee60 depends: bump protobuf to 2.6.1 (Cory Fields)
d5b1851 depends: bump ccache to 3.2.2 (Cory Fields)
00c5a73 depends: bump miniupnpc to 1.9.20150609 (Cory Fields)
4bdad99 depends: bump boost to 1.58.0 (Cory Fields)
2015-07-15 10:59:48 +02:00
fanquake
db42558b82 Remove bash test note from rpc-tests readme 2015-07-15 16:28:49 +08:00
Wladimir J. van der Laan
849137560a
Merge pull request #6413
9fbca20 doc: Remove recommendation to add old repos for libd4.8* (tailsjoin)
2015-07-15 09:21:08 +02:00
tailsjoin
9fbca205d4 doc: Remove recommendation to add old repos for libd4.8*
It is unreasonable to ask to change the global package configuration
just to build a package. Not only that, this is potentially harmful to the system.

Also do a few punctuation fixes in REST-interface.md.
2015-07-15 09:20:51 +02:00
Wladimir J. van der Laan
11edb0de5b
Merge pull request #6433
d29ec6c qt: define QT_NO_KEYWORDS (Wladimir J. van der Laan)
2015-07-15 08:26:56 +02:00
Wladimir J. van der Laan
d29ec6c230 qt: define QT_NO_KEYWORDS
QT_NO_KEYWORDS prevents Qt from defining the `foreach`, `signals`,
`slots` and `emit` macros.

Avoid overlap between Qt macros and boost - for example #undef hackiness
in #6421.
2015-07-15 07:30:23 +02:00
Braydon Fuller
b1bac4ea49 Add description for bitcoinconsensus_ERR_OK 2015-07-14 21:44:03 -04:00
฿tcDrak
09d4ddf1c5 Updated URL location of netinstall for Debian 2015-07-14 23:33:49 +01:00
Cory Fields
d4b1d5a8ba openssl: avoid config file load/race 2015-07-14 17:54:04 -04:00
Wladimir J. van der Laan
fd5dfda939
Merge pull request #6388
0937290 doc: mention RPC random cookie authentication in release notes (Wladimir J. van der Laan)
71cbeaa rpc: Implement random-cookie based authentication (Wladimir J. van der Laan)
2015-07-14 13:06:01 +02:00
Wladimir J. van der Laan
bb59e7890c
Merge pull request #6428
ffad5aa tests: Remove old sh-based test framework (Wladimir J. van der Laan)
2015-07-14 13:00:00 +02:00
Wladimir J. van der Laan
d4a910c31e
Merge pull request #6418
60d5432 Add autogen.sh to source tarball. (randy-waterhouse)
2015-07-14 12:59:20 +02:00
Braydon Fuller
c156adac53 doc: add documentation for shared library libbitcoinconsensus 2015-07-13 12:22:55 -04:00
Wladimir J. van der Laan
0937290553 doc: mention RPC random cookie authentication in release notes 2015-07-13 13:34:26 +02:00
Wladimir J. van der Laan
71cbeaad9a rpc: Implement random-cookie based authentication
When no `-rpcpassword` is specified, use a special 'cookie' file for
authentication. This file is generated with random content when the
daemon starts, and deleted when it exits. Read access to this file
controls who can access through RPC. By default this file is stored in
the data directory but it be overriden with `-rpccookiefile`.

This is similar to Tor CookieAuthentication: see
https://www.torproject.org/docs/tor-manual.html.en

Alternative to #6258. Like that pull, this allows running bitcoind
without any manual configuration. However, daemons should ideally never write to
their configuration files, so I prefer this solution.
2015-07-13 13:11:41 +02:00
Wladimir J. van der Laan
3d9362d5ac
Merge pull request #6398
85ee55b rpc: Remove chain-specific RequireRPCPassword (Wladimir J. van der Laan)
2015-07-13 12:55:06 +02:00
Wladimir J. van der Laan
ffad5aa1f4 tests: Remove old sh-based test framework
This removes the `conflictedbalance.sh` test as well, but that test has
been broken for a long time and isn't part of any scripts.
What it does is, IMO, sufficiently tested by other tests.
2015-07-13 08:50:16 +02:00
Wladimir J. van der Laan
44fa82d47e
Merge pull request #6417
9da8fc8 [QA] remove rawtransactions.py from the extended test list (Jonas Schnelli)
6ed38b0 [QA] fix possible reorg issue in rawtransaction.py/fundrawtransaction.py RPC test (Jonas Schnelli)
2015-07-13 08:27:34 +02:00
Jorge Timón
c4973aaaf6 Chainparams: CTestNetParams and CRegTestParams extend directly from CChainParams
...instead of CMainParams and CTestNetParams respectively

Do the same for CBaseChainParams.
The inheritance was only reducing readibility in this case
2015-07-12 11:13:47 +02:00
Jorge Timón
d3cf546ec2 Chainparams: Introduce CreateGenesisBlock() static function 2015-07-12 11:03:06 +02:00
Wladimir J. van der Laan
7cdefb927e
Merge pull request #6410
5098c47 Implement accurate memory accounting for mempool (Pieter Wuille)
2015-07-11 15:47:43 +02:00
Suhas Daftuar
59b49cd074 Eliminate signed/unsigned comparison warning 2015-07-11 07:05:18 -04:00
randy-waterhouse
60d5432697 Add autogen.sh to source tarball. 2015-07-11 15:39:45 +12:00
Jonas Schnelli
9da8fc8f26 [QA] remove rawtransactions.py from the extended test list
rawtransactions.py is already in the standard test list
2015-07-10 22:01:41 +02:00
Jonas Schnelli
6ed38b0b8f [QA] fix possible reorg issue in rawtransaction.py/fundrawtransaction.py RPC test
- added missing mempool sync between block generations
2015-07-10 21:13:33 +02:00
Wladimir J. van der Laan
5121c68657
Merge pull request #6414
8a0b933 Fix intermittent test failure, reduce test time (Tom Harding)
2015-07-10 18:52:43 +02:00
Paul Georgiou
e3c42973b2 Update Linearize tool to support Windows paths 2015-07-10 19:21:21 +03:00
Pieter Wuille
d422f9b1fd Test whether created sockets are select()able 2015-07-10 12:05:09 -04:00
Wladimir J. van der Laan
fac21df5f0
Merge pull request #6370
6ebac07 Remove ChainParams::DefaultMinerThreads (Wladimir J. van der Laan)
2015-07-10 17:12:40 +02:00
Wladimir J. van der Laan
c52e8b300a
Merge pull request #6379
9cc9152 rpc: Accept scientific notation for monetary amounts in JSON (Wladimir J. van der Laan)
2015-07-10 16:50:46 +02:00
Pieter Wuille
5098c47b24 Implement accurate memory accounting for mempool 2015-07-10 10:49:31 -04:00
Wladimir J. van der Laan
9cc91523db rpc: Accept scientific notation for monetary amounts in JSON
Add a function `ParseFixedPoint` that parses numbers according
to the JSON number specification and returns a 64-bit integer.

Then this in `AmountFromValue`, rather than `ParseMoney`.

Also add lots of tests (thanks to @jonasschnelli for some of them).

Fixes issue #6297.
2015-07-10 15:43:26 +02:00
Wladimir J. van der Laan
943b322d5d
Merge pull request #5486
c45c7ea [REST] add JSON support for /rest/headers/ (Jonas Schnelli)
2015-07-10 15:25:51 +02:00
Wladimir J. van der Laan
445220544e
Merge pull request #5288
e3cae52 Added -whiteconnections=<n> option (Josh Lehan)
2015-07-10 15:07:15 +02:00
Wladimir J. van der Laan
85ee55b5c3 rpc: Remove chain-specific RequireRPCPassword
I've never liked the chain-specific exception to having to set a
password. It gives issues with #6388 which makes it valid to
set no password in every case (as it enables random cookie authentication).

This pull removes the flag, so that all chains are regarded the same.

It also removes the username==password test, which doesn't provide any
substantial extra security.
2015-07-10 15:01:55 +02:00
Wladimir J. van der Laan
708037fcc7
Merge pull request #6384
15e26a6 qt: Force TLS1.0+ for SSL connections (Wladimir J. van der Laan)
2015-07-10 15:00:01 +02:00
Wladimir J. van der Laan
6db53b4332
Merge pull request #6401
8c44e63 Add BITCOIND_SIGTERM_TIMEOUT to OpenRC init scripts (Florian Schmaus)
2015-07-10 14:32:28 +02:00
Tom Harding
8a0b933aae Fix intermittent test failure, reduce test time
In txn_clone.py, non-essential test transaction tx2 was asserted
to be unconfirmed, but would occasionally confirm depending on
network behavior.  Fix by explicitly sharing with miner and
checking for 1 confirmation.

Reduce required conflict tests from 4 to 2, by moving one invocation
each of txn_clone.py and txn_doublespend.py to the extented test
section.  This saves about 15 seconds per test run for me.
2015-07-09 18:10:57 -07:00
Wladimir J. van der Laan
7fc25c2e5d
Merge pull request #6368
cb54d17 CLTV: Add more tests to improve coverage (Esteban Ordano)
2015-07-09 11:20:17 +02:00
Wladimir J. van der Laan
aa565327ec
Merge pull request #6378
5e058e7 [Qt] constify foreach uses where possible (Philip Kaufmann)
2015-07-09 10:54:21 +02:00
Florian Schmaus
8c44e63077 Add BITCOIND_SIGTERM_TIMEOUT to OpenRC init scripts
This allows users to specify, e.g. raise, the default timeout of 60
seconds. Some bitcoind instances, especially long running ones on slow
hardware, require a higher timeout for a clean shut down.

Also add a comment to bitcoind.openrc's 'retry=', since it is not
obvious from the variable name what it does.
2015-07-08 22:53:22 +02:00
Wladimir J. van der Laan
11576a57d2
Merge pull request #6387
65ce021 [bitcoin-cli] improve error output (Jonas Schnelli)
2015-07-08 13:39:57 +02:00
Wladimir J. van der Laan
6a73d66883
Merge pull request #6390
133601f tests: Fix bitcoin-tx signing testcase (Wladimir J. van der Laan)
2015-07-08 13:36:07 +02:00
Wladimir J. van der Laan
133601f6a5 tests: Fix bitcoin-tx signing testcase
Fixes wrong scriptPubkey problem, which caused the transaction to
not actually be signed.
2015-07-07 18:26:38 +02:00
Jonas Schnelli
65ce0215a4 [bitcoin-cli] improve error output 2015-07-07 17:25:56 +02:00
Philip Kaufmann
5e058e7417 [Qt] constify foreach uses where possible
- this doesn't replace BOOST_FOREACH, it just makes used arguments const
  where possible
2015-07-07 06:53:43 +02:00
Adam Weiss
27d7605804 Buffer log messages and explicitly open logs
Prevents stomping on debug logs in datadirs that are locked by other
instances and lost parameter interaction messages that can get wiped by
ShrinkDebugFile().

The log is now opened explicitly and all emitted messages are buffered
until this open occurs.  The version message and log cut have also been
moved to the earliest possible sensible location.
2015-07-06 21:54:31 -04:00
Esteban Ordano
cb54d17355 CLTV: Add more tests to improve coverage
Four cases included:

* The CLTV operand type mismatches the tx locktime. In the script it is
  1 (interpreted as block height), but in the tx is 500000000
  (interpreted as date)
* The stack is empty when executing OP_CLTV
* The tx is final by having only one input with MAX_INT sequence number
* The operand for CLTV is negative (after OP_0 OP_1 OP_SUB)
2015-07-06 13:09:37 -07:00
Wladimir J. van der Laan
15e26a6a9a qt: Force TLS1.0+ for SSL connections 2015-07-06 20:06:16 +02:00
Wladimir J. van der Laan
086cb336cd
Merge pull request #6365
5a7304b Move recently introduced CTransAction::IsEquivalentTo to CWalletTx (Wladimir J. van der Laan)
2015-07-06 19:11:14 +02:00
Wladimir J. van der Laan
9546a977d3
Merge pull request #6335
9238ecb Policy: MOVEONLY: 3 functions to policy.o: (Luke Dashjr)
627b9de Policy: MOVEONLY: Create policy/policy.h with some constants (Jorge Timón)
2015-07-06 18:54:20 +02:00
Jonas Schnelli
c45c7ea0fa [REST] add JSON support for /rest/headers/ 2015-07-05 15:48:33 +02:00
Cory Fields
eb4f35dc7d depends: bump qrencode to 3.4.4 2015-07-03 17:21:55 -04:00
Cory Fields
142ee60a89 depends: bump protobuf to 2.6.1
Also change the download source from googlecode to github.
2015-07-03 12:59:13 -04:00
Cory Fields
d5b1851743 depends: bump ccache to 3.2.2 2015-07-03 12:59:13 -04:00
Cory Fields
00c5a73136 depends: bump miniupnpc to 1.9.20150609 2015-07-03 12:59:13 -04:00
Cory Fields
4bdad99f50 depends: bump boost to 1.58.0 2015-07-03 12:59:13 -04:00
Wladimir J. van der Laan
6ebac0782f Remove ChainParams::DefaultMinerThreads
No longer relevant after #5957. This hack existed because of another
hack where the numthreads parameter, on regtest, doubled as how many
blocks to generate.
2015-07-03 16:46:20 +02:00
Wladimir J. van der Laan
d0a10c1959
Merge pull request #6329
0c37634 acceptnonstdtxn option to skip (most) "non-standard transaction" checks, for testnet/regtest only (Luke Dashjr)
2015-07-03 14:00:06 +02:00
Luke Dashjr
0c376340a4 acceptnonstdtxn option to skip (most) "non-standard transaction" checks, for testnet/regtest only 2015-07-03 08:29:16 +00:00
Wladimir J. van der Laan
5bd26efbf6
Merge pull request #6369
dae0a89 assets-attribution: Update typicons to MIT license (Luke Dashjr)
2015-07-03 09:36:30 +02:00
Luke Dashjr
dae0a89d4b assets-attribution: Update typicons to MIT license
stephenhutchings commented 3 Jul 2015, 6:35 GMT:
> Hi Luke, happy for these to be distributed under the terms of the MIT licence.
> Let me know if you need anything further from me.
2015-07-03 06:41:00 +00:00
Wladimir J. van der Laan
56dc70439f
tests: fix txn_clone.py (retry)
There was a stale .pyc file around from before the move. This should
catch all missing modules and finally fix the travis build.
2015-07-02 23:23:29 +02:00
Wladimir J. van der Laan
66e5465773
Merge pull request #6310
177a0e4 Adding CSubNet constructor over a single CNetAddr (Jonas Schnelli)
409bccf use CBanEntry as object container for banned nodes (Jonas Schnelli)
dfa174c CAddrDB/CBanDB: change filesize variables from int to uint64_t (Jonas Schnelli)
f581d3d banlist.dat: store banlist on disk (Jonas Schnelli)
2015-07-02 21:33:09 +02:00
Wladimir J. van der Laan
5a7304b69d Move recently introduced CTransAction::IsEquivalentTo to CWalletTx
CTransAction::IsEquivalentTo was introduced in #5881.
This functionality is only useful to the wallet, and should never have
been added to the primitive transaction type.
2015-07-02 20:57:39 +02:00
Jonas Schnelli
177a0e4914 Adding CSubNet constructor over a single CNetAddr 2015-07-02 20:44:27 +02:00
Wladimir J. van der Laan
3f16971442
tests: fix txn_clone.py
Solve merge conflict of test added in #5881 with #6097.
2015-07-02 20:39:44 +02:00
Jonas Schnelli
409bccfbf5 use CBanEntry as object container for banned nodes
- added a reason enum for a ban
- added creation time for a ban

Using CBanEntry as container will keep banlist.dat extenable.
2015-07-02 20:29:36 +02:00
Jonas Schnelli
dfa174c295 CAddrDB/CBanDB: change filesize variables from int to uint64_t 2015-07-02 20:29:36 +02:00
Jonas Schnelli
f581d3d656 banlist.dat: store banlist on disk 2015-07-02 20:29:36 +02:00
Wladimir J. van der Laan
d6db1157bc
Merge pull request #6362
72b9452 When processing RPC commands during warmup phase, parse the request object before returning an error so that id value can be used in the response. (Forrest Voight)
2015-07-02 20:09:28 +02:00
Wladimir J. van der Laan
d7ada03b8a
Merge pull request #6361
4716267 Use real number of cores for default -par, ignore virtual cores (Wladimir J. van der Laan)
2015-07-02 20:01:04 +02:00
Wladimir J. van der Laan
3203a0832a
Merge pull request #5881
5d34e16 Add txn_clone.py test (Tom Harding)
defd2d5 Better txn_doublespend.py test (Tom Harding)
b2b3619 Implement CTransaction::IsEquivalentTo(...) (Tom Harding)
2015-07-02 19:59:50 +02:00
Wladimir J. van der Laan
987efae1fd
Merge pull request #6133
e617fe2 Fix various warnings (Luke Dashjr)
2015-07-02 19:54:12 +02:00
Wladimir J. van der Laan
726e28643c
Merge pull request #6247
076badb Add getblockheader RPC call (Peter Todd)
2015-07-02 18:53:18 +02:00
Wladimir J. van der Laan
60abba12ff
Merge pull request #6350
70ae43e add tests for the decodescript rpc. add mention of the rpc regression tests to the testing seciton of the main readme. (mruddy)
2015-07-02 13:55:10 +02:00
Forrest Voight
72b9452b1d When processing RPC commands during warmup phase, parse the
request object before returning an error so that id value can
be used in the response.

Prior to this commit, RPC commands sent during Bitcoin's
warmup/startup phase were responded to with a JSON-RPC error
with an id of null, which violated the JSON-RPC 2.0 spec:

id: This member is REQUIRED. It MUST be the same as the value
of the id member in the Request Object. If there was an error
in detecting the id in the Request object (e.g. Parse
error/Invalid Request), it MUST be Null.
2015-07-01 21:55:08 -04:00
Wladimir J. van der Laan
6bcb0a21c5
Merge pull request #6353
5ed1079 Show softfork status in getblockchaininfo (Wladimir J. van der Laan)
2015-07-01 19:37:24 +02:00
Wladimir J. van der Laan
5ed10793c2 Show softfork status in getblockchaininfo 2015-07-01 19:36:17 +02:00
Wladimir J. van der Laan
786ed114c2
Merge pull request #5994
a7b9623 miner: rename UpdateRequestCount signal to ResetRequestCount (Jonas Schnelli)
5496253 add CReserveScript to allow modular script keeping/returning (Jonas Schnelli)
087e65d fix GetScriptForMining() CReserveKey::keepKey() issue (Jonas Schnelli)
d0fc10a detach wallet from miner (Jonas Schnelli)
2015-07-01 18:38:48 +02:00
Wladimir J. van der Laan
47162673c7 Use real number of cores for default -par, ignore virtual cores
To determine the default for `-par`, the number of script verification
threads, use [boost:🧵:physical_concurrency()](http://www.boost.org/doc/libs/1_58_0/doc/html/thread/thread_management.html#thread.thread_management.thread.physical_concurrency)
which counts only physical cores, not virtual cores.

Virtual cores are roughly a set of cached registers to avoid context
switches while threading, they cannot actually perform work, so spawning
a verification thread for them could even reduce efficiency and will put
undue load on the system.

Should fix issue #6358, as well as some other reported system overload
issues, especially on Intel processors.

The function was only introduced in boost 1.56, so provide a utility
function `GetNumCores` to fall back for older Boost versions.
2015-07-01 18:01:16 +02:00
Jonas Schnelli
a7b9623d18 miner: rename UpdateRequestCount signal to ResetRequestCount 2015-07-01 16:09:58 +02:00
Jonas Schnelli
5496253966 add CReserveScript to allow modular script keeping/returning
- use one CReserveScript per mining thread
2015-07-01 16:06:14 +02:00
Shaul Kfir
a651403e09 Add absurdly high fee message to validation state (for RPC propagation) 2015-06-30 15:59:11 -04:00
Jonas Schnelli
087e65def9 fix GetScriptForMining() CReserveKey::keepKey() issue 2015-06-30 21:45:46 +02:00
Jonas Schnelli
d0fc10a844 detach wallet from miner 2015-06-30 21:45:46 +02:00
Wladimir J. van der Laan
da77a6f761
Merge pull request #6354
6e849b8 Ideal release process for Windows detached signing (Micha)
a3ba9a5 gitian: make the windows signing process match OSX (Cory Fields)
2015-06-30 17:56:23 +02:00
Micha
6e849b8309 Ideal release process for Windows detached signing
This is an ideal version of what the release process should look like,
making it more consistent with the OS X process. Some of the changes
described here would need to be made in the descriptors, which is somewhat
beyond what I would feel comfortable doing, not really understanding the signature process in depth.

[skip ci]
2015-06-30 11:22:41 -04:00
Cory Fields
a3ba9a553a gitian: make the windows signing process match OSX 2015-06-30 10:57:14 -04:00
mruddy
70ae43e9b7 add tests for the decodescript rpc. add mention of the rpc regression tests to the testing seciton of the main readme. 2015-06-30 09:45:49 -04:00
Suhas Daftuar
04b5d235f1 Replace sleep with syncing using pings 2015-06-30 09:42:56 -04:00
Suhas Daftuar
6b1066fab4 Ignore whitelisting during IBD for unrequested blocks. 2015-06-30 09:42:56 -04:00
Wladimir J. van der Laan
0564c5b795
Merge pull request #6337
6a4b97e Testing infrastructure: mocktime fixes (Gavin Andresen)
2015-06-29 16:41:29 +02:00
Luke Dashjr
9238ecb417 Policy: MOVEONLY: 3 functions to policy.o:
- [script/standard.o] IsStandard
- [main.o] IsStandardTx
- [main.o] AreInputsStandard

Also, don't use namespace std in policy.cpp
2015-06-26 17:59:10 +02:00
Jorge Timón
627b9deff4 Policy: MOVEONLY: Create policy/policy.h with some constants 2015-06-26 17:59:07 +02:00
Wladimir J. van der Laan
24f24896d6
Merge pull request #6299
4f40716 test: Move reindex test to standard tests (Wladimir J. van der Laan)
36c97b4 Bugfix: Don't check the genesis block header before accepting it (Jorge Timón)
2015-06-26 15:40:59 +02:00
Wladimir J. van der Laan
41076aad0c
Merge pull request #6124
ffd75ad Enable CHECKLOCKTIMEVERIFY as a standard script verify flag (Peter Todd)
bc60b2b Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65) (Peter Todd)
48e9c57 Move LOCKTIME_THRESHOLD to src/script/script.h (Peter Todd)
99088d6 Make CScriptNum() take nMaxNumSize as an argument (Peter Todd)
2015-06-26 14:42:45 +02:00
Wladimir J. van der Laan
5aa34c7944
Merge pull request #6333
b932953 Hardcoded seeds update June 2015 (Wladimir J. van der Laan)
884454a contrib: Add port parsing to makeseeds.py (Wladimir J. van der Laan)
ccd4369 contrib: Improvements to hardcoded seeds scripts (Wladimir J. van der Laan)
2015-06-25 17:07:00 +02:00
Wladimir J. van der Laan
e34a8acd9f
Merge pull request #6233
3e91433 Advance pindexLastCommonBlock for blocks in chainActive (Suhas Daftuar)
2015-06-25 16:36:23 +02:00
Wladimir J. van der Laan
c3f0490a06
Merge pull request #6339
77aeb7c UniValue: don't escape solidus, keep espacing of reverse solidus (Jonas Schnelli)
2015-06-25 14:54:40 +02:00
Jonas Schnelli
77aeb7c964 UniValue: don't escape solidus, keep espacing of reverse solidus 2015-06-25 08:10:08 +02:00
Wladimir J. van der Laan
b9329536cd Hardcoded seeds update June 2015 2015-06-25 08:05:52 +02:00
Wladimir J. van der Laan
884454aebe contrib: Add port parsing to makeseeds.py
Allow for non-8333 nodes to appear in the internal seeds. This will
allow bitcoind to bypas a filter on 8333. This also makes it possible to
use the same tool for e.g. testnet.

As hosts with multiple nodes per IP are likely abusive, add a filter to
remove these (the ASN check will take care of them for IPv4, but not
IPv6 or onion).
2015-06-25 08:05:52 +02:00
Wladimir J. van der Laan
ccd4369a23 contrib: Improvements to hardcoded seeds scripts
- Moved all seed related scripts to contrib/seeds for consistency
- Updated `makeseeds.py` to handle IPv6 and onions, fix regular
  expression for recent Bitcoin Core versions
- Fixed a bug in `generate-seeds.py` with regard to IPv6 parsing
2015-06-25 08:05:33 +02:00
Gavin Andresen
6a4b97e863
Testing infrastructure: mocktime fixes
New, undocumented-on-purpose -mocktime=timestamp command-line
argument to startup with mocktime set. Needed because
time-related blockchain sanity checks are done on startup, before a
test has a chance to make a setmocktime RPC call.

And changed the setmocktime RPC call so calling it will not result in
currently connected peers being disconnected due to inactivity timeouts.
2015-06-24 15:18:55 -04:00
Wladimir J. van der Laan
91389e51c7
Merge pull request #6088
2085895 fundrawtransaction tests (Jonas Schnelli)
21bbd92 Add fundrawtransaction RPC method (Matt Corallo)
1e0d1a2 Add FundTransaction method to wallet (Matt Corallo)
2d84e22 Small tweaks to CCoinControl for fundrawtransaction (Matt Corallo)
9b4e7d9 Add DummySignatureCreator which just creates zeroed sigs (Pieter Wuille)
2015-06-23 12:40:00 +02:00
Luke Dashjr
e617fe2578 Fix various warnings
Found while building on Debian 7
2015-06-23 08:39:57 +00:00
Wladimir J. van der Laan
b77fbe095f
Merge pull request #6303
d08cfc2 gitian: add a gitian-win-signer descriptor (Cory Fields)
2015-06-22 16:16:48 +02:00
Wladimir J. van der Laan
930418c9ae
Merge pull request #6319
88d8525 doc: update mailing list address (Wladimir J. van der Laan)
2015-06-22 13:37:32 +02:00
Wladimir J. van der Laan
e307e130da
Merge pull request #6318
7c2c270 build: comparison tool NPE fix (Cory Fields)
2015-06-22 09:57:45 +02:00
Wladimir J. van der Laan
e4a2642cb4
Merge pull request #6316
b666820 build: Remove -DBOOST_SPIRIT_THREADSAFE (Wladimir J. van der Laan)
2015-06-22 09:54:02 +02:00
Wladimir J. van der Laan
88d8525ca2
doc: update mailing list address
Move from sourceforge to linux foundation.

Also get rid of some other stale mentions of sourceforge.
2015-06-22 09:13:19 +02:00
Peter Todd
ffd75adce0
Enable CHECKLOCKTIMEVERIFY as a standard script verify flag
Transactions that fail CLTV verification will be rejected from the
mempool, making it easy to test the feature. However blocks containing
"invalid" CLTV-using transactions will still be accepted; this is *not*
the soft-fork required to actually enable CLTV for production use.
2015-06-22 00:00:48 -04:00
Peter Todd
bc60b2b4b4 Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65)
<nLockTime> CHECKLOCKTIMEVERIFY -> <nLockTime>

Fails if tx.nLockTime < nLockTime, allowing the funds in a txout to be
locked until some block height or block time in the future is reached.

Only the logic and unittests are implemented; this commit does not have
any actual soft-fork logic in it.

Thanks to Pieter Wuille for rebase.

Credit goes to Gregory Maxwell for the suggestion of comparing the
argument against the transaction nLockTime rather than the current
time/blockheight directly.
2015-06-21 23:56:28 -04:00
Peter Todd
db6047d61b
Take the training wheels off anti-fee-sniping
Now that the off-by-one error w/nLockTime txs issue has been fixed by
87550eef (75a4d512 in the 0.11 branch) we can make the anti-fee-sniping
protection create transactions with nLockTime set such that they're only
valid in the next block, rather than an earlier block.

There was also a concern about poor propagation, however testing with
transactions with nLockTime = GetAdjustedTime()+1 as a proxy for
nLockTime propagation, as well as a few transactions sent the moment
blocks were received, has turned up no detectable issues with
propagation. If you have a block at a given height you certainly have at
least one peer with that block who will accept the transaction. That
peer will certainly have other peers who will accept it, and soon
essentially the whole network has the transaction. In particular, if a
node recives a transaction that it rejects due to the tx being
non-final, it will be accepted again later as it winds its way around
the network.
2015-06-21 23:39:49 -04:00
Cory Fields
7c2c270829 build: comparison tool NPE fix
This should fix the spurious comparison tool failures.
See discussion here: https://github.com/bitcoin/bitcoin/pull/6305

The race fix was cherry-picked on top of the version we're currently using, so
it should be functionally identical otherwise.
2015-06-21 12:12:05 -04:00
Wladimir J. van der Laan
b6668209aa build: Remove -DBOOST_SPIRIT_THREADSAFE
Now that boost spirit is no longer used, `-DBOOST_SPIRIT_THREADSAFE`
doesn't need to be passed to the compiler anymore.
2015-06-21 14:09:34 +02:00
Wladimir J. van der Laan
4f40716dcb test: Move reindex test to standard tests
This test finishes very quickly, so it should be part of the default set
of tests in rpc-tests.
2015-06-21 01:25:22 +02:00
Jorge Timón
36c97b4e5d Bugfix: Don't check the genesis block header before accepting it
This fixes an error triggered when running with -reindex after #5975
2015-06-21 01:24:51 +02:00
Wladimir J. van der Laan
247b91449a
Merge pull request #6262
506bae3 Return all available information via validateaddress (dexX7)
2015-06-19 18:30:58 +02:00
Wladimir J. van der Laan
57539884f2
Merge pull request #6290
57092ed rpc: make `gettxoutsettinfo` run lock-free (Wladimir J. van der Laan)
2015-06-19 17:42:50 +02:00
Wladimir J. van der Laan
7ecdcd99ca
Merge pull request #6307
1c043d5 fix lock issue for QT node diconnect and RPC disconnectnode (Jonas Schnelli)
932687b setban: add IPv6 tests (Jonas Schnelli)
62909f6 fix missing lock in CNode::ClearBanned() (Jonas Schnelli)
2015-06-19 17:32:36 +02:00
Jonas Schnelli
1c043d5672 fix lock issue for QT node diconnect and RPC disconnectnode 2015-06-19 16:32:22 +02:00
Wladimir J. van der Laan
529a44c144
Merge pull request #6301
82e6487 Adding pgp public key for cdecker as requested by @jonasschnelli in bitcoin/gitian.sigs#182 (Christian Decker)
2015-06-19 15:23:13 +02:00
Wladimir J. van der Laan
9005c9165c
Merge pull request #6305
a4d9f95 build: comparison tool swap (Cory Fields)
2015-06-19 14:58:51 +02:00
Jonas Schnelli
932687bc10 setban: add IPv6 tests 2015-06-19 13:51:42 +02:00
Jonas Schnelli
62909f68a0 fix missing lock in CNode::ClearBanned() 2015-06-19 13:31:33 +02:00
Cory Fields
a4d9f95653 build: comparison tool swap
This should be functionally identical to what's in place now. It was built from
be0eef7744

That commit is the same as this pruned commit in TheBlueMatt's repo:
https://github.com/TheBlueMatt/bitcoinj/commit/0f7b5d8

Now we'll be able to trust the line numbers in the stack traces.
2015-06-19 01:52:26 -04:00
Cory Fields
d08cfc2bd7 gitian: add a gitian-win-signer descriptor
This is exactly like the current OSX signing process.

osslsigncode has been patched to detach and re-attach Windows signatures.
The changes can be seen here: https://github.com/theuni/osslsigncode/commits/attach-signature

There's a pull-request open upstream for the changes:
https://sourceforge.net/p/osslsigncode/osslsigncode/merge-requests/3/

This work has been back-ported to the stable 1.7.1 release of osslsigncode, so
that a smaller patch can be reviewed.
2015-06-18 18:17:36 -04:00
Christian Decker
82e6487af8 Adding pgp public key for cdecker as requested by @jonasschnelli in bitcoin/gitian.sigs#182 2015-06-18 17:56:37 +02:00
Wladimir J. van der Laan
40400d53d3
Merge pull request #6272
edbdf88 tests: Extend RPC proxy tests (Wladimir J. van der Laan)
baf0507 Improve proxy initialization (Wladimir J. van der Laan)
2015-06-18 17:53:36 +02:00
Wladimir J. van der Laan
0abfa8a22f
Merge pull request #6158
9d79afe add RPC tests for setban & disconnectnode (Jonas Schnelli)
1f02b80 setban: add RPCErrorCode (Jonas Schnelli)
d624167 fix CSubNet comparison operator (Jonas Schnelli)
4e36e9b setban: rewrite to UniValue, allow absolute bantime (Jonas Schnelli)
3de24d7 rename json field "bannedtill" to "banned_until" (Jonas Schnelli)
433fb1a [RPC] extend setban to allow subnets (Jonas Schnelli)
e8b9347 [net] remove unused return type bool from CNode::Ban() (Jonas Schnelli)
1086ffb [QA] add setban/listbanned/clearbanned tests (Jonas Schnelli)
d930b26 [RPC] add setban/listbanned/clearbanned RPC commands (Jonas Schnelli)
2252fb9 [net] extend core functionallity for ban/unban/listban (Jonas Schnelli)
2015-06-18 16:48:37 +02:00
Wladimir J. van der Laan
cbec57fd71
Merge pull request #6282
0ce30ea fix crash on shutdown when e.g. changing -txindex and abort action (Philip Kaufmann)
2015-06-18 16:40:37 +02:00
Jonas Schnelli
9d79afe9a9 add RPC tests for setban & disconnectnode 2015-06-17 21:40:56 +02:00
Jonas Schnelli
1f02b80253 setban: add RPCErrorCode 2015-06-17 21:40:56 +02:00
Jonas Schnelli
d624167387 fix CSubNet comparison operator 2015-06-17 21:40:55 +02:00
Jonas Schnelli
4e36e9bcc7 setban: rewrite to UniValue, allow absolute bantime 2015-06-17 21:40:55 +02:00
Jonas Schnelli
3de24d7647 rename json field "bannedtill" to "banned_until" 2015-06-17 21:40:55 +02:00
Jonas Schnelli
433fb1a95d [RPC] extend setban to allow subnets 2015-06-17 21:40:55 +02:00
Jonas Schnelli
e8b93473f1 [net] remove unused return type bool from CNode::Ban() 2015-06-17 21:40:55 +02:00
Jonas Schnelli
1086ffba26 [QA] add setban/listbanned/clearbanned tests 2015-06-17 21:40:55 +02:00
Jonas Schnelli
d930b26a26 [RPC] add setban/listbanned/clearbanned RPC commands 2015-06-17 21:40:55 +02:00
Jonas Schnelli
2252fb91cd [net] extend core functionallity for ban/unban/listban 2015-06-17 21:40:55 +02:00
Suhas Daftuar
ae6f957a62 Enable block relay when pruning 2015-06-17 15:37:50 -04:00
Suhas Daftuar
0da6ae2dc3 Do not inv old or missing blocks when pruning
When responding to a getblocks message, only return inv's as
long as we HAVE_DATA for blocks in the chain, and only for blocks
that we aren't likely to delete in the near future.
2015-06-17 15:37:50 -04:00
Wladimir J. van der Laan
9849c663b1
Merge pull request #6280
b19a88b depends: fix Boost 1.55 build on GCC 5 (Jacob Welsh)
2015-06-17 09:09:13 +02:00
Wladimir J. van der Laan
324f20036e
Merge pull request #6286
a3a80c2 remove berkeley-db4 workaround (rion)
2015-06-17 08:58:04 +02:00
Philip Kaufmann
0ce30eaa36 fix crash on shutdown when e.g. changing -txindex and abort action
- fixes #3136
- the problem is related to Boost path and a static initialized internal
  pointer
- using a std::string in CDBEnv::EnvShutdown() prevents the problem
- this removes the boost::filesystem::path path field from CDBEnv
2015-06-16 15:03:50 +02:00
Wladimir J. van der Laan
754aae5148
Merge pull request #6271
60dbe73 New RPC command disconnectnode (Alex van der Peet)
2015-06-16 14:27:27 +02:00
Alex van der Peet
60dbe73016 New RPC command disconnectnode 2015-06-16 14:19:41 +02:00
Wladimir J. van der Laan
a903ad7e9c
Merge pull request #6283
26a639e remove using namespace std from addrman.cpp (Philip Kaufmann)
40c592a make CAddrMan::size() return the correct type of size_t (Philip Kaufmann)
2015-06-16 14:06:59 +02:00
Wladimir J. van der Laan
7fe29d84bd
Merge pull request #6285
72bf90d Fix scheduler build with some boost versions. (Cory Fields)
2015-06-16 13:55:47 +02:00
Wladimir J. van der Laan
57092ed9e7 rpc: make gettxoutsettinfo run lock-free
For leveldb "An iterator operates on a snapshot of the database taken
when the iterator is created". This means that it is unnecessary to
lock out other threads while computing statistics, and neither to hold
cs_main for the whole time. Let the thread run free.
2015-06-16 13:50:38 +02:00
Cory Fields
a794284e61 locking: add a quick example of GUARDED_BY
This was chosen not because it's necessarily helpful, but because its locking
assumptions were already correct.
2015-06-16 04:10:21 -04:00
Cory Fields
2b890dd424 locking: fix a few small issues uncovered by -Wthread-safety
- rpcwallet: No need to lock twice here
- openssl: Clang doesn't understand selective lock/unlock here. Ignore it.
- CNode: Fix a legitimate (though very unlikely) locking bug.
2015-06-16 04:04:02 -04:00
Cory Fields
cd27bba060 locking: teach Clang's -Wthread-safety to cope with our scoped lock macros
This allows us to use function/variable/class attributes to specify locking
requisites, allowing problems to be detected during static analysis.

This works perfectly with newer Clang versions (tested with 3.3-3.7). For older
versions (tested 3.2), it compiles fine but spews lots of false-positives.
2015-06-16 03:59:26 -04:00
rion
a3a80c253c remove berkeley-db4 workaround
"brew install berkeley-db4" appears to be working again.  simplified instructions by removing the berkeley-db4 workaround.
2015-06-15 21:02:29 -07:00
Cory Fields
72bf90d770 Fix scheduler build with some boost versions.
Some boost versions have a conflicting overload of wait_until that returns void.
Explicitly use a template here to avoid hitting that overload.
2015-06-15 16:29:57 -04:00
Philip Kaufmann
26a639e21f remove using namespace std from addrman.cpp 2015-06-15 14:45:19 +02:00
Philip Kaufmann
40c592aa21 make CAddrMan::size() return the correct type of size_t 2015-06-15 14:43:31 +02:00
Wladimir J. van der Laan
edbdf8855d tests: Extend RPC proxy tests
Also test -noonion
2015-06-15 12:45:13 +02:00
Wladimir J. van der Laan
c1fb0e1075
Merge pull request #6274
02a6702 Add option `-alerts` to opt out of alert system (Wladimir J. van der Laan)
2015-06-15 09:57:33 +02:00
Wladimir J. van der Laan
02a6702a82 Add option -alerts to opt out of alert system
Make it possible to opt-out of the centralized alert system by providing
an option `-noalerts` or `-alerts=0`. The default remains unchanged.

This is a gentler form of #6260, in which I went a bit overboard by
removing the alert system completely.

I intend to add this to the GUI options in another pull after this.
2015-06-15 09:53:33 +02:00
Wladimir J. van der Laan
d4565b6080
Merge pull request #6269
c110575 gitian: Use the new bitcoin-detached-sigs git repo for OSX signatures (Cory Fields)
2015-06-15 09:53:04 +02:00
Wladimir J. van der Laan
5ebe7db6d0
Merge pull request #6257
ef2a3de Add paytxfee to getwalletinfo, warnings to getnetworkinfo (Stephen)
2015-06-15 09:39:30 +02:00
Wladimir J. van der Laan
f3d4dbb939
Merge pull request #6276
7d6a85a Fix getbalance * (Tom Harding)
2015-06-15 09:02:38 +02:00
Wladimir J. van der Laan
06818f7145
doc: Add section on plurals to strings policy
Thanks to @pryds for explaining this to me on Transifex.
2015-06-15 08:43:56 +02:00
Josh Lehan
e3cae52538 Added -whiteconnections=<n> option
This sets aside a number of connection slots for whitelisted peers,
useful for ensuring your local users and miners can always get in,
even if your limit on inbound connections has already been reached.
2015-06-14 02:07:15 -07:00
Jacob Welsh
b19a88b2a0 depends: fix Boost 1.55 build on GCC 5
Boost assumes variadic templates are always available in GCC 4.4+, but
they aren't since we don't build with -std=c++11.

This applies the patch that fixed the issue in boost 1.57:
eec8085549

See also: https://svn.boost.org/trac/boost/ticket/10500
2015-06-13 17:02:34 -05:00
Tom Harding
7d6a85ab5b Fix getbalance *
Chance "getbalance *" not to use IsTrusted.  The method and result
now match the "getbalance <specific-account>" behavior. In
particular, "getbalance * 0" now works.

Also fixed a comment -- GetGalance has required 1 confirmation
for many years, and the default "getbalance *" behavior matches
that.
2015-06-12 15:31:01 -07:00
Wladimir J. van der Laan
ab0ec67903
Merge pull request #6209
e059726 [Qt] deselect peer when switching away from peers tab in RPC console (Philip Kaufmann)
7211ada [Qt] replace Boost foreach with Qt version peertablemodel.cpp (Philip Kaufmann)
1b0db7b [Qt] extend rpc console peers tab (Philip Kaufmann)
2015-06-12 16:49:53 +02:00
Wladimir J. van der Laan
8ccc07c077
Merge pull request #6256
65b9454 Use best header chain timestamps to detect partitioning (Gavin Andresen)
2015-06-12 16:44:36 +02:00
Wladimir J. van der Laan
baf05075fa Improve proxy initialization
Simplify and make the code in AppInit2 more clear.

This provides a straightforward flow, gets rid of .count() (which makes
it possible to override an earlier provided proxy option to nothing), as
well as comments the different cases.
2015-06-12 12:41:44 +02:00
Wladimir J. van der Laan
ebab5d3c59
Merge pull request #6266
0cc7b23 Fix univalue handling of \u0000 characters. (Daniel Kraft)
2015-06-12 09:15:26 +02:00
Stephen
ef2a3de25c Add paytxfee to getwalletinfo, warnings to getnetworkinfo 2015-06-11 16:12:34 -04:00
Daniel Kraft
0cc7b2352e Fix univalue handling of \u0000 characters.
Univalue's parsing of \u escape sequences did not handle NUL characters
correctly.  They were, effectively, dropped.  The extended test-case
fails with the old code, and is fixed with this patch.
2015-06-11 12:09:05 +02:00
Jonas Schnelli
208589514c fundrawtransaction tests 2015-06-11 01:03:23 -07:00
Matt Corallo
21bbd920e5 Add fundrawtransaction RPC method 2015-06-11 01:03:23 -07:00
Matt Corallo
1e0d1a2ff0 Add FundTransaction method to wallet
Some code stolen from Jonas Schnelli <jonas.schnelli@include7.ch>
2015-06-11 01:03:23 -07:00
Matt Corallo
2d84e22703 Small tweaks to CCoinControl for fundrawtransaction 2015-06-11 01:03:23 -07:00
Pieter Wuille
9b4e7d9a5e Add DummySignatureCreator which just creates zeroed sigs 2015-06-11 01:03:23 -07:00
Philip Kaufmann
e059726811 [Qt] deselect peer when switching away from peers tab in RPC console 2015-06-11 08:39:08 +02:00
Philip Kaufmann
7211adad85 [Qt] replace Boost foreach with Qt version peertablemodel.cpp 2015-06-11 08:38:02 +02:00
Philip Kaufmann
1b0db7b984 [Qt] extend rpc console peers tab
- add node id, ping wait, whitelisted and common height
- rephrase some labels to make them easier to understand for users
2015-06-11 08:38:01 +02:00
Cory Fields
c110575a92 gitian: Use the new bitcoin-detached-sigs git repo for OSX signatures
Rather than fetching a signature.tar.gz from somewhere on the net, instruct
Gitian to use a signature from a tag in the bitcoin-detached-sigs repository
which corresponds to the tag of the release being built.

This changes detached-sig-apply.sh to take a dirname rather than a tarball as
an argument, though detached-sig-create.sh still outputs a tarball for
convenience.
2015-06-10 17:54:46 -04:00
dexX7
506bae3ac9
Return all available information via validateaddress
`"validateaddress"` omits some information, even in cases where is it available.

The primary motivation is to be able to retrieve redeemScripts, after using `"addmultisigaddress"`, when not all keys are available in the keystore, but the redeemScript actually is.

The output of `"validateaddress"` with this commit:

Keys not available:
```js
validateaddress "n4KWZKx349gdMQGgTnZ8W6WfgSwybkGSK3"
{
  "isvalid": true,
  "address": "n4KWZKx349gdMQGgTnZ8W6WfgSwybkGSK3",
  "scriptPubKey": "76a914fa20d564550b105787f7ce3a9ad7fd9a45cd407088ac",
  "ismine": false,
  "iswatchonly": false,
  "isscript": false
}
```
```js
validateaddress "2N2g2H7gjA8a11g1yKBgh5VTqndyvbnWpBK"
{
  "isvalid": true,
  "address": "2N2g2H7gjA8a11g1yKBgh5VTqndyvbnWpBK",
  "scriptPubKey": "a9146769c19a16c9400b908756e19a4d2afb9e9760e187",
  "ismine": false,
  "iswatchonly": false,
  "isscript": true
}
```

After adding the redeemScript:
```js
addmultisigaddress 2 '["02537357B156A33306A7A014A3748631C59DF405B56F11BA4AA4A3CE81501AF095","02F1FB200390E7864EF4450C07B15988179A57C3CF3A878F668E1070CB615749FE"]'
2N2g2H7gjA8a11g1yKBgh5VTqndyvbnWpBK

validateaddress "2N2g2H7gjA8a11g1yKBgh5VTqndyvbnWpBK"
{
  "isvalid": true,
  "address": "2N2g2H7gjA8a11g1yKBgh5VTqndyvbnWpBK",
  "scriptPubKey": "a9146769c19a16c9400b908756e19a4d2afb9e9760e187",
  "ismine": false,
  "iswatchonly": false,
  "isscript": true,
  "script": "multisig",
  "hex": "522102537357b156a33306a7a014a3748631c59df405b56f11ba4aa4a3ce81501af0952102f1fb200390e7864ef4450c07b15988179a57c3cf3a878f668e1070cb615749fe52ae",
  "addresses": [
    "n4KWZKx349gdMQGgTnZ8W6WfgSwybkGSK3",
    "mmSKNtbYYHRrhTLKiok5TuYrGEs4Y2A4k6"
  ],
  "sigsrequired": 2,
  "account": ""
}
```

All keys available:
```js
validateaddress "n4KWZKx349gdMQGgTnZ8W6WfgSwybkGSK3"
{
  "isvalid": true,
  "address": "n4KWZKx349gdMQGgTnZ8W6WfgSwybkGSK3",
  "scriptPubKey": "76a914fa20d564550b105787f7ce3a9ad7fd9a45cd407088ac",
  "ismine": true,
  "iswatchonly": false,
  "isscript": false,
  "pubkey": "02537357b156a33306a7a014a3748631c59df405b56f11ba4aa4a3ce81501af095",
  "iscompressed": true,
  "account": ""
}
```
```js
validateaddress "2N2g2H7gjA8a11g1yKBgh5VTqndyvbnWpBK"
{
  "isvalid": true,
  "address": "2N2g2H7gjA8a11g1yKBgh5VTqndyvbnWpBK",
  "scriptPubKey": "a9146769c19a16c9400b908756e19a4d2afb9e9760e187",
  "ismine": true,
  "iswatchonly": false,
  "isscript": true,
  "script": "multisig",
  "hex": "522102537357b156a33306a7a014a3748631c59df405b56f11ba4aa4a3ce81501af0952102f1fb200390e7864ef4450c07b15988179a57c3cf3a878f668e1070cb615749fe52ae",
  "addresses": [
    "n4KWZKx349gdMQGgTnZ8W6WfgSwybkGSK3",
    "mmSKNtbYYHRrhTLKiok5TuYrGEs4Y2A4k6"
  ],
  "sigsrequired": 2,
  "account": ""
}
```
2015-06-09 17:21:27 +02:00
Gavin Andresen
65b9454503
Use best header chain timestamps to detect partitioning
The partition checking code was using chainActive timestamps
to detect partitioning; with headers-first syncing, it should use
(and with this pull request, does use) pIndexBestHeader timestamps.

Fixes issue #6251
2015-06-08 16:34:58 -04:00
Peter Todd
076badb60f
Add getblockheader RPC call
Alternative to getblock that works even when the block itself has been
pruned, returning all available information.
2015-06-05 17:07:58 -02:30
Suhas Daftuar
3e9143386a Advance pindexLastCommonBlock for blocks in chainActive
This prevents an edge case where a block downloaded and pruned
in-between successive calls to FindNextBlocksToDownload could
cause the block to be unnecessarily re-requested.
2015-06-04 13:00:26 -04:00
Suhas Daftuar
bfc30b3437 Ignore unrequested blocks too far ahead of tip 2015-06-03 11:36:04 -04:00
Mark Friedenbach
ef8dfe41d1 Prevent block.nTime from decreasing
Under some circumstances it is possible for there to be a significant,
discontinuous jump in a node's clock value. On mining nodes, this can
result in block templates which are no longer valid due to time-based
nLockTime constraints. UpdateTime() is modified so that it will never
decrease a block's nLockTime, thereby preventing such invalidations.
2015-05-27 14:03:11 -07:00
Tom Harding
5d34e16d3a Add txn_clone.py test
Does what the old txnmall.sh test did.

Creates an equivalent malleated clone and tests that SyncMetaData
syncs the accounting effects from the original transaction to the
confirmed clone.
2015-05-11 17:09:14 -07:00
Peter Todd
48e9c57cf0 Move LOCKTIME_THRESHOLD to src/script/script.h
Will now be needed by CHECKLOCKTIMEVERIFY code.
2015-05-09 04:33:49 -04:00
Peter Todd
99088d60d8 Make CScriptNum() take nMaxNumSize as an argument
While the existing numeric opcodes are all limited to 4-byte bignum
arguments, new opcodes will need different limits.
2015-05-09 04:29:47 -04:00
Daniel Kraft
835c12291e Clean up change computation in CreateTransaction.
Compute the change directly as difference between the "requested" and
the actual value returned by SelectCoins.  This removes a duplication of
the fee logic code.
2015-05-03 10:56:48 +02:00
Tom Harding
defd2d55b7 Better txn_doublespend.py test
Remove reliance on accounting "move" ledger entries.  Instead,
create funding transactions (and deal with fee complexities).

Do not rely on broken SyncMetaData.  Instead expect double-spend
amount to be debited from the default "" account.
2015-04-11 19:05:54 -07:00
Tom Harding
b2b3619262 Implement CTransaction::IsEquivalentTo(...)
Define CTransaction::IsEquivalentTo(const CTransaction& tx)

True if only scriptSigs are different.  In other words, true if
the two transactions are malleability clones.  In other words,
true if the two transactions have the same effect on the
outside universe.

In the wallet, only SyncMetaData for equivalent transactions.
2015-04-11 19:03:58 -07:00