Commit graph

10476 commits

Author SHA1 Message Date
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
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
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
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